Joined: 10 Nov 2007
Location: Royal Leamington Spa, UK
|Posted: Mon Jan 25, 2010 10:16 am Post subject: Pixie - A nice 2D Game Engine
Here's something I've been working on for the last three years:
It is a simple and easy-to-use 2D game engine in C++. It is specifically written to be easy to modify and port to any platform, and I've tried to have as few external dependencies as possible - so it doesn't even require directx, as it can fall back on windows gdi functions if necessary. All rendering is done in software, which is maybe not ideal for all types of projects, but it gives a wider range of hardware which it can run on, and it can be convenient to always have direct access to all pixel data, and not have to deal with differences between GPU's/drivers. Pixie is not for everyone, but it IS for those who just want to get sprites on the screen and have it just run everywhere.
Throughout the development, I've been making little games to drive the development. I think that is a key part of developing any engine, as it is only by using it for making games that it can become good for making games.
Pixie is public domain. Can't really have a more generous license than that, right? :D So, if you can use it, or any part of it, just go ahead (though there's a few bits, mostly support for different file formats, which I didn't write and which is not public domain, but they are clearly marked, and still have pretty good licenses).
I've set up a site for pixie: www.pixieuniversity.com and there you will find downloads for the engine and all the sample games source code (their code is also public domain, so might be a good base to build a game from, if you're just starting out) as well as online documentation and tutorials on how to get started (and there's more tutorials and sample games to come).
For now, this is only for windows, but I've started looking at a linux version, and as soon as I can get a Mac I'll look at porting it to OsX too. But there's not a lot of platform specific code, as most things are done in software, with as few platform dependencies as possible. I've also put together a "Pixie Lite" package (which can be found on the site) which is just the platform specific bits, broken out from the main code, for those who are interested in helping with porting this to other platforms.
I hope you will enjoy working with Pixie, or at least find some bits of code in there which is useful to your own projects. And if you have any questions or need any help, just ask :)
Thanks for your time,
www.mattiasgustavsson.com - My blog
www.rivtind.com - My Fantasy world and isometric RPG engine
www.pixieuniversity.com - Software 2D Game Engine