My next project is going to be pretty big (might take a year, who knows) so I'm working on a good base for it first. The name stands for Extendable 2D Game Engine, Easy 2D Game Engine, or nothing at all, pick whichever you prefer
It's designed for side scrolling games, primarily shooters but you could make just about anything.
My plan is to finish the engine, then make a game with it, then possibly release the code for the engine if anyone's interested.
Current features:
-The system is based on maps and entities. Maps and entities made of primitives are saved as text files and can be created without coding; entities can be made dynamic using an EntityBehavior class.
-Embedded physics using JBox2D - boxes and joints are currently implemented
-Textures on objects, can be stretched or tiled
-You can have a unit represent whatever number of pixels you want. However, if you have entities with custom rendering code (like the example player) you'll probably want to choose one and stick with it to avoid performing lots of expensive coordinate transformations every frame.
-Input system - key codes can be binded to actions using a text file, or you can subclass InputProcessor, or access the InputState directly in your game loop
-Very basic GUI, currently movable frames, labels, and buttons only.
Planned stuff:
-Weapons (this is what I'm currently working on, the laser gun in his hand does nothing right now)
-Finish the map editor
-Applet support (I would like to have the same .jar be usable as either an app or an applet)
-Sound (I was hoping to avoid using native libraries if possible, but if the Java sound system isn't adequate I might have to use FMod or OpenAL)
-Graphics effects (lighting, tint, fog, screen shake, etc)
-Particle systems
-Multiplayer
I don't want to post a demo yet since it's not any fun, but here's some screenshots for now.
And for those who like to measure programming progress by amount of code written:
I'll try to keep this thread updated!