Search code examples
javagame-engine2d-games

2d java game engine to make a PC platformer game


I have intermediate knowledge in Java, but little knowledge in game development and I was looking for a good 2d game engine for beginners. I am looking to create a 2d platformer game on PC. Any recommendations guys? And it would be great if there is a guide to help me use the engine in making 2d games.


Solution

  • Slick2D seem to be what you are looking for.

    They have great presence online and it is easy to find help in forums. They also have their own forum and wiki. Check it out.

    A HelloWorld example extracted from their wiki:

        import java.util.logging.Level;
        import java.util.logging.Logger;
        import org.newdawn.slick.AppGameContainer;
        import org.newdawn.slick.BasicGame;
        import org.newdawn.slick.GameContainer;
        import org.newdawn.slick.Graphics;
        import org.newdawn.slick.SlickException;
    
        public class SimpleSlickGame extends BasicGame
        {
            public SimpleSlickGame(String gamename)
            {
                super(gamename);
            }
    
            @Override
            public void init(GameContainer gc) throws SlickException {}
    
            @Override
            public void update(GameContainer gc, int i) throws SlickException {}
    
            @Override
            public void render(GameContainer gc, Graphics g) throws SlickException
            {
                g.drawString("Howdy!", 10, 10);
            }
    
            public static void main(String[] args)
            {
                try
                {
                    AppGameContainer appgc;
                    appgc = new AppGameContainer(new SimpleSlickGame("Simple Slick Game"));
                    appgc.setDisplayMode(640, 480, false);
                    appgc.start();
                }
                catch (SlickException ex)
                {
                    Logger.getLogger(SimpleSlickGame.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }