Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Getting started on a 2d platforming project in java. I've decided on using LWJGL and OpenGL, but I don't quite know where to start. What is typically the first thing one would work on with a platforming game?

I've never done any game development before, but I'm hoping this will be good practice and hopefully fun to implement and eventually play.


share|improve this question

closed as primarily opinion-based by Byte56 Oct 28 '13 at 20:49

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

The first thing to do is be able to create a window, render a sprite, and move it around with some sort of controls. Then move on to physics, and finally content for your game. – thedaian May 24 '11 at 22:04
Learning how to use Threads correctly will be very helpful too. – Randolf Richardson May 24 '11 at 22:44
This isn't really an answer, but I would start smaller. And by smaller, I mean Pong. – The Communist Duck May 25 '11 at 9:47
@Duck Pong is a great game to start off with, it's like the "Hello World" of game development :) – soulBit May 25 '11 at 17:35
Well I guess I have done "some" game dev before, so I'm a bit beyond pong. I did a breakout game and a falling blocks game, so I think it's time to move on. And thanks for the tips guys. – Laryea Quaye May 25 '11 at 17:36

Java + 2D + LWJGL = Use Slick library. It's based on LWJGL library and makes it much easier to use for 2D :) In Slick website, they've very easy and quick tutorials, try it out! I'm sure you will LOVE it! ;)

Since your main question is "Where to start", start from Slick Wiki page!

share|improve this answer

To answer the platform game specific part of your question:

Platform games are traditionally tile based. Tiles are fixed size rectangles which comprise the building blocks of each level; they can have the appearance of stone, or grass or any surface you can imagine within reason. The best way to design them is to ensure that when two identical tiles are placed next to each other, the texture seamless repeats.

A good example of how to design repeating tile sets is here:

Tiles are laid out in memory in what is called a 'map'. Each tile is given an identifying number; maps are rectangular arrays containing numerical tile references. An example map might look like this:

byte[] map = 

Most platform games have multiple layers of these maps; background tiles generally have no collision information associated with them and are purely decorative, mid-ground tiles can be used to mark locations associated with game-logic, like entrances and exits, or for placing AI characters. Foreground tiles are used for collision information and the main body of the actual platforms.

Maps can be connected together using special tiles which indicate an entrance or exit, when collided with the system can unload the current map and load in the new one.

You can read more about platform games in general here:

Hope that helps!

Cheers, Paul.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.