Hello

I am newish to proggraming in c++ and hope to learn to proggram some game's. From the book i have it is more or less buisnesslike

is there a good book to point me in the right direction for game programing

Recommended Answers

All 12 Replies

lean to crawl before you try to walk and run. Before you even think about game programming take a year or so (depending on how fast you learn and how much time you are willing to spend at it) to learn the language. If you already bought an introduction to C or C++ language, start on page 1 and read thoroughly, doing all the questions at the end of the chapters. There are lots of books at the book store or online at www.amazon.com -- make sure the one you get is Introduction to ... -- and NOT "C++ for Dummies" !

ah i want a direction. i still plan on reading the current book
and to think in code
but i want to know where to turn
when this has been accomplished

>but i want to know where to turn when this has been accomplished
Why? It's a ways away before you really start working on game development, and very likely that you'll find something else that you absolutely love in the interrim to change your direction. It's better to simply have an idea of what you want to do, and set yourself concrete steps for the near future. That way you won't have to constantly modify/refine your path as you learn more. You'd be surprised at that strange ideas some people have about programming until they actually learn how to do it.

Game programming requires you to have nice base in whatever language you choose. Even if you dont know everything, if you know the basic concepts and a working knowlwdge of various APIs then things will be much easier for you.

If you are just beggining to program, you will soon be frustrated as you will not be able to understand loads of info you might find and the work you do wont be very effiicent and you may end up reinventing the wheel and unessearly doing code, which might have been done in a much better way if you knew the language properly.


If are going for C++, you should know the basic concepts like, functions, structs, classes, templates, STL. Operator overloading,dynamic mem management, then Win32 api, basics of using OpenGL or DX or SDL, OpenAL or FMOD.

Take my advice, learn C++ properly. If you have a book, finish it from start to finish. Do a few simple projects (in console) which involve concepts like file handling, link lists, vectors.This will give you a feeling of designing a program.

Then move on to using the Win32 API. You will have a few headaches to start with, but you should get along fine.

Then you are ready, helps if you have a little knowledge of STL, to start looking for game programming info.

Then you have just taken a step into a new dimension, where your way for thinking will change so much, because game programming in an advanced application of programming.


I would estimate you will take around a year to get C++'s basics. You might read the book faster but programming is quite an art and it takes experiance before you will be able to work fast, and code well.


I've been game programming for around 2 years now, and I've learnt a lot, maybe 20 times, that of what I learnt when I was learning C++.

I wish you best of luck, and be patient.

Thank you !

lean to crawl before you try to walk and run. Before you even think about game programming take a year or so (depending on how fast you learn and how much time you are willing to spend at it) to learn the language. If you already bought an introduction to C or C++ language, start on page 1 and read thoroughly, doing all the questions at the end of the chapters. There are lots of books at the book store or online at www.amazon.com -- make sure the one you get is Introduction to ... -- and NOT "C++ for Dummies" !

LOL Man I wish I would have found that out about C++ for Dummies :cheesy::cheesy::cheesy: when i got it a while ago.

yeah its bad

actually theres a thread about good c++ books somewhere on daniweb.. i will find the link

and very likely that you'll find something else that you absolutely love in the interrim to change your direction. It's better to simply have an idea of what you want to do, and set yourself concrete steps for the near future.

Yes, it is funny how that works sometimes; originally when entering college for software engineering I was sure I wanted to work for the D.O.D., then after a year or two I was very attracted to database design and was sure that is what I would do. Now I am developing for a video game company-- I never really ever considered this as a future path or even thought I would want to do it (I was lucky to sort of just fall into it and was hired), but I love it. It's a great job, challenging, and quite fun.

It is vitally important to work one's way up after first learning the fundamentals no matter the field of study but it seems especially so in the Sciences.

sharky_machine

Yes, it is funny how that works sometimes; originally when entering college for software engineering I was sure I wanted to work for the D.O.D., then after a year or two I was very attracted to database design and was sure that is what I would do. Now I am developing for a video game company-- I never really ever considered this as a future path or even thought I would want to do it (I was lucky to sort of just fall into it and was hired), but I love it. It's a great job, challenging, and quite fun.

The same has happened with me. Wanted to go in Electronics, landed up in Computer Science...and now enjoying it.;)

It is vitally important to work one's way up after first learning the fundamentals no matter the field of study but it seems especially so in the Sciences.

Amen to that....

ah i want a direction. i still plan on reading the current book
and to think in code
but i want to know where to turn
when this has been accomplished

FireNet is completely right... learn the basics, because that's what it all comes down to in the end. You're focusing on game development, which is actually a good thing, because games often utilize many or most of a computer's functionality (i.e. graphics, sound, networking, data management, etc.), so you've got to be pretty well versed in everything a computer can do.

I'm also involved in a game development project. I come from a background in programming (C++, Visual Basic, SQL, and a few others), but the direction my project is going is pressing me more toward Linux software development rather than Windows, so it's a whole new ball game for me. I'm also the defacto network and server administrator for this project, but that's a whole different post. I can, however, tell you my reaction to the realization that there's a bunch of stuff I need to learn... I threw books at the problem.

What you need to do is break "game development" down into it's basic parts. First and foremost, you've got to live, eat, breath, sleep C++. That's the most basic element of the whole thing. Everything builds on a good, solid foundation of C++. The next element of a computer game is the visual element. Games can exist without sound, they can exist without network interaction, but they cannot exist without graphics. Learn OpenGL. Learn your 2D or 3D modeling software. Next would be sound... I'm not sure what the current state-of-the-art sound library is (I'm sure there are tons of people on this site who can help you with that), but you've got to know it. Finally, learn your operating system's networking libraries. We all know the big thing right now is networked games. You'll definately want to be on that wave!

Also, don't rely on websites to get you by. Buy books. They're organized, always handy (what if your network is down and you still need to get some coding done?), and gosh-darnit, they look great on your bookshelf next to your magic eightball. :cheesy: A lot of them (especially if you can get ahold of some college textbooks) have some really good exercises that will help you apply what you've learned.

Well, I believe I've been long-winded enough (I tend to be). I wish you luck on your game development journey. What's nice is that, if you do end up changing your focus away from games, you will have learned a bunch of very useful stuff through the experience. All the knowledge you will have gained can be very easily applied elsewhere. And if you do happen to bang out a game or two, make sure you keep us all up-to-date and hook us up with alpha copies!

people always slam them but i like the sort of books that offer tidbits of advice and inside tips in order to back up other books of the learn through doing style

people always slam them but i like the sort of books that offer tidbits of advice and inside tips in order to back up other books of the learn through doing style

There's definately an argument for the potentcy of each. I'm a big fan of the very cut-down, tool-box type books. I guess I've been programming long enough to know the syntax of C++, so most of what I look for in a book is the how-to on the functions and methods of different API's.

No slam here, though. I figure you should use whatever it is that gets the job done. Hell, I'd use a Magic Eightball if it could tell me function parameters for the networking toolbox in Linux!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.