Sign in to follow this  

C/C+ Game Programmer Beginner

This topic is 4206 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Introduction: Greetings, my name is Brian and I am interested in designing games. I have had a knack for imagination and had some great ideas, but I understand that I need to start small first, seeing as how I don't want to be jump started in college to learn these languages, especially since in the long run going to a 90,000 total "Game Design" school will be expensive. I have a few questions that I am sure most of you can help with but before you post I'd like you to follow a guide line. Guideline: When you post please be sure that you post the actual information I am requesting if you do not have any of the information I am requesting, simply do not post. If it is related but not what I need send a private message. Requested Information: 1. List of free and payable (put -free and -pay next to each suggestion) tutorials regarding C, C+, and C++. Example: Gametutorials.com - Pay (some -free) 2. List of (GOOD) cost effective books that are not entirely huge that will help me learn C, C+, and C++. I plan on learning the way that the replies say is the most effective rather its C++ to C or reverse. 3. The Compiler I should use with these books and tutorials, and making sure it will work. Also the information of if it is free, cost, discounts, and if it will really will work, also version I should get. 4. List of Article and References regarding C, C+, and C++ that could help in the final goal of learning these languages. Additional Information: I realise that to be a Game Programmer math has got to be your strongest skill, well its not my strongest skill but I'm no artist, but I am quite confident that I can learn the math skills given time and help from tutors, mentors, and or teachers. I would like a list of the math skills I will need to learn to game program, and also things I should learn. Additionally any information that could help me get better at the math skills I'll need would be appreciated. Sincerely, Aesieru

Share this post


Link to post
Share on other sites
Quote:
Original post by Delsana
2. List of (GOOD) cost effective books that are not entirely huge that will help me learn C, C+, and C++. I plan on learning the way that the replies say is the most effective rather its C++ to C or reverse.


First off, there is no such language as C+. There are C, C++, and C#. All of these languages are quite different, so I would suggest picking just one to start with. I also recomend that that language is *not* C. A good C++ book is Beginning C++ Game Programming. It's available on Amazon for 17 bucks.

Quote:
Original post by Delsana
3. The Compiler I should use with these books and tutorials, and making sure it will work. Also the information of if it is free, cost, discounts, and if it will really will work, also version I should get.


For this, you should download Visual Studio 8. It is the best, easiest to use IDE out there. The Express Edition is available free from Microsoft.

Quote:
Original post by Delsana
I would like a list of the math skills I will need to learn to game program, and also things I should learn.


It really depends on what kind of game programming you intend on doing. If you are going to make a text based game, for example, I don't think you'd need any. Assuming you plan to make a 3D game, a college-level linear algebra course would be great.

Share this post


Link to post
Share on other sites
hello,
read this
It's about a workshop in C++ that is now.
I think it's a good way too learn C++, because you can ask question too tutors and other students learning C++ at the same time. (It's free.)

amoK

Share this post


Link to post
Share on other sites
Thank you for the replies, I will now respond according to what was posted.

Why do you suggest I not start at C and then go to C++? C+ is a simple origination of C that is a bit more advanced, and yes it actually does exist according to my research.

The Workshop requires I buy a book that I am not to sure on, examples of why the book is good would be appreciated. Also other references for books are also appreciated such as what to do after that.

Share this post


Link to post
Share on other sites
I recommend you start with C++, cause C# makes you you too soft and C makes you want to
blow it up.Actually C++ makes you want to blow yourself up :P.
List of books:
1.ANSI C++ in 21 days ( much recommended for beginners)
2.Introduction to 3d game programming with directx 9.0
3.Advanced 3D Game Programming With DirectX 9
4.The C Programming Language By K&R ( as a refrence)
5.[Wordware] 3D Math Primer for Graphics and Game Development
6.O'Reilly - Physics for Game Developers

for specfic help try google.com
for compilers i use VS7 , i didin't really try others , but as long as your using windows this
should suffice.try microsoft.com

yes , you should have a bit higher than high school level math, if you want to survive.
physics and mechanics are pretty indespensible too.

check http://www.gamedev.net/reference/start_here/
good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by Delsana
Why do you suggest I not start at C and then go to C++? C+ is a simple origination of C that is a bit more advanced, and yes it actually does exist according to my research.


If C+ is a language, it is not a common one. There are thousands of programming languages, so I guess it was rather ignorant of me to claim C+ does not exist. It is not on Wikipedia's list, so that makes me think it is quite obscure.

I did not necesarily reccomend starting at C++. I just reccomended not starting at C. C is just a bad programming language for beginners.

  • C has weak typing allowing hard to find errors

  • It does not offer many abstractions, so programmers often have to take a lower-level approach to a problem than in other languages.

  • It has a very small standard library

  • In C it is easy to make memory errors like overflowing buffers.



