C/C+ Game Programmer Beginner

Started by
18 comments, last by Xai 17 years, 10 months ago
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
Advertisement
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.
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
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.
There is no such language as "C+".
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.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
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...
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.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
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.

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.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
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

This topic is closed to new replies.

Advertisement