Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
Recommend me a (game) programming book

T-hawk Wrote:I don't have any particular recommendations, but do have a point to throw in here. "Game programming" is monstrously too wide a discipline to cover in one book. "Game programming" includes at least these sub-disciplines (for non-Windows wonks, replace the DirectX stuff as platform appropriate):

- Basic DirectX, like displaying and moving sprites and text
- 3D object and model creation, texturing, and animating
- Basic Direct3D/OpenGL, display that model
- 3D geometry processing, move that model around and light it
- 3D object manipulation, detect collisions and implement the results
- 3D camera movement and controls

- DirectSound
- Basic I/O programming, like controller input and state storage to a savegame file
- Basic tools programming, like installer and patcher
- Networking, also integration with Steam et al
- Rules design
- Rules development and balancing (very distinct from design; guess which Civ 5 has and doesn't)
- UI design, which is very distinct from:
- UI programming, all sorts of APIs to draw text and buttons and dialogs
- AI which includes a host of sub-disciplines, from pathfinding up to the grand strategic level

The bolded parts depends on what kind of game you're working on. A 2D Tetris don't need any of those bolded parts, for example.

My recommendation is to start with 2D games with simple rules (asteroids, tetris, pacman, etc), then when you've mastered some of the above concepts (input handling, drawing, etc), start making bigger games.

I started with an Asteroids clone, Asteroids of Beyaan. The one I linked is actually my fourth iteration. I shudder in horror every time I see my first version. It took me 9 months to do the first version, I was learning the concept of gameplay mechanics and programming at the same time. The fourth iteration took me about three months to do, with better physics, graphics, input, more features, etc.

Now that I'm fairly confident in my programming skills (I'd label myself as an advanced programmer, and I work full-time as a professional developer), I decided to embark on the huge task of making a Master of Orion-esque game, Beyond Beyaan. I started it over a year ago. I work on it in my free time. The low level stuff (UI classes, input handling, event handling, etc) are almost done, so I can finally start implementing game mechanics.

As for books, I realized that most of them have half of their contents covering DirectX or OpenGL, then finally jumps into whatever topic they're teaching. And I found that I have serious difficulties programming Directx by myself, so I decided to use a third-party 2D engine (http://www.tape-worm.net), and this saved me a lot of time and trouble. I'd recommend that instead of books, you pick an engine and use it. That way, you skip the low level programming, and get results faster. Instead of slaving away at a 2D bitmap rendering function for a month, you can just set an engine up, get it render the same bitmap in under 10 minutes.
Reply



Forum Jump: