Where to Start

Im not sure if this is the place to put it, but here we go.

I am a bit new to coding and I have read a lot of the help files and docs. I’m looking into making a basic java 3d game “Space invaders” clone as practice. Anyways, I have some models from a friend, some basic sounds so my assets are ok for now. Now that the background is done:

Im looking for tips on how to start coding my project. This is more of a personal preference thing most likely, but I am more interested in how the industry standard does it. What I am looking for is What I should start doing as a base:

Do I start by making the settings, start by importing all the assets, or do I start with making my first scene, I really don’t know what is the first step to making an game. I have made a cash register application with an inventory control system for school, but that was without any type of engine to work with.

Anyways thanks for any help on this matter.


Start by doing everything in 1 file. Get some place holder assets (you should probably use boxes, and give them different colors). Create a boundary in your 3d space, and once they leave/enter it, then change direction and speed.

Once you feel more comfortable, then you can start refactoring stuff out into other classes, controls/appstates, adding particle effects, post processors etc

Start at tutorial #1, good luck

Starting with something really simple like space invaders is an excellent idea. It’s small enough scope that you can realistically complete it even if it isn’t very good architecturally and then look back and learn from what you have done and do it again better.

Expect to throw everything away several times, it’s a sign that you are learning.

As @wezrule said start by just throwing everything in one file and get something (anything!) working.

With what you have learnt from that start from scratch and try to do a cleaner/neater implementation trying to split areas of functionality into separate classes etc, and add more functionality.

Repeat this process a couple of times refining your design and code each time.

For resources you should read the standard Java coding standards (stuff about how to format code, etc). You should also work through all the tutorials on this site.

1 Like

For the first plaything game, avoid settings. GUI is a large area to learn, and you’ll find enough interesting things to learn with the meat of the game.

Start with the scene and the assets (you need assets to populate the scene). Leave all the configury stuff to the startup screen. If you need to load or store a configuration, use java.util.prefs.Preferences; the data is stored in your home directory in .java/ and you can edit the files with a text editor. (There are more ways to do all that, but that’s the simplest one where you don’t have to deal with file system intricacies and such).

After that, you can try GUI stuff, confirm-on-exit dialogs etc.
Or you could start playing with making assets.
Or play with shaders.
Or start to give the aliens more logic.
Or dive into terrain generation.

There’s a huge list of ways to make the game more interesting once you have the basics going. Pick one that holds your interest, and just leave the other areas at the simplest level that will keep the game running.

1 Like

Note: I think Asteroids is a way better learning game than Space Invaders. For one, it’s about 10x simpler. For another, the simple physics learning is directly applicable to modern games.

Space Invaders is actually kind of tricky in comparison… might be a good second game as it involves multiple game states, simple AI (trivially simple), etc.