In a higher level language like C# or C++, you can avoid these things. Note that C++ will still allow you to work at this low level, so that may not be great for a beginner either...

Share this post


Link to post
Share on other sites
sometimes c++ is refered to as c+ . you have to be carefull when saying stuff
like that around programmers , they tend to be very aggressive(they will eat you alive)when the subject is thier programming knowledge :P.

Share this post


Link to post
Share on other sites
Quote:
Original post by Delsana
Why do you suggest I not start at C and then go to C++?


Because it is unnecessary, and because quite a few practices that are common in C shouldn't be used in C++. To exaggerate a bit, if you wanted to learn italian, you would not start by learning latin.

[quote]C+ is a simple origination of C that is a bit more advanced, and yes it actually does exist according to my research.[/quuote]

No. It does not. The precursor to C++ was called "C with classes". The only book I have that even discusses it is "The Design and Evolution of C++" by B. Stroustrup. While over 10 years old, that book is still a worthwhile reading if you want to learn about why C++ is the way it is today.

Quote:
The Workshop requires I buy a book that I am not to sure on, examples of why the book is good would be appreciated.


I do not fully agree with the book that was chosen either. It does contain errors, and I don't like the order in which it presents topics. I do not like its reliance on C strings over the use of std::string. I do not like its use of C arrays and dynamic allocation rather than std::vector. In fact, it does a very poor job of teaching the use of the standard C++ library. I have argued at length with jwalsh about these issues but, in the end, it is his decision. At least we'll be there to correct those errors and provide warnings and extra information.

Quote:
Also other references for books are also appreciated such as what to do after that.


My preference: "Accelerated C++" by A. Koenig and B. Moo, "C++ Common Knowledge" by S. Dewhurst, "The C++ Programming Language" by B. Stroustrup and "The C++ Standard Library, a tutorial and reference" by N. Josuttis.

That should be more than enough to teach you proper use of the language and standard library. A book on algorithms and data structures is also a good thing to have and to study. I like R. Sedgewick's "Algorithms in C++" series.

As for what to do next, that depends on your goals, and is not something I can figure out for you. I am generally of the opinion that if can't figure out the answer to that question by yourself, you should probably not try to become a programmer. You need to learn the things you will need to write the programs you want to write. In most cases, it is obvious if you search the net a bit.

If you are programming on Windows, you may find studying the Win32 API useful. If you want to make games, learning to use DirectX, OpenGL, SDL or whatever else is certainly a good idea. If you're going to do network programming, learn to use BSD sockets. If you're going to do some parallel or distributed programming, learn MPI, as well as your platforms multithreading API -- and how to use it. There are plenty of books on software engineering you may find interesting.

Share this post


Link to post
Share on other sites
for a start you can go at cone3d.gamedev.net,read grounds up series,then SDL tutorials and then you will can programed simply but playable game.only noooooob hint.
i started as this.
and codeblocks with mingw is great IDE and free

Share this post


Link to post
Share on other sites
Quote:
Original post by Delsana
Greetings, my name is Brian and I am interested in designing games.


