A design process question?

Hello all, I am new here and new to Java. I’m reading the “All in one book for Dummies by Doug Lowe”, and I need to know what goals I should start with first.

I have a project plan I have been working with for about 2 years with all the information my game needs, as-far-as game description, modes, ranks, weapons, features, etc… Now that I know how I want my game to be, I need to know in what order should I start programming my game? Here are a few facts:

  • It will be a 2D top-down shooter with single and multiplayer modes.
  • The map will be multidimensional arrays stored either on a database, or text file.
  • There will be 5 different game modes(as of now) that are playable on all maps.

I know exactly how I want the game to look and feel, but I just don’t know in what order should I start development/programming.

Thanks in advance for any help.

Behold newbie, you’ll be given so many different answers later. I don’t know your level, so i’ll bet safe.

  • Create the window and prepare all screens. Switching between screen should be possible now, even by dummy code.
  • Populate each screen. In prev step you may just change the screen with any key, now make the splash, menu click/select, everything.
  • BAM! you’re on your game screen. Code all mechanism. If you dont own sprites, use rectangle as placeholder.
  • Your game is working now. Try to polish it and add some feature like save, MP, or what.
  • It may not finished yet, but let’s call it an alpha or beta and publish.
  • Take critics and suggestions. Think it. Fix it. Made it.
  • Publish your fixed version (release).
  • Profit.

Before first step you may want to pick library first.

Since this is your first java project, I’ll give you a few bits of advice related to your three points:

  • Don’t do a multiplayer game
  • Don’t use a database
  • Program one game mode

As for order, I’d recommend something like this: Get your guy drawn on the screen, get him moving around the screen, get an enemy moving around the screen, get your guy shooting, make enemies die when they’re shot. Next, get obstacles on the screen, then get multiple enemies on the screen acting in interesting ways. Work on “interesting” for a while. If you get blocked with the code, polish up the art for a while.

You’ve been planning more than long enough. Take it from someone who also plans too much: start writing something right now. You will have to throw away some of your ideas anyway, so it’s best to start testing them right away.

This is absolutely right. Multiplayer is 10* the complexity, each game mode increases complexity, etc.

Just do something single player and simple to start with, learn from that and then move up one step at a time towards your goal.

I have no idea what is the “best” or “right” approach. But usually this worked for me:

  • design the data structures to hold your game data (player data, enemy data, map data …)
  • design a display module for this
  • on top of the display module, put your player-input handling code

A database might be overkill for your first game project, as the others said. Text or binary files should do the job to keep the level data. If you use plain text files, you can also skip writing a map editor, or adapting an existing map editor.

If you have no prior experience with networking, skip the multiplayer mode, otherwise try to keep it as simple as possible. Java has good networking support, but if you are new to Java, it just adds more to learn for you.