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."

105 comments

  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
    1. Re:Screw books by BigZaphod · · Score: 1

      I second the notion of just doing it (as I posted elsewhere in the parent thread). I also just wanted to chime in with my support for SDL as well. SDL is a wonderful platform for learning game programming as well as just messing around with OpenGL or 2D in general. SDL is not only available for several languages, it has a ton of plugins that do all sorts of things for you while adhering to an SDL-like API. This makes it very easy to add sound effects, do networking, draw text, etc. Much fun.

    2. Re:Screw books by stevey · · Score: 2, Interesting

      I agree that just doing it is best.

      I started looking at the SDL Wiki example page, and after looking over the code and browsing the game programming wiki I just started coding.

      My first game, and first use of SDL is mousetrap - the graphics suck, but at least one person liked it.

      SDL really was a pleasure to work with, and suprisingly easy to get started with.

      Now I'm working on a more graphical platform game.

    3. Re:Screw books by Eideewt · · Score: 1

      I agree completely. The best way to learn to make games is just to do it. I recommend starting out with a scrolling shooter type of game, since they're pretty simple to write. You don't have to make your characters stand on the ground and not walk through walls and such. Make simple games first, until you get the hang of mapping controls to screen movements in an effective way, making enemies seek the player just right, and all the other fundamental tasks involved in constructing a game. The most important thing is to get some stuff moving around on the screen as soon as you possibly can. Writing games often seems much harder than it really is. I haven't worked with SDL, but I've had a good experience with Allegro (http://www.allegro.cc/).

    4. Re:Screw books by ZephyrXero · · Score: 1

      I would also suggest using OPAL (based off ODE) if you ever need physics. SDL will handle pretty much everything else. There are also some pretty nice pre-built engines like Ogre and Crystal Space. There are alot of 2D ones... Whatever you code in, make sure it's multiplatform. C/C++ is good because you can compile it on just about any OS/machine and it's fast. Python's also pretty nice, but it's not quite as fast as C. For a simple card game or something it should be fine though.

      --
      "A truly wise man realizes he knows nothing."
    5. Re:Screw books by jericho4.0 · · Score: 1
      "C/C++ is good because you can compile it on just about any OS/machine"

      That was the theory. In the 60's. In the 80's it was Java, and that hasn't quite worked out as well as hoped, either.

      "Write once, debug everywhere." Get used to it.

      Oh. And I heartily agree with your suggestion of Python, but it is far slower than C. But its "glue language" facility makes it easy to recode bottlenecks in C.

      While we're advocating; Objective-C rocks. Anybody who knows C should spend an afternoon learning Obj-C (that's all it takes!). It's the simple C we all love + objects, as compared to C++ massiveness.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    6. Re:Screw books by Anonymous Coward · · Score: 0

      Except C was created in 71 by extending B. And C++ was created in 83 (http://www.intap.net/~drw/cpp/cpp01_03.htm). And it can be compiled anywhere you have a C/C++ compiler. Java, from 1991 (http://ei.cs.vt.edu/~wwwbtb/book/chap1/java_hist. html), is what you are talking about when you say "debug everywhere" because it's not compiled, but interpreted, and thus any given interpreter might not work on another platform like the programmer had it working in his particular environment.

    7. Re:Screw books by Anonymous Coward · · Score: 0

      I did the same thing, just jumped right in and started coding. I used Pygame (http://www.pygame.org/), which is a Python wrapper around SDL thats cross platform. You can even use py2exe or py2app to make game installers for computers that don't have python installed. There's a very active mailing list and plenty of good examples in the documentation.

    8. Re:Screw books by Tim+Browse · · Score: 1

      "Screw books" is insightful? Jesus.

      Those who do not study history are doomed to repeat it.

    9. Re:Screw books by Kell_pt · · Score: 1

      While I agree that hands on experience is important, do not underestimate the power of educating yourself. Writing a game might be about programming, but developing a game isn't.

      Let's consider you're writing a multiplayer game, consider a MUD (or even an MMORPG), which is something I'm confortable with. You'll have to understand issues like:
      - Psychology (Character progression curve, interest):
      How fast does a character have to develop itself in order to maintain interest. What is the breakeven point for challenging progression and boring progression? You'll want a bit of maths. For instance, knowledge on how to plot a negative exponential distribution curve will help you balance the game. Understanding that stair-stepping (levelling, titles, etc ) is usually better than proportional progression in terms of feeling the effects of "achievement" is another important issue.
      - Economy (Resource drains, gameplay rewards):
      New resources are brought into the world every instant, usually by the simple fact that NPCs drop items and money behind. How to avoid the world getting rich? What mechanics are inplace to counter this and maintain Archimedes law?
      - Physics:
      If you're writing anything 3D, you'll want to have a firm understanding of simple physics and be friends with our old friend Newton (velocity, acceleration, force). I suggest visiting ODE and check out their library.


      In the end, what you'll want to attack is GAMEPLAY. To make the game fun and pretending to be realistic (while actually being cinematic).

      Here two mistakes I have commited myself while developing for an mmorpg, to illustrate another point:

      Problem: Expecting players to develop their Horsemanship skill in order for them to use better horses (war horses for instance). The less skill they had compared to the required skill to ride the horse, the more likely they were to fall off the horse.
      Result: An outcry. Eventually I realized most people wanted to be able to ride them horses just for the looks of it.
      Solution: You would only be thrown off-horse if under a stress situation (eg, combat or running at top speed). Otherwise, we'de assume people were in control enough to parade with their horses.
      Final result: Both kinds of players satisfied.


      Problem: Macroing. People would let their characters standing and doing stuff, just to raise their skills.
      1st attempt: Banning macroing - obviously didn't work.
      2nd attempt: Make it easier to obtain a skillcheck (a successful skill raise attempt), but then for a period of time, you wouldn't be able to learn. This makes lots of sense, and made raising a skill less of a random thing. People stopped bothering leaving their characters to macro and started caring a bit more about going to play. Many (those who actually played and not just macroed) still complained that it wasn't fair that a part of the time wasn't being rewarded.
      3rd attempt: yield larger skill rewards for things that require the player to actually be in control, like combat yielding more experience in aggressive-filled areas you couldn't recall from (leaving a character macroing in there would result in certain death).
      Final result: The combination of all these measures reduced macroing just for resource gathering characters (miners, lumberjacks) and craft professions. Each of these had a different approach. Understanding that macroing was a sign of a game with not enough interaction was fundamental to dealing with it, and generating interest in the game aswell.


      All this to say that many of the final solutions came from reading and trying to understand people's frame of mind. I got many insights from numerous humorous articles on the web that tried to depict the stereotypes of players. None of this came from programming itself. Surely not all games are that demanding in terms of understanding players, but the bottom line is, developing a game has as much to do with programming as building a wood house

      --
      "I don't mind God, it's his fan club I can't stand!" E8
  3. Just Do It (tm) by BigZaphod · · Score: 3, Insightful

    I toyed with this myself. In my experience, it isn't the technology that's hard. Simple games like you're talking about aren't much different from any other apps out there, so just dive in and do it in whatever language you want to use. It doesn't take some kind of special training to code a card game if you already know how to do GUI programming.

    The hard part, IMO, is the extra stuff like graphics and sounds. Unless you're talented in such things, making a game look and sound good is a real problem. It is especially troublesome if you don't know anyone who can do the artwork and is willing to just toy around with you for free. Good artists are expensive and games need to look good or most people will pass right over them.

    The only technology that is really hard is the 3D stuff due to all of the math and such. However, there are so many libraries and engines out there (many free and open source) that most of that isn't an issue anymore and once again you're back to the art and gameplay being the hard part.

    Just do it. If you run into problems, there's always Google. The best way to learn what you will need to know is to get started now and discover it on your own - that way you will not only know what doesn't work, but you'll also know *why* and that's an important element that can often go missing if you try to do it the "right way" from the beginning.

    1. Re:Just Do It (tm) by elhedran · · Score: 1

      The hard part, IMO, is the extra stuff like graphics and sounds. Unless you're talented in such things, making a game look and sound good is a real problem. It is especially troublesome if you don't know anyone who can do the artwork and is willing to just toy around with you for free.

      From the post:I'd like to start just by writing simple board games and card games that my family liked to play

      Graphics for simple board games and cardgames are free. most of what is in the Gnome Games are LGPL and as for playing cards, try typing 'playing cards' + whatever image format your looking for into google. I'd suggest svg for high res cards.

      Now as for graphics for more advanced games, well yes,

      Good artists are expensive and games need to look good or most people will pass right over them.

      Amen. Very, very true. I can code up a generator of generic tiles (and have done so, v.old code at gasnippets.sf.net) but after a certain res, or adding things like buildings still requires a degree of artistry. Its not long before you find that its not from the IT department that good games are made, but from the English and Art Departments. Thats why I think Open Source coders might achieve better games by focusing more on making it easy for artists and writers to make Open Source games rather than make the entire leap themselves. Pygaming for instance. Afterall, good coders are expensive too and yet there is code.

  4. If you're into DirectX9... by Anonymous Coward · · Score: 0

    you might find Game Coding Complete, by Mike McShaffry useful. I'm not very familiar with Java, so this may be incorrect, but in my experience C++ is the way to go for 3D graphics, and I do my sprite engines in it as well. If you're into OpenGL, I can't really help much, but I have seen some very cool stuff by my friends in OpenGL.

    I hope that helps.

  5. 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/

    1. Re:SDL & C/C++ on Linux may be a good start by theoddbot · · Score: 3, Informative

      There's also pygame which is a python interface to the SDL/OpenGL stack.

      Makes it easy to write some cool little games :)

    2. Re:SDL & C/C++ on Linux may be a good start by redink1 · · Score: 2, Informative

      The problem with using C# and DirectX is you're requiring the user to have the .NET Framework and (I believe, not 100% sure) DirectX 9 installed.

      And if the user has dial-up, then expecting them to download a 20 MB+ pre-requisite will probably turn a significant percentage of your potential audience away.

      Blah, while attempting to find some sort of estimate of how many PC's have the .NET Framework installed (no dice), I stumbled upon a possible solution to the .NET Framework problem: .NET Framework Linking, which basically includes all of the required .NET libraries in the executable itself. That example seems expensive ($5000 to $10000??), but there might be a free way of doing it somewhere.

    3. Re:SDL & C/C++ on Linux may be a good start by Vraylle · · Score: 1

      Granted, but after a typical development time span (1-2 years for a small indie game), what will be the market penetration of .NET and DX9? If you've installed a new game over the last year, you probably have DX9. If you run XP, you probably have .NET. In two years this will be even more true, making this issue moot.

      --
      Mutant Freaks of Nature: "Frighteningly Addictive"
    4. Re:SDL & C/C++ on Linux may be a good start by Anonymous Coward · · Score: 0

      Something about this sentence:

      Thinstall creates a stand-alone application that runs without the .NET Framework in as small as 2.7MB for a simple Hello World

      seems horribly wrong to me.

  6. 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.

    1. Re:Start Easy and Produce something. by nb+caffeine · · Score: 1

      FlashMX is expensive. I personally use Torque2d from Garagegames. Its in its "early adopter" stage, but its coming along nicely, and is usable enough for me. there are other 2d game engines out there (for people who are more interested in making games than writing the more boring parts of game engines). I forget their names at this moment. Several are free. If you went the t2d route, branching into garagegames' 3d engine would be simple (they share the same roots for their code base)

      --

      "Something's wrong with you...and I hope we never do meet again." - Deftones When Girls Telephone Boys
  7. 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.

    1. Re:For OpenGL.. by BigZaphod · · Score: 1

      heh.. as I checked the link to the site I took a glance and suddenly found myself learning something new... how about that? :-) Ok, this is a mostly pointless comment, but I think it illustrates the usefulness of NeHe quite nicely!

    2. Re:For OpenGL.. by The+boojum · · Score: 2, Informative

      I'd also suggest the red book as a companion/reference. The OpenGL consortium's site also has some some documentation and tutorials (e.g. the spec downloadable in PDF form.)

  8. 48 hour competitions by Anonymous Coward · · Score: 1

    You don't have to start with them but they are good challenges and will probably help you feel more confident about your skills. You want to be able to build a skeleton game quickly so that there's something to play, not a case of "at some point in the future..." Forcing the time pressure will make you really seriously consider which pieces of technology are essential and which pieces aren't.

  9. Game Production vs Game Design by dacaffinator · · Score: 3, Insightful

    Programming a game and designing a game are two quite seperate disciplines. If you are interested in making a small game you'll probably be doing both.

    Typically a game is designed on paper before any coding starts. Once the game design document is fairly complete a technical design document outlining the games implementation is written. Even for a small game, defining what your game is before you try to code it is an important step. That said there is nothing wrong with doing quick prototypes of gameplay ideas before you commit to something.

    You game design document might list what platforms you intened to target and your technolgy choice should be influenced by that.

    DirectX limits you to Windows only, SDL is great but not hardware accelerated (I think there are work arounds) but that might not matter for your target audience and platforms.

    For some sample game design documents and a list of good books on the subject try http://www.ihfsoft.com/index.htm

    Out of the books listed there I highly recommend Game Architecture & Design.

    1. Re:Game Production vs Game Design by Anonymous Coward · · Score: 0

      The guy wants to code some small games for a hobby and you're babbling about "target audience and platforms".

      Sheesh!

    2. Re:Game Production vs Game Design by dacaffinator · · Score: 1

      He doesn't say anything about coding games as a hobby. He does quote a number of articles on the phenomena of casual games, so I think in the long run perhaps he is interested in making a commercial game.

      If you are intersted in finishing a game either as a hobby or as a commercial product, it's a good idea to have a plan

  10. 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!

    1. Re:SDL and patience :^) by CloudDrakken · · Score: 0

      tong is a most excellent game 10/10.

    2. Re:SDL and patience :^) by Evangelion · · Score: 1


      If you check the install folder, you'll find that most of that is taken up by the soundtrack in .ogg format.

  11. Blatant Plug, but on Subject by Xaroth · · Score: 2, Interesting

    While my project is still in its beginning stages, you may wish to take a look at Improbable Drive. The basic concept is that I'm going through the game development process following formal techniques for project management, and documenting things as they go along.

    Everything's based on a CCL license, so you're (mostly - see site for details) free to take any part of the process and alter it to suit your personal needs.

    The Project only started a couple weeks ago, so I'm still in the project specification stage. The first milestone (Initial Specification document) is already complete, and I'm well on my way to getting the next one done (a full high-level plan of what needs to be done, and where future milestones are going to sit.)

    Is the whole thing overkill for such a small project involving a single coder? Of course! But, that's really half the point - the project is small enough that the basic principles I'm exploring can be understood by anyone coming into it.

    For small, personal projects like what you're describing, you may not want to go to the lengths that I'm going to, but it might prove helpful to see what sorts of steps need to be addressed that are commonly forgotten about until it's too late (sound design, for one).

    And, of course, it's not too late to add your own $0.02 (US) to the project's design, as I'm soliciting input via the forums on the site.

  12. OpenGL Superbible by ValiantSoul · · Score: 2, Informative

    Against some people's ideas, books can be a great way to learn (especially because you don't have to keep switching between programs, just keep the book on your lap). I like the OpenGL Superbible (ISBN 0672326019 or linky) despite the name pissing me off.

  13. Good introduction to game theory! by MrDomino · · Score: 3, Interesting

    [...] Good introductions to game theory would be welcome, [...]

    You and a partner commit a crime, and are arrested. In the interrogation room, you learn that the two of you will each go to jail for 2 years if neither of you says anything; however, if you testify against your partner, you'll get off free while he ends up with 6 years. If both of you confess, you both go to jail for 4 years. What do you do?

    You are playing a game where you are given $50, and then asked whether you would like to take it as is, or flip a fair coin. If you make the latter choice and turn up heads, then your total amount will be doubled to $100; if you turn up tails, then the amount will be halved. Do you take the $50, or take your chance with the coin?

    You appear on a game show where, at some point, you are told to pick one of three doors. Behind one of these doors is a prize; behind the other two, nothing. You pick a door. The host then declares that he will open one of the empty doors. Having done this, he offers you a chance to switch to the other, single remaining door. Do you switch, or do you stay?

    1. Re:Good introduction to game theory! by Quill_28 · · Score: 1

      Nice questions, though the 3rd will turn into a flame war.

      The 2nd seems very obvious, maybe I missed something.

    2. Re:Good introduction to game theory! by cant_get_a_good_nick · · Score: 1

      1) prisoner's dilemma, nice. I first heard this talking about morality, weird to know the moral choice was to not admit to your crime.
      2) expected value for coin flip > 1, always take it ((50% * +50) + (50% * -25))
      3) flame wars...

    3. Re:Good introduction to game theory! by spectral · · Score: 1

      Thank you mr. nash.

      1) in one instance this is pointless, it's only if you can all learn from your mistakes that the probability wins out. Better to stay silent, usually.
      2) I don't know the answer to this one, I suspect that you attempt to double, but being in this category of 'things that dont make immediate sense', you're probably better off staying.
      3) Always stay. you now have a 2/3rds change of being right, as opposed to 1/2 (or is it 1/3rd) if you switch.

      So, did I pass your game? ;)

    4. Re:Good introduction to game theory! by spectral · · Score: 3, Informative

      of course then I go and screw up #3. I should have said always switch, since you had a 1/3rd chance of being right when you chose your original guess, leaving a 2/3rds chance that you were wrong. Now the problem is reduced to two choices.. so you'd think that you'd have 1/2 chance of being right, but you don't.. the 2/3rds never went away, it just compressed down on to one door, so you should pick that.

      this site explains it better than I can.

    5. Re:Good introduction to game theory! by JavaRob · · Score: 3, Funny

      1) Prisoner's dilemma: It's not really probability (since the other guy isn't deciding randomly) but... Don't confess. If you do, and your buddy *doesn't*, you are out of jail immediately but you probably have only 6 years left to live. You're risking 6 years if he confesses, but you can hope the same fear will shut him up too.

      2) Easy one -- flip! Half the time your total drops $25, the other half it goes UP $50. If you keep playing you'll make out better than just sticking every time.

      3) Don't go on this game show. If you pick the right door, sure, you get a prize, but you'll also get a lot of publicity, your relatives and old friends will pop up out of the woodwork asking for money, and you may pick up a stalker or two. If you pick the wrong one you will be forever haunted by it. You'll wake up in the night covered in sweat, shouting "No, I said DON'T change, DON'T change!!"

    6. Re:Good introduction to game theory! by DingerX · · Score: 2, Interesting
      f both of you confess, you both go to jail for 4 years. What do you do?

      Get the DA to agree, in writing to grant you immunity before you rat out your buddy.

      If you make the latter choice and turn up heads, then your total amount will be doubled to $100; if you turn up tails, then the amount will be halved.

      Easy: turn up heads. Flip it to your hand, and if it's tails, quickly slap it on your wrist, insisting it was "part of the flip". The other guy doesn't have any experience with how you flip coins.

      Do you switch, or do you stay?

      say, "well Monty, I'd like to here from the audience on this one". As their shouting their insipid answers, look at the two doors: which one is against the wall, and which one has acreage of studio space behind it? Note the light leakage from camera lights behind one, and the mysterious cables running that way. Finally, if you're male, like me, use your keenly-tuned ability to detect female pheremones to determine behind which door the missing 3-4 game show hostesses are. There's no guarantee the prize will be Monty's Hog Farm, but at least the prize will be.
    7. Re:Good introduction to game theory! by UncleAwesome · · Score: 1

      Only the first problem pertains to game theory. The 2nd problem is a probability/statistic problem and is a crippled version of the Envelope Paradox. The third problem is another probability problem known as the Monty Hall problem. It can turn into a game theory problem if the host is able to decide whether or not to offer the switch.

      --
      Blah Blah Tacos
    8. Re:Good introduction to game theory! by Anonymous Coward · · Score: 0

      > look at the two doors: which one is against the wall, and which one has acreage of studio space behind it? Note the light leakage from camera lights behind one, and the mysterious cables running that way.

      All the doors had the same amount of space behind them on that show -- it was shot on a large sound stage. All the rooms had lighting that didn't come on until the door opened.

  14. Pygame. by Zangief · · Score: 2, Interesting

    www.pygame.org

    The perfect way of starting a simple game.

    1. Re:Pygame. by suttree.com · · Score: 1

      Yes, spot on. If you're a Java programmer already then hopping over to Python isn't going to be huge jump. I'm surprised at the number of people suggesting SDL in here but I guess I shouldn't be- it's well documented and performs fast enough for anything you'll want to do.

      Plus, if I can do it, then you should have no problem :)

  15. How about Flash? by breon.halling · · Score: 3, Insightful

    I know much of Slashdot's audience can't stand Flash, but I've had quite a bit of experience with it over the past five years -- I was a Flash game developer -- and I've got to say, ActionScript has become o very powerful language. Don't be fooled by its name: It's not a scripting language. It's an entirely object-oriented similar to Java and C#. You should feel right at home with it.

    The upside is a very rapid development phase: you could bang out a prototype in a couple of hours, depending on complexity. It's also an almost-ubiquitous platform: With the exception of *nix (of which I know very little, and as such refrain from commenting), the player is reportedly installed in 90% of all browsers.

    The does-side is that you have little-to-no control over lower-level functions, such as memory-management; no direct disk access outside of 'Flash cookies'; and absolutely no access to a user's video card. It's also quite an expensive application -- it starts at $499.00 USD for the standard version.

    Quite a number of amazing games have been developed using Flash, most notably (IMHO) Alien Hominid, which, ironically, has been turned into a full-fledged console game.

    That's just my two cents, at any rate.

    --
    "Yeah, well, Dracula called and he's coming over tonight for you and I said okay."
    1. Re:How about Flash? by tcopeland · · Score: 2, Informative

      > ActionScript has become o very powerful language

      Right on, and with the addition of a good open source component framework, it's only getting better. MTASC + ActionStep == good times.

    2. Re:How about Flash? by suttree.com · · Score: 2, Interesting

      Flash is a good alternative, but just make sure you use Actionscript 2. The IDE is poor so use your own wherever possible.

      What about Flash? is a great paper on wiritng games in Flash, from a programmers perspective.

      The real advice I'd give once you've decided what tools to use, is to finish the project. Games aren't easy to write as they end up in play testing and bug hunting like any other app so put in the hours and finish off the game. If you never do it again at least you have a working game.

  16. I agree, but here's another approach. by nobodyman · · Score: 1

    The projects that the poster wants to work on sound like more of a showcase of gameplay rather than graphics. So, it might not be necessary to dive into linear algebra and x86 assembly just yet ;-)

    Here's the tough part: I can't stand the majority of design book. I've read a few (and skimmed/browsed dozens), and they mainly seem to be essays written by game designers on what games they do/dont like. Interesting, but imho they didn't equip me with any tips/trick/knowledge that could I could actually use. I've heard that Rules of Play is good at defining what makes good gameplay (there's virtually no mention programming languages or hardware). In fact, many of the design studies are simple board-games. However, some people have called it it too academic.

    I'd stick w/ Java for now, and find a book on java game development. It'll make it easier to get your design to reality, and port it to c++/directx later on. Java is slower, but it "feels like" c++ so porting wont be as bad as porting a VB or flash game.

  17. Best advice: Don't! by AtariEric · · Score: 3, Funny

    Hire an already existing and out of work game programmer to program your game. We need the money!

    --
    Don't trust any concentration of power.
  18. Start here. by Anonymous Coward · · Score: 2, Informative

    Start Here. Go there, read and do what it says.

    And FYI, I'm resisting the urge to make snide remarks about the naivety of your comments. You state that you're ernestly going to try "making some games" (if you manage ONE coherent game I'll be impressed), and that you enthusiastically want to make 3D games (but appear to be scared of C++).

    In the words of Yoda: Try not. Do. Or in this case, "after asking on Slashdot, try some of the suggestions".

    Learn from games you play. You've obviously played a computer game before. Take one that's similar to the game you think you want to make. Write down all the things that you do in that game and what you think the game has to do to support that action.

    (ie: you click "new game", the board re-initializes and sets up the game state. You try and move a piece, the game checks to see if it's a valid move. You win the game, the game somehow detected that condition. You've got a high score, the game knows this and stores it somewhere).

    Write this down for a game that you know, then try to change it into the game that you want to make. Then expand each section with detail and keep adding more and more game features while keeping everything coherent. You'll soon figure out how complex (or simple) your game will probably be.

    Great program design begins on paper. A great implementation can come later when you've got the broad strokes figured out. (Unless it's an organic design (which is often unavoidable in live projects where you can't afford to break something) - in which case, welcome to hell).

    One of the first things that is beaten into 1st year computer science college students is that you should not cling to any one language. You should grow to the point where you can easily pick up any language thrown at you (the specific advanced knowledge later coming with experience).

    FYI, there are decent free C++ tools and libraries available for Windows, you don't have to use whatever Microsoft tries to push on you.

    With your Java background you might want to try messing around with Proce55ing (a very good prototyping tool) to solidify some of your ideas.

    And of course, break the rules when it suits you.

    1. Re:Start here. by Anonymous Coward · · Score: 0

      In the words of Yoda: Try not. Do.

      Do, or do not. There is no try.

    2. Re:Start here. by Anonymous Coward · · Score: 0
      And FYI, I'm resisting the urge to make snide remarks about the naivety of your comments. You state that you're ernestly going to try "making some games" (if you manage ONE coherent game I'll be impressed), and that you enthusiastically want to make 3D games (but appear to be scared of C++).
      "Resisting"? You have failed.
  19. Splashdamage by AutopsyReport · · Score: 1
    Here's a good start for you. Download the Enemy Territory Source Code here, and start tinkering with the code.

    This will give you an excellent platform to start developing games from. You can dabble in gameplay, graphics, sound, AI, and so forth in a proven game. And heck, if you break it, you can always download it again :)

    Writing your own modification is probably the easiest way to get into game development, for the simple fact that it is extremely popular and there's a large knowledge base to support your efforts.

    --

    For he today that sheds his blood with me shall be my brother.

  20. Use BlitzMax by Anonymous Coward · · Score: 0

    Try BlitzMax -- it compiles for Windows, Linux and OS X.

  21. Don't forget... by Vraylle · · Score: 1

    OpenGL, SDL, DirectX, 3rd party engines, etc. are all well and good...but what about PHP? Particularly with AJAX, a whole new world of possibility exists. We're working on a RPG that does just this. While not graphic heavy, it does look nice and is amazing snappy even over a 28.8k connection. And there's no download.

    --
    Mutant Freaks of Nature: "Frighteningly Addictive"
    1. Re:Don't forget... by ciroknight · · Score: 1

      Agreed. The invention of AJAX will bring a new era to web gaming; flash games where you can actually save state on server basically. When SVG comes to maturity, we'll see a lot of the lower class game citizens being reimplemented here.

      Personally, I'd love to see a web version of Nethack, just to see it done. Or better yet, games like the early Final Fantasy series. To me, those games represent when gaming was actually fun and not all about eye candy or competition, it was the story that drew you in, got you addicted, and hours later, it was what you talked to all of your friends about (if you were a geek like most of us here).

      --
      "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
    2. Re:Don't forget... by Vraylle · · Score: 1

      Our game is in a sort of early Final Fantasy style, but think more Wasteland. Still one of my favorite games.

      --
      Mutant Freaks of Nature: "Frighteningly Addictive"
    3. Re:Don't forget... by iwan-nl · · Score: 1
      I think we've got a Buzzwords victim here.

      I was writing Flash based interfaces which interacted with the server "AJAX-style" (ie. without page reloads, just sending xml to the perl backend) around 2000, long before anyone ever heard of "AJAX" except for the Greek hero and the Dutch soccer team.

      In other words, "AJAX" is just a new name for a paradigm which has been used by Flash developers for many years, using actionscript instead of javascript.

      To avoid flames: I'm not a Flash developer anymore. I'm a Java programmer now :P

      --
      I'm trying to improve my English. Please correct me on any spelling/grammar errors in this post.
  22. Torque 2D by startled · · Score: 3, Informative

    If you're not already used to programming in 3D, it can take way too much time to ramp up, find an engine that works how you want, understand it, and so on and so forth. Writing a 3D engine is also a massive task, and will probably kill your interest before you get around to actually writing a game.

    2D is a nice way to go: it's a lot more fun getting so much more bang for your buck, without nearly as many content hassles either.

    One cheaply available 2D engine that comes with source is from the good people at garage games, called Torque 2D. It's got a decent scripting language, and nice enough C++ code. If you don't want to re-learn C++ right away, you can accomplish quite a bit with only the scripting language.

    There are probably some other nice 2D engines out there as well, so you can look before you buy. However, I'd recommend picking one and starting from there: it'll save you a ton of work, and you're much more likely to actually get something done.

    One other possibility: I made a funnish GBA game in my spare time a while back. It just took a few weekends (and a flash linker from Lik-Sang), and the help of a couple friends. I never finished it, but it was a reasonable demo. GBA dev is slightly tougher than 2D dev with an existing engine, but the libraries out there make it really not too much worse.

    1. Re:Torque 2D by Anonymous Coward · · Score: 1, Informative

      The popcap framework is totally free, and supports both 2d and 3d

      http://developer.popcap.com/

  23. Brackeen: Developing Games in Java by Hakubi_Washu · · Score: 1

    Surely not inexpensive, but it does a very good job of showing how to implement games in Java, including 3d-rendering...

    The Author's Website (Includes demo-project and source codes to all chapters)

    I'm not affiliated with this in any way :-P

    1. Re:Brackeen: Developing Games in Java by Fjornir · · Score: 1, Troll

      Amazon says $35.47 -- sounds pretty inexpensive to me, bozo.

      --
      I want a new world. I think this one is broken.
    2. Re:Brackeen: Developing Games in Java by Hakubi_Washu · · Score: 1

      When I bought it, it was around 50 EUR, which is a lot for a student. No need to get impolite...

    3. Re:Brackeen: Developing Games in Java by Fjornir · · Score: 1
      So if having the book lets you develop one title at a pricepoint where you net 2/sale then you need 25 sales to pay for the book.

      Seems reasonable to me...

      --
      I want a new world. I think this one is broken.
  24. Graphics by WheezardX · · Score: 1

    Good books on Graphics are exceptionally hard to find. 3D math primer for graphics and game development by Fletcher Dunn and Ian Parberry is a rare gem. Starts off extremely simple and ramps up fast. It assumes you have some math expertise though.

  25. For quick 2d adventures: AGS by Hakubi_Washu · · Score: 2, Informative

    Adventure Game Studio provides an extremely simple way of doing old-style adventures quickly and has an active community behind it, which is rather friendly.

  26. It is a scripting language. by Some+Random+Username · · Score: 1

    Guess what, lots of scripting languages are object oriented and very featureful. That doesn't mean they aren't scripting languages. Scripting isn't a bad word you know, python and perl seem to be doing pretty well for themselves.

    1. Re:It is a scripting language. by breon.halling · · Score: 1

      If that's the case, then I fail to see the difference between a scripting language and programming language. Care to enlighten me, or at least point me in the right direction?

      --
      "Yeah, well, Dracula called and he's coming over tonight for you and I said okay."
    2. Re:It is a scripting language. by amliebsch · · Score: 1

      I seem to recall that one metric was whether the language could be used to write its own compiler. I don't particularly know how often that is still used, however.

      --
      If you don't know where you are going, you will wind up somewhere else.
    3. Re:It is a scripting language. by Some+Random+Username · · Score: 1

      A scripting language and a programming language are not two different options, scripting languages are a kind of programming language. Scripting languages are high level languages that trade away execution speed in favour of programming speed, and are not directly compiled to machine code like a systems language (C, C++, ocaml, etc). Typically a scripting language can either be #!'d on a unix system, or is embedded in a program to let you customize that program (or both).

    4. Re:It is a scripting language. by feronti · · Score: 1

      Um, any turing complete language can be used to write its own compiler. So that's a completely useless metric. Now whether or not a scripting language's VM is fast enough to support compiler written in that language is another question entirely.

  27. You're in luck! by Digital+Vomit · · Score: 2, Informative

    Slashdot just posted another story about a great developer tool you can use to get started in your game programming career!

    --
    Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
  28. Gamemaker by rubberbando · · Score: 1

    GameMaker is an excellent tool for learning about making your own games. It handles all of the low level things like graphics and audio for you so you concentrate on actually designing the game. It was mainly for learning 2D programming, but with the most recent release, Mark Overmars added some 3D functionality and its quite amazing what people have done with it. It is also quite cheap shareware (about $20 or so) and you can still use most of the functions using the free version.

    --
    DEAD DEAD DEAD DELETE ME
  29. Quick and easy by owlman17 · · Score: 2, Informative

    Yes, it wouldn't do any harm to brush up on your C++ skills. If you don't have a C++ compiler yet, get Dev-C++ http://www.bloodshed.net/devcpp.html

    Then try to finish at least one game. It doesn't matter how simple it is. If you then want to concentrate on design, instead of the nitty-gritty details, you might want to try http://www.cs.uu.nl/people/markov/gmaker/

    For 3D, 3DGamestudio http://www.conitec.net/a4info.htm is a cheap, decent, all-around game authoring system. You can cobble together a quick FPS and if you put more time into it, a good RPG.

    The two I just mentioned are for the windows platform, btw.

    If you really want to start with a good (cross-platform) 3D engine, Irrlicht http://irrlicht.sourceforge.net/ is a good open-source one. It works with Dev-C++.

    The important thing is to get one game out.

  30. Two books by tansey · · Score: 2, Informative

    For a generic book on game programming, check out Andre LaMothe's book Tricks of the Windows Game Programming Guru's (assuming you're developing for windows...and if you're trying to find a decent sized audience, you really should be) That provides the technical introduction you'll need, from COM to DirectX. Note that you can skip a lot of it if you're a seasoned windows developer. If you're not though, this is the best book to start with IMO, since it has a great windows primer.

    When it comes time for you to consider programming game AI, look no further than Programming Game AI By Example by Mat Buckland. He goes over a LOT of material in the book dealing with very practical game programming. He starts out with very basic examples of Finite State Machines (FSMs) and works his way into building a bot for a full blown FPS game called Raven. His website (http://ai-junkie.com/)also has a very nice introduction to Neural Networks and Genetic Algorithms--some of the more 'exotic' approaches to game AI.

    He writes all his code in the book in C++, so obviously it would be helpful to know it. Also you will need to be slightly adept at math if you want to understand completely the physics code, but luckily he provides a very detailed and lengthy refresher chapter and references it constantly whenever introducing a math-intensive portion of code.

  31. J2ME is fun! by llamaluvr · · Score: 2, Informative

    J2ME (I mean, provided you have some portable device to really use it on, instead of just a lame cell phone emulator or whatever) is rather fun to program in. When I did it for a class, I did not program a game, but my program was relatively similar in terms of what I used from the language (it was a baseball-game scorer). Doing the UI was a snap. J2ME offers graphical/ interface program that is not only ideal for a cell phone/ PDA, but because of those concessions, it's really easy and straightforward and cool, because the interfaces are flexible and they do what you'd expect them to- MUCH better than Swing/AWT. I don't feel like writing a book, but, let me tell you, the stuff inside J2ME (from the graphics to the internet stuff, etc) is very helpful for writing games. The only annoyance was losing random (non-UI related) libraries that you had in normal Java for no apparent reason. By and large, I liked programming in J2ME as much as I do in VS/#C/.NET, and I really enjoy doing that.

    --
    Insightful: 76, Off-Topic: 379, Flamebait: 24, Funny: 152, Interesting: 201, Underrated: 55, Troll: 9, Total: 896
    1. Re:J2ME is fun! by Anonymous Coward · · Score: 0

      For personal consumption, fine, I'll agree with you, but, if, as earlier comments have suggested, he wants to eventually spray it over the wider populace there are many, many problems.
      Size limits (both midlet footprint and heap availability) are frequent problems, performance is frequently lacking (especially if you're making something even slightly graphics-intensive), and the differences in all the handset with the bugs present in varying versions of phone firmware make producing software on a greater-than-small-scale basis a real headache.

      (Posted anonymously as I'm in the industry)

  32. Realm Forge by cfavader · · Score: 2, Informative

    From the site: [ http://realmforge.com/ ] """ The RealmForge GDK is the cross-platform game development platform for .NET. It is written entirely in C# to ensure portability and allow the productivity, flexibility, and dynamic nature of the .NET Framework to be leveraged in all aspects of game development. This middleware is architected with both power and ease of use in mind and is released under the LPGL so that it is the free and ideal solution for both commercial and hobbyist projects. This game development kit is characterized by its productivity, ease of use, and highly flexible and intuitive component-oriented architecture. This game engine and development environment consists of a framework, rendering engine, run-time development toolset (In-Game Editor), script and media libraries, and a growing showcase of demo games and tutorials which assist in rapid prototyping. """ The framework itself is under lots of active development and has support for just about everything expected of a modern game dev kit. Also, the support is simply amazing, with forums, google group mailing lists, irc channels, great documentation, etc.

  33. 10 Resources You Can't Live Without by MiceHead · · Score: 2, Informative
    There are, nowadays, enormous piles of resources for those starting out in game development. Some suggestions as to where to start...

    I agree with those who say that knowledge of OpenGL and/or DirectX is a must, (always know something about what goes on under the hood), but I'm also a big fan of short time-to-market once you actually start developing a concept. Here are some 2D engines that speed up development:
    • Torque2D - GarageGame's upcoming 2D tiling engine SDK. This looks promising, but is in its early-adopter release. Not yet ready for primetime, according to GarageGames.
    • Pygame - Python-based 2D engine. My feeling is that Python is a great language to start game development in.
    • Orbforms Designer - Why limit yourself to the PC? PDA games can give you a greater return on your time than Windows games do. (Per man-hour, our PDA titles bring us more revenue than our PC titles do.)
    • Game Editor - For those who want to go even higher-level than an SDK.
    So you want to write a 3D game! Try one of these:
    • 3D Gamestudio - The engine of choice for our latest games. I love it, and hope they'll extend to the Xbox 360 platform when it comes out.
    • Torque - Maybe the single most popular 3D engine among indies and hobbyists. Focuses, in part, on cross-platform compatibility (Windows/Linux/Mac).
    • OGRE - An open-source package. Frequently updated. Some nice projects using the engine.
    • DarkBASIC - A popular package among new developers and independents.
    Also check out what kind of games independents are making now:
    • Game Tunnel - Previews, articles, and reviews of indie games.
    • DIY Games - Covering the latest independent/shareware titles.
    And ignore anyone who says that you should start off by developing something simple. It's good advice, but nobody ever listens to it.
    ---
    Inago Rage - Create and fight in your own FPS arenas.
    ---
  34. Try PopCap Games' 2D Game Framework by davehaas · · Score: 2, Informative

    Check out our 2D game framework and real game samples, available at http://developer.popcap.com/index.php. We've used and continue to use this framework for all our own games. Nearly all the hard technical issues you'd need to tackle have been solved here, so you can really put your focus on game design. There's a pretty active community of people on the Popcap Developer Forums who can help you out too. Best of all, it comes with one of the most free and open open-source licenses out there. Give it a shot!

    --
    Dave Haas
    Chief Operating Officer
    PopCap Games
  35. Try JOGL or Java3D by M4N14C · · Score: 0

    Give the jogl or Java3d package a try. If you already know java then jogl is just a wrapper over the openGL libraries. It's kind of funky to start because it's clearly a C library with a JNI. On the other hand you have Java3d which is a high level all java scenegraph package that links either to openGL or Direct3D. Java3d is very easy to start because of its simplicity and better documentation than JOGL. You can get at all of this stuff from https://jogl.dev.java.net/ or java.sun.com/products/java-media/3D/.

  36. Good game development book JUST came out... by Anonymous Coward · · Score: 0

    The book Introduction to Game Development just came out and is a whopper of a book (hardback, almost 1000 pages). I picked it up at Borders two days ago and it's pretty thorough, discussing the whole of game development from programming to game design to art creation to business issues. The preface mentions that it was designed as in intro book for colleges following the IGDA educational guidelines, but I've found it quite easy to read so far. Of course one person can't really write on all of these subjects, so the book is written by over dozen game experts. One of the coolest sections that I haven't seen covered before is a chapter on IP law and content regulation. Here's a link to the book's website which is mentioned in the preface: http://www.introgamedev.com/

  37. Get A Job... by __aaclcg7560 · · Score: 1

    If you really want to learn about the video game industry, get a job. Expect to work 80+ hours per week for months on end, living off junk food and soda, and maybe seeing family once a month. Get treated like trash by people in management who whould be taken outside and shot if they weren't in the video game industry. Mandatory retirement age is at 30. So enjoy it while it last.

    Seriously, working in the video game industry is a lot harder than playing video games at home. I spent six years working in the industry and got out because I wanted a social life in my old age (I retired at 35). I now make more money contracting as a lead QA tester or PC technician and I can enjoy life. I wouldn't get back in unless a company can guarantee 40 hours a week, minimal amount of crunch time and a better pay rate. This was covered at the 2005 Game Developer's Conference.

  38. Game Maker by Anonymous Coward · · Score: 0

    http://www.gamemaker.nl/

    Drag and drop style programming. Very nice way to get into game programming if you do not have much experience with programming languages. Shareware too.

  39. Re:Screw books : Yep! by andr0meda · · Score: 2, Informative


    Well I program games, and though books can give you a headstart in doing certain things in a certain way, they never go very far or very deep, and usually are just a colleciton of tricks and tips. They just sit on my desk for the rare occasion that I need to look up the peculiarities of an A* or something or how to build a Q-Hull.

    The best way to learn how to make games, is to go out and do it. The best reasons for using this or that language, is the reason YOU have, not the reason someone else has. Each game is different. Each scope is different. The only way to preserve your idea is to work on the transformation yourself without others dictating 'how it should be'.

    But what IS always good to read, are the postmortems and articles at Gamasutra.com. They give you an amazing list of resources that are definately worht checking out.

    All the best!

    --
    With great power comes great electricity bills.
  40. Mod parent up! by Carnil · · Score: 1

    This may seem silly, but it's really very important to keep things like this in mind when designing a game. Many games nowadays take more into account the technical aspects and forget the basical principles about gaming.
    You must allways offer choices to the players. You can make some of this choices random to add uncertainty (like in the third case), but you must add some problems where the player can evaluate the conditions and try to take an informed decision, which must be rewarded if it's good (like the first case).
    Also you must tease the player with rewards but at some risks, so he cannot go on trying everything that there is in the game without risking something.
    Thought these principles seem very easy, there are many games that fail to implement them.

    1. Re:Mod parent up! by James_Aguilar · · Score: 1

      I think you missed the point of the grandparent (of my post; parent of yours). "Game theory," at least as the OP means it, is not actually Game Theory at all. Game Theory is a thinking tool used by social scientists, psychologists, and statisticians to learn things about the ways humans think and also about problem spaces that they are trying to address. Each of the grandparents' questions are classic problems in game theory, each of which have a very specific right answer.

  41. 2 books I can recommend by RomanH · · Score: 1

    I was in the same situation a couple of years ago.

    These two books really helped me:
    - "Focus On SDL" by Ernest Pazera
    - ""Tricks of the Windows Game Programming Gurus" by Andre LaMothe

  42. handheld by tabby · · Score: 1

    There are plenty of tools & materials on the net for programming the Gameboy Advance. As a plus it is a pretty simple platform, as is probably good for starting out. You can compile to a rom file & run on an emulator & You don't need the actual SDK, which is probably pretty pricey.

    If you come up with something cool its easy to just send a demo rom to a dev house.

    --
    I've experiments to run, there is research to be done on the people who are still alive.
  43. Check SourceForge by QuestorTapes · · Score: 1

    SourceForge has a lot of open-source game projects now, and many of them are quite good.

    While a lot of them are ports of older games, like Doom, others are new. All types, and many are written in Perl and Java, as well as C.

  44. Don't for Allegro! by slapout · · Score: 3, Informative

    Many people have mentioned SDL. You should also check out Allegro. It's a multiplatform game programming library.

    http://www.talula.demon.co.uk/allegro

    --
    Coder's Stone: The programming language quick ref for iPad
  45. Give up now by Anonymous Coward · · Score: 0

    It doesn't matter if you are the best programmer in the world. Unless you have great artistic skills, no one will even look at your game.

  46. Don't Read by dwheadon · · Score: 1

    If you already know Java and you've never written a game before, I wouldn't bother investing in a book right away. I bought a book about game programming in Java (coming from a C++ background) when I started my second game project and found it totally useless. With your first game, the most important thing to do is to restrict the scope. Your eagerness could very easily impell you to start a project you will never be able to complete (this is why my first project flopped). Pick a 2D genre that doesn't require realtime processing, or AI, or networking, or anything complicated (you can add those later) and then use the Java programming you already know. I specifically chose Java for my project because of the ease of 2D graphics programming.

  47. No fair! by maiku · · Score: 2, Insightful

    You stole that idea from the Dirty Bomb episode of NUMB3RS!

  48. Clickteam Products by Quincysan · · Score: 2, Interesting

    As an IT professional with not a whole lot of time to miff around, I prefer using Multimedia Fusion, a product created by Clickteam. You might have heard of their more popular install maker program.

    www.clickteam.com

  49. flipcode.org by slapout · · Score: 1

    A lot of game programmers hang out at flipcode.com They also have tutorials and other resources.

    --
    Coder's Stone: The programming language quick ref for iPad
  50. You need an overlaying SDK by phorm · · Score: 1

    I've been playing with this. So far I'm getting a nasty segfault that I need to debug, but there are lots of demos etc that are quite nice (just wish they'd fix the directory/hierarchy structure on the samples).

    Oh, and it works in both linux, windows, and Mac OSX....

  51. I'm going to get blasted for this, but... by MmmmAqua · · Score: 2, Informative

    You CAN develop modern, well-performing games in Java. Since you already have a good Java skillset, try these:
    Killer Game Programming in Java from O'Reilly, and Developing Games in Java by David Brackeen, from New Riders.

    Brackeen's book (Developing...) is particularly well-written, and a great place to start. Killer Game Programming in Java is an *excellent* idea source/reference in the great O'Reilly tradition, but is a little more intimidating, since you could use a copy to beat an elephant to death. "Killer" is a more recent book, and covers some aspects of Java 5.0 game development that Brackeen's book necessarily omitted. Both books also point out various commercial games, and games in development, that were written with Java. You're probably not going to end up writing a screaming, graphically stunning FPS with self-shadowing objects, etc., but since you're not EA, you can't afford to do that in your own time anyway. So why throw out your current skill with Java and learn C++ all over?

    --
    Arr! The laws of physics be a harsh mistress!
    1. Re:I'm going to get blasted for this, but... by sakti · · Score: 1

      An example of a commercial game implemented in Java is Tribal Trouble by Oddlabs. Its also quite fun and you'd only know its in Java as they mention it in their FAQ.

      --
      "It is better to die on one's feet than to live on one's knees." - Albert Camus
  52. Typical Slashdot Advice by SteevR · · Score: 3, Informative

    Very few responses have actually answered this guy's first question: "What books would you recommend to a beginning game developer?"

    Core Techniques and Algorithms in Game Programming. I own many game development tomes, and this one replaced 3 1/2 shelf feet of my reference material. This book contains everything the beginning competent programmer needs to get a quick start at programming any sort of game imaginable, and it covers topics from *useful* design patterns and data structures to shader programming.

    Game Architecture and Design is another good book, but is a survey of information from design patterns, architecture, game design/ludology, project management, and business practices in games. Probably up your alley but not exactly what you asked for.

    As for an introduction to game theory, none is better than Rules of Play. This book is the first extensive critique of the entire field of game theory as it is applied to game design that I have read. Lengthy, and it reads like a textbook (it was designed as one), but engaging.

    --
    Performing sanity checks on your own beliefs is vital in avoiding poisoned koolaid.
    1. Re:Typical Slashdot Advice by Anonymous Coward · · Score: 0

      Game Design Workshop by Tracy Fullerton, Christopher Swain & Steven Hoffman, CMPBooks, ISBN: 1-57820-222-1

      This book is a good reference for Game Design Theory. It discusses what formal and dramatic elements are needed to make a game, and it really delves into how to produce game concepts before the coding ever begins. This book does not focus purely on videogame development but also boardgame and cardgame concepts.

  53. bah. by sinserve · · Score: 2, Insightful

    I have really tried to learn game development. I am a relatively experienced programmer so I picked up OpenGL and with in three months I was writing useful "applications" but no games, that's because games are more than code. I can show case some great demos; I can model a shape with triangles, skin it with a texture, give it a good shading, put it all in a display list and have it run an optimum speed. But I can't write pacman to save my life. I have no artistic talent.

    The other thing I found out was that game programmers in general are very specialized to games programming and have no knowledge of other domains. I met some competent game hackers who have never used a unix variant, or who have never writen code in anything other than C++ who don't know of the freely available tools. Most game programmers seem too narrow in their knowledge of programming. I once shared an array implementation of a binary search tree with a few hackers on IRC and they had no clue what it was supposed to do. Those same guys are comfortable implementing a BSP if needed be.

    Culture wise I found game developers too young and naive to work with, and I later found out that graphics programming was not my cup of tea and I much prefer writing shell-code.

  54. For test only by jakin45 · · Score: 1

    hello, this is a test! http://example.com/