My gamelibrary consits of 3 layers:
- A hardware depended layer for all basic stuff like: drawing pixels, input, timers, playing music.
- A hardware independed layer for the library framework. Support for images, blitting, tiling, sprites, fonts, etc etc
- A game layer wich holds the actual game, making use of the previous layers to run.
The trick is, when you want to program a game, just program it on your pc, and compile it as a win32 gdi/opengl/directx app with MinGW. You can easy debug and develop this way.
Once you're satisfied, compile it for the psp with another makefile and other baseclasses for displaying, input, sound etc.
My whole library is allmost ready for a beta release, the only thing i need a PSP to test this :)
I'm thinking about making it opensource and setup a sourceforge site for it.
Features in my library:
- All platform depended shit seperated from framework/gamecode
- Images, embedded (ass arrays) or non embedded (JPG & BMP loaders written)
- Bitmapfonts monospace as well as non-monospace
- Animted sprites
- Tiles
- a Physics engine (proberly not in de opensource release, not my code)
- a simple StateMachine
- Graphic effects (like snow, scanlines)
- Currently 3 demo's (a metalgear remake, a tetris game and a fade demo)
Of course written in C++ :)
Proof of concept: