Hello,
This is a project I've been working on for the past few months. It's a C API for quick and easy creation of simple 2d games with a heavy focus on tilemap-based platformers. My mentality with making it was a sort of Game Maker for C
It includes an editor where you can edit alot of the assets and then put them together with just a few lines of code.
I wrote Tiny Platypus Pimps with it and the source for that is on the project page as well. Im going to use this myself for a few upcoming games and this will be the engine for U-Head as well.
It's a work in progress still, so this is an alpha release as there are some bugs still (mostly in the editor).
I made an Xcode framework for OSX and vc9 and mingw sdks for windows. Let me know if you experience any problems with them if you check it out. You're going to need the SDL SDK as well.
I am generating some documentation for it right now and writing up a little tutorial on how to use it.
You can get it all at:
http://librgs.googlecode.com/Here's a screenshot of the editor:
http://www.ivansafrin.com/crap3/rgsedit_final.pngHere's a brief feature list:
General Features:
* C99 (should be usable from C++, but really designed for C)
* Crossplatform (OSX,Windows and Linux) (DS support coming later)
* API-independent, tho currently reliant on SDL
* Small and fast
Editor Features:
* Sprite animation/bounding box editing.
* Visual tilemap editing (place entities, define collision and attribute tiles in layers).
* Single tile or brush tile editing.
* Arbitrary game settings: attributes, entity and brush presets can be saved to files.
* Bitmap to tilemap import: converts a bitmap to unique tiles of arbitrary size, then creates a map file from it.
Graphics Features:
* All surfaces are paletted 8-bit
* Load palettes from .pal files (editable in Photoshop)
* Loads sprites from custom sprite file format editable in the editor
* Loads static graphics from custom image format (convertable in the editor)
* Optional NTSC emulator filter. (via Blargg's NTSC lib)
* Arbitrary screen size (initialized with two resolutions, one actual and one screen).
* Automatic rendering queue based on screen layers
* Easy text rendering with two built-in bitmap fonts
Sound Features:
* Plays music from NSF (Nintendo Sound Format) files. (via Festalon)
* Plays sounds from the native SFXR format (sfs) (via Dr. Petter's SFXR)
Tilemap Features:
* Automatic entity to tilemap and entity to entity collision detection and gravity
* Atomatic entity loading (in the code predefine the sprites and update/init functions for each entity type, then just load the .map file)
* Scrolling support + follow entity.
* Arbitrary tile size
* Tile data and tile graphics loaded from separate files.
Basic UI Features:
* Buttons
* Scrollbars
* Text Input
* Select lists
RGS does NOT compile in linux right now. I'm going to check out why this weekend.
Aside from bugfixes, i'm planning on making Python bindings for it and maybe a little UI for the python so you can do everything in the editor.
Cheers!