Slashdot Mirror


Getting Started with Game Development?

Knight2K writes "Recent articles about casual gaming have given me the itch to try my hand at writing some games. I haven't written any since my college projects, and they never followed any formal game design practice or patterns (unless it was unconsciously). I'd like to start just by writing simple board games and card games that my family liked to play that have no digital counterparts as far as I know. Eventually I might want to branch out and do 3D work. I mostly work in Java right now, but I'd re-learn C++, if needed. My question: what books would you recommend to a beginning game developer? Good introductions to game theory would be welcome, but also language or platform-specific suggestions are useful as well: OpenGL, Symbian, C++, Java, J2ME, etc."

6 of 105 comments (clear)

  1. Not a book, but... by Dial-Up · · Score: 5, Informative

    Well, this isn't a book, but just as good. The Game Programming Wiki is a great resource for game programming in several major languages. There's also a very active message board that is extremely helpful.

  2. Screw books by RootsLINUX · · Score: 5, Insightful

    I have never been a fan of learning how to do something by reading about it. The only way to learn good game programming, IMO, is to actually try doing it. That's how I started with the game in my sig and its been working so far. While not a book, may I recommend you take a look at the Simple DirectMedia Layer (SDL) library? It's free, cross-platform, and is really easy to learn to use. It's written in C, but there are extensions to it in other languages. Good luck!

    --
    Hero of Allacrost, a FOSS RPG for *NIX/*BSD/OS X/Win
  3. SDL & C/C++ on Linux may be a good start by green+pizza · · Score: 4, Interesting

    What is your target? Do you want to write a game for a Windows PC? If so, then maybe you should look into C# and Direct3D. If you want a cross-platform game that you can compile on Windows, Linux, BSD, and Mac OS X, then look into SDL and OpenGL.

    You might want to start here if you're going the cross-platform route:
    http://www.libsdl.org
    http://andrew.textux.com/tutorials/tut1/tutorial1. html
    http://www.kekkai.org/roger/sdl/

  4. Start Easy and Produce something. by xMonkey · · Score: 5, Informative

    My #1 suggestion would to get yourself a copy of Flass MX or something simular.

    You number one roadblock will be graphics.

    Flash is an excellent way to quickly prototype game ideas. And the more you use it the faster you can prototype ideas.

    I think game design NEEDS to be fluid. You need to get something working play it, find out whats fun about it and whats not fun. Determine what works and doesn't work.

    Prototype everything first. Then when you have a solid design of the game play and mechanics, you can start something a bit more serious.

    And more than likely your prototypes will be acceptable flash versions, and you might actually have a finished product in Flash.

  5. For OpenGL.. by BigZaphod · · Score: 4, Informative

    Possibly the best way to get started with OpenGL is the NeHe Tutorials. The articles are often written in a C or C++ style but most of them have been ported to tons of other languages and platforms. Check the ends of the articles for links to source for whatever platform you want to work with.

  6. SDL and patience :^) by swerk · · Score: 4, Informative

    I've written a small game that some folks find addictive:
    http://www.nongnu.org/tong

    It's from an old idea I had and was looking for an excuse to teach myself SDL, which some buddies and I had chosen for a much more ambitious game we're still working on.

    We chose SDL primarily because it is cross-platform. I use and develop under GNU/Linux myself, but I want all my windows-running buddies to be able to play my games. OSX and even DreamCast porting is trivial, as SDL happily runs on those platforms and many more.
    http://www.libsdl.org/
    SDL is very well documented and very slick to use, even to a newcomer (so long as you do have some programming experience). I'm a C and C++ guy, and SDL works with those natively, but if you wish to stick with Java or any other such language there are appropriate bindings. I highly recommend the libraries SDL_image and SDL_mixer as well, for boosting image and sound loading support. (I love being able to have my game just load up .png and .ogg files directly... it just feels all warm and fuzzy :^)

    I subscribe to master Miyamoto's game design theories, which basically amount to making your game into its own little playground, running on its own rules and rewarding the player for being clever. Keep the controls simple; a person should be able to pick up and play. Now, my game Tong is pretty rough at first, so I maybe don't follow this thinking very well in practice, but the philosophy is an implementation of the old "Keep It Simple, Stupid" that you've heard so often and I think it's very sensible. Especially for budding game developers.

    Even with a well-documented API and a clear idea of what you want your game to be, it's going to take a while. Get a demo of "stuff happening on-screen" with mock-up graphics to get a feel for how you're going to render things, then trash the whole thing and start building up all the pieces you need. If your strengths are with object-oriented design, figure out all your game entities in terms of objects that all inherit things like how to draw themselves. If you're more of a procedural programmer, and even if not, figure out your main game loop, what needs to happen every cycle and what can be called out in special cases.

    Take your time, let it be a pet project. The last thing you'd want is to extinguish your interest by making it a serious commitment. Starting small and building up is an obvious and good approach.

    Best wishes! Long live the independant game developer!