Beginners Page

Started by
4 comments, last by Quixote 16 years, 10 months ago
"I want to learn to make games, how do I get started and what do I need? Welcome to the joy that is game development and thank you for choosing GameDev.net as your first stop. You should find everything you need to get you started right here at the GameDev.net beginners starting point (warning - the articles there are getting obsolete). Also see the articles and resources section, where you can find tutorials and articles which cover all aspects of game development, from music to game design and more." Regarding this section on the sticky- in particular, the warning about articles getting obsolete, could someone be kind enough to tell me which parts of that page are obsolete? That page seems like a great starting point, but I don't want to go studying something that I ought not to. Thanks for the help. edit- Found that in the Beginner's Faq, not a sticky, but same deal.
Advertisement
I'm afraid most of the old "Start Here" page is pretty much obsolete. Some bits are still valid, but it's probably not a good place to start any more.

There has been a lot of discussion about how to replace it, but with all the other stuff going on behind the scenes, it's not been a high priority of late.

What, in particular, do you want to know?
Sean Timarco Baggaley (Est. 1971.)Warning: May contain bollocks.
I see, that's a shame. Well I, like many others, was looking for a good starting point to go from ultra-beginner to high-class game developer, ideally without just coming onto the forums and asking "where do I start?". From the old "start here" page and from poking around elsewhere I decided that a good first move would be to build a good foundation in programming. Specificly, I am reading The Waite Group's "New C Primer Plus, Second Edition" and had been planning after that on moving onto the three books listed first on the "start here" page: "C++ Primer, Third Edition," "Programming Windows, Fifth Edition," and "Code Complete, Second Edition."

Would these still be a decent place to get started, or is my hard work only going to fill me with obsolete misinformation? (I already have these books, by the way, so I'm rather hoping to hear they're still good, heh...)

Thanks for the help
Quote:Original post by QuixoteFrom the old "start here" page and from poking around elsewhere I decided that a good first move would be to build a good foundation in programming.

Hmm, keep in mind that this site is probably a bit programmer-centric on the whole.
There are plenty of non-programmers in the games industry, and plenty of people who don't know anything about programming. So learning programming isn't necessary. (But of course, it can never hurt, and if programming is the route you want to take, go for it)

Quote:
Specificly, I am reading The Waite Group's "New C Primer Plus, Second Edition" and had been planning after that on moving onto the three books listed first on the "start here" page: "C++ Primer, Third Edition," "Programming Windows, Fifth Edition," and "Code Complete, Second Edition."

Would these still be a decent place to get started, or is my hard work only going to fill me with obsolete misinformation? (I already have these books, by the way, so I'm rather hoping to hear they're still good, heh...)

I suppose the books would still give you relevant information about the languages in question (and the Windows API).

But C is the absolute worst language you could possibly choose to start with. Even C++ is a better starting point, and that's saying something.

If you want to learn programming, you should pick a language that lets you focus on learning programming, and doesn't bog you down with unnecessary complexities and weird bugs and cryptic error messages.

Python or C# are common suggestions for beginners around here. Both are easy to pick up and get started with, and are straighforward enough to allow you to actually focus on learning programming; that is, on actually expressing problems and their solutions in code.

However, the books you mention will probably come in handy at a later stage, so don't throw them away [grin]

*If* you really want to start with C/C++, at least do yourself the favor of going with C++. You don't have to learn or use its more advanced features, to begin with, you can treat it as C with a few of the weirder restrictions removed.
Quote:Original post by Quixote
I see, that's a shame. Well I, like many others, was looking for a good starting point to go from ultra-beginner to high-class game developer, ideally without just coming onto the forums and asking "where do I start?". From the old "start here" page and from poking around elsewhere I decided that a good first move would be to build a good foundation in programming. Specificly, I am reading The Waite Group's "New C Primer Plus, Second Edition" and had been planning after that on moving onto the three books listed first on the "start here" page: "C++ Primer, Third Edition," "Programming Windows, Fifth Edition," and "Code Complete, Second Edition."

Would these still be a decent place to get started, or is my hard work only going to fill me with obsolete misinformation? (I already have these books, by the way, so I'm rather hoping to hear they're still good, heh...)

Thanks for the help


Careful: although they're closely related, C and C++ aren't the same. C is an older, much simpler language. C++ added a whole rake of complexity to C and, while technically compatible, one should be wary of learning both languages at the same time as it's very easy to conflate the two.

Personally, I'd recommend a domain-specific language as a starting point, if only because it'll get you making simple games much more quickly than is the case with a general-purpose language like C or C++. The key is to learn programming first. Languages like BlitzMAX or DarkBasic are very good starting points precisely because you'll learn to write code and make your first, broad brush-strokes.

C++, on the other hand, is like learning to paint with a pin. It takes an awfully long time and a lot of patience to paint one single, tiny dot of colour at a time.

I recently posted a sort of FAQ on this kind of "Which programming language should I use?"-type question here, should that be of interest. It covers what programming is and explains the different types of programming languages.

*

All that said, I don't know you well enough to be able to tell exactly how well you'll do if you start with C or C++. Since you've already bought the books, and assuming you insist on starting with one of them, I'd start with the "C Primer" book and work your way through that.

Read "Code Complete" along with the "C Primer" book as it's primarily about how to code in general, rather than being specific about languages. Its precepts can be applied to any programming language and it will teach you some good habits. Better to get those habits nailed down early than have to unlearn bad habits later on.

Don't get too bogged down by details. Write simple quiz games. Maybe add a text adventure to your list. Once you're comfortable with C, move on to the C++ book and "Programming Windows". That's when you'll be able to throw some graphics around. However, bear in mind that it'll be a while yet before you're hurling graphics around the screen with ease and you WILL need more books.

I recommend looking at a book on either DirectX or OpenGL if you're hell-bent on teaching yourself how to build your own graphics engine. If you're more interested in the higher-level stuff like AI and gameplay, look at using a pre-built graphics engine instead. You might also consider a higher-level domain-specific tool like Unity or Torque. Both do require programming skills, but nothing like as much as if you were writing your own code from scratch.


*

The important thing to note is that this is a long, hard journey which begins with a very steep climb. Once you've reached the top, you'll find it's still mostly uphill, but it does get easier as you get more experienced.

Good luck!
Sean Timarco Baggaley (Est. 1971.)Warning: May contain bollocks.
Wow. First of all I'd like to express my amazement at the depth and constructiveness of the responses I got. Thank you guys :)

Anyway, I'm not insisting on C/C++ by any means. The impression I had gathered was that C++ is the language I'll be using for games someday, and it's easier to learn if I've learned C first. If that's not the case, that's fine. I have a very "do whatever it takes" attitude about this, and I won't insist on using the wrong books just because I bought them.

Honestly, I haven't found C to be really painful or limiting yet, and I'm definately not opposed to programming as a whole. In fact, I'm finding it really fun and I think I have a knack for it (not to sound like a newb who thinks he's hot stuff or anything). But hey, no point in devoting myself to one path before checking out the alternatives, so I'll definately explore those other languages mentioned here, and probably get back to C/C++ at a much later date when I find these new ones to be worlds easier.

Thanks again for your help guys.

This topic is closed to new replies.

Advertisement