What is it 2DGameBuilder?
2dGameBuilder is a user friendly and easy to use game authoring tool. Currently the tool is focused on creating platformer games the likes of Wonderboy, Super Mario etc. In the future maybe it will support the creation of other kind of games, like RPG, Shooters, Point and Click adventures, etc. 2DGameBuilder is under development and a Beta version with some limited functionality is to be released at some point. To see the tool in action you can check 2DGameBuilder Facebook page and YouTube channel.
How did it start?
I was born in the 70’s. I enjoyed playing coin-ops arcades. I always dreamed of making my own arcade games. Few years ago I bought an old arcade machine and I played games like Wonderboy and Mega Twins. That was enough inspiration for me to start learning game development. I experiment with some game mechanics and some graphics and I soon realized that it is not efficient to develop everything using code. To overcome this problem I opt to develop my own level editor/game builder which will allow me to create the arcade games I envision. Currently 2dGameBuilder is focused on the creation of 2D platformer games. Eventually this tool may support the creation of other style of games, maybe via a game creation wizard (point and click adventures maybe, shooters, etc)
All development for this tool is done in C++. For graphics rendering I am using the glib2d library (a modified OpenGL version of it for PC, Linux and PS3). This impose some limitation in the sense that this library was written for the PSP which is quite old now and it has limited capabilities (can not use vertex shaders for example). This might change in the future but in a way that it will keep PSP compatibility even with limited features. I love this device and I don’t want to let go. The GUI of the tool is using the amazing imgui library developed by Omar Cornut.
Below is a list of functionalities/features:
- Load Texture Atlases from Texturepacker and ShoeBox
- Create Layers for Parallax Scrolling effect. Layer speed and depth is adjustable
- Possibility to draw the sprites from Texture Atlases in tile-mode (even when rotated) and free-hand
- Possibility to mix sprites from different Texture Atlases to different layers (using Z for depth ordering)
- You can create a game via a wizard and package all resources used and levels in a folder. A game can have several levels and a level several layers and texture atalases.
- Can render text using fontstash
To implement before Beta Release
- Sound/Music support
- Own collision and detection. Ability to define collision areas.
- Full BOX2D integration as an alternative to own collision and detection implementation and for realistic physics support
- PS Vita run-time support using the open source SDK
- Ability to use texture-repeat feature to fill large areas of the screen
To implement in the future
- Particle System
- Triggers and Events
- High Scores Support
- Steam API integration
- Ability to group sprites into complex objects and reuse them to draw level faster
- Integrate Spine animation system.
- Ability to draw polygons and not just rectangles as of now
- Own 2D Animation system
To support games/levels created with 2dgamebuilder I am also developing a run-time for each platform. Currently i have some prototype of a run-time (you can call that a game engine) for the PC, Linux, PSP and PS3. If you are wondering No I do not have access to official SDKs of PSP and PS3 but i am using the open source ones. Now that PS-Vita has an open source SDK I am planning to create a run-time for PS Vita.