In that case, you quite likely should not be looking up how to *program*, and almost certainly not in C or C++ (maybe C#).

Real world game development teams do, in fact, have designers who do no actual programming (unless you count writing really simplified scripts according to careful directions that one of the programmers gave them) and no real art (except mockups to try to convey their ideas to the real artists). But it is certainly a skilled position: you have to understand good user interface, have original ideas *and the ability to flesh them out as far as the programmers and artists ask you to*, and have excellent communication skills.

And indeed, C+ really doesn't exist. I've seen the term used to describe badly written C++, in some contexts (because C++ is almost but not completely backwards compatible with C, you can embed a lot of C stuff into C++, but this is normally a bad idea, because C++ provides tools to perform the tasks in a way that's much, much easier to understand and far less error-prone).

Share this post


Link to post
Share on other sites
You confused me even more, congrats ;P

I have many original ideas, and seeing as how I've played games my entire life I know what games do and don't have and what the community does and doesn't want and what the community needs and doesn't need. From my research the ideas for my games would probably blow away the top leading games these days, my entire life my imagination has added onto the things that I plan on releasing currently I've been documenting all my ideas and description and story plots for a game that has to do with a race predating humanity, and that humans came from, it also uses alot of real world knowledge such as why there are no aliens on other planets, why the world had constructions that were "Man Made' when humans didn't exist back then. Its all very unique and like I said I'm no artist so I wanted to learn how to program so I could atleast still have the chance to make the games I wanted. Additionally yes I suppose I could be a story boarder, but from what I've asked of game designing industries they are usually just the artists and the industry themselves who gives you a stack of ideas, and makes you build upon them.

If I set my mind to it I will definitely learn to program, and these days Game Design and Programming uses C, C++, and DirectX somewhat.

You have given me some confusing replies, and so many books have been recommended that I'd go insane from getting them all and reading them all. So lets try to simplify it.

The book "C++ in 21 Days" I will get seeing as how you have a workshop on it and it could offer instruction for helping me out.

I also saw another beginning book that was recommended.

What are the books that the majority recommends that could help after having some beginning books, exercises are always helpful, and you've still yet to give me a good place for Tutorials.



Sincerely,



Aesieru

Share this post


Link to post
Share on other sites
IIRC "C++ in 21 Days" is pretty bad. They may have made it better in the countless editions it's been since I saw, but if they still maintain the same philosophy to teaching, then no.

"Accelerated C++" if you only want one.

Share this post


Link to post
Share on other sites
See this is the problem, you all say buy a book someone else says don't buy it, are there any books you "ALL" recommend that way I can know what actually will work, money is of the question here, wasting it is not my preference.

Share this post


Link to post
Share on other sites
That's because everybody has different opinions, u won't find the "perfect" book. Some like this book, some like another... If you're that worried about overspending you shouldn't be buying one on the internet and go straight to a shop where u can go through each book and see if you like what they teach and how. Or maybe try and find out what books they use at the college you want to go to.

Share this post


Link to post
Share on other sites
Since Fruny and _goat have both recommended Accelerated C++ I'd say that's your book. They're both people who know what they're talking about.

So, from my point of view:

  1. Tutorials
    1. (free) GameDev.net C++ tutorials - you can follow it through and do the various exercises even if you don't own the book.

  2. Books
    1. Accelerated C++ - not read it personally, but as I say above, a recommendation from Fruny and _goat is good enough for me.
    2. The C++ Standard Library, A tutorial and reference (Nicolai M. Josuttis) - A bit heavyweight but definitely recommended if you can afford it.

  3. Compilers
    1. (free) Microsoft Visual C++ 8.0 Express Edition.
    2. (free) MinGW GCC 3.4.2.

  4. Articles & References
    1. Herb Sutter's Guru Of The Week articles.
    2. Herb Sutter & Andrei Alexandrescu's Conversations articles (not all available online - you may have to use www.archive.org to access some of the articles).
    3. Pretty much anything written by Herb Sutter, Andrei Alexandrescu or Scott Meyers. Others would probably add to the list, but these are my most-read authors.

Σnigma

Share this post


Link to post
Share on other sites
Quote:
Original post by Code Fusion
I recommend you start with C++, cause C# makes you you too soft and C makes you want to blow it up.Actually C++ makes you want to blow yourself up :P.


If the OP is a pure beginner, then I'd recommend C# instead of C++. C++ syntax tends to be rather weird and obscure, and the language itself is quite frustrating for a beginner.

I made a post in my journal about what language you should use in order to learn programming, and I must say that C++ is probably the "most worstest" choice you can make (the best, IMHO, is something along the line of the Qbasic interpreter). It is confusing, error prone, and the heavy syntax might occlude some important programming concepts. If a choice has to be made between C++ and C#, C# clearly wins.

Regards,

Share this post


Link to post
Share on other sites
Alright then, thanks I'll go get Accelerated C++ the workshop one because you guys are doing a workshop on it, and see about the compiler. Thanks, expect to see me around more soon.

Share this post


Link to post
Share on other sites
Quote:
Original post by Delsana
Alright then, thanks I'll go get Accelerated C++ the workshop one because you guys are doing a workshop on it, and see about the compiler. Thanks, expect to see me around more soon.


The workshop is built upon Teach yourself C++ in 21 Days (5th Edition).

Accelerated C++ is another book (allegedly better).

Regards,

Share this post


Link to post
Share on other sites
I always recommend to any beginner that they buy 2 books ...

1 books should be a leanring / teaching book that walks you through the subject teaching your a little at a time, in an ordered fasion (like the 2 books just mentioned).

The other books should be a reference. A book who's main purpose is to contain the details that get left out of other books. A book which you use by going to the table of context and index to look up answers to specific questions. Examples of reference type books are "The C++ Langauge" by Bjarne Stroustroup and "The C++ Standard Library" ... both published by Addison Wesley. You don't have to get a reference immediately if money matters to you, but I highly recommend you plan to get one in 1-6 months as you grow a little and your questions become able to search for answers yourself.

In addition to asking for recommendations, I recommend you go to Amazon.com and search for a recmmended book. Don't worry about 4 stars, or 5 stars, and ignore single glowing reviews or major complaints by individuals. Just skim the comments and avoid anything with less than 3 or 3.5 stars.

Share this post


Link to post
Share on other sites

This topic is 4206 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this