2DGameBuilder: a promising Game library for PC, PSP, PS3 (and Maybe PS Vita?)
Note from Wololo: this article is about a tool that is being actively developed but for which nothing has been released yet, beyond the PSP Demo (link below). It looks promising but take anything you read below with a pinch of salt until something gets released.
I got contacted recently by the author of this tool who would like to gauge the need for such a library. Below is a description of the project in his own words:
What is 2dGameBuilder?
2dGameBuilder is a user friendly and easy to use game authoring tool. Currently the tools 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 2dGameBuil
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.
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.
Demo Download (PSP)
You can download a Demo of 2DGameBuilder for the PSP here. It is a very small demo that loads a game/level created with 2dGameBuilder.
Usage for the demo:
select – centers camera and bring zoom to 1
L1 R1 – rotate camera left and right
cursor – keys move camera up down right and left
square – zoom camera out
circle – zoom camera in
More details on the developer’s site here.