The Pixie Game Engine

September 9, 2008

Over the last couple of days, I’ve spent a bit a bit of time cleaning up and fixing things for my game engine, so I thought I’d do an update on it. If you’ve tried the engine or the games before, and it didn’t work, it’s worth trying it again now: I’ve fixed lots of issues in the engine, and put up new versions of all the games and all the source codes, so everything should be up to date now, and you should be able to build the projects in any Visual Studio version from 2003 and later. Also, the games appearently run fine on Linux, using Wine, but I haven’t tried it myself (I’m not a linux guy).


Pixie is a 2D game engine (which is good, because 3D games are a bit lame anyway. Don’t worry though, I’m building a 3D engine on to of it too) for C++, specifically designed to be easy to use and run on as wide range of computers as possible. It will check the players system for DirectX, and make use of it if it’s there, but it doesn’t require it. There’s no annoying runtime librarys or dlls you have to ship with it: In fact, you can bundle all your data files into your executable if you like.

At the base level, Pixie is using optimized software rendering code to draw rle-compressed bitmaps to the screen rather quickly. And if you’re a hardcore graphics programmer, you can use that functionality as it is for your game. But I’ve also added a few things on top of that, like sprites, buttons,  animations, text etc, and by using those, you’ll probably get more done on your game in shorter time. For those of us doing retro stuff with pixel art, there’s a special mode you can enable where Pixie ensures there’s no blurring or weird scaling distorting those precious pixels, keeping things sharp and crisp regardless of what system it’s running on.

Pixie is totally free by the way. And by free I don’t mean the bogus "free" of the Open Source world, where they force you to do all sorts of things to comply with the license. I mean proper free, as in "public domain". This means there’s no license agreement for Pixie: It doesn’t even belong to me, it belongs to all of us, so we can all use it for whatever we want. Want to sell a game you made in Pixie? Just go right ahead. Want to write a book about it and bundle the engine and the game source codes? Feel free. Want to set up your own site, rename it to Fairy and claim you wrote it? I’m not going to stop you (though itwould be rather cheeky :P )

I’ve used Pixie for a couple of game demos so far (and I’m working on a full game as well, but I’m not ready to talk about that yet), and it’s getting quite good now. Check these out, if you haven’t already: they’re good demos of Pixies capability. None of them took longer that a week to do, and the RPG-style game (Kassandra) only took 48 hours (but a quite intense 48 hours, I tell ya!). So it can be rather quick to get things done with Pixie.

pixie_kassandra pixie_babyviking pixie_midwinter

The source code is available for all of these games, but I warn you, it’s a bit messy in places, as I was a bit rushed when making them…

I’ve also done a little utility for managing poser files (I call it Poser Content Manager), and I used Pixie for that as well. Again, source code is available.


More recently, I’ve been writing a couple of tutorials introducing the basic concepts of Pixie.


The first one is a simple Hello World tutorial, where we just draw some text to the screen. But it also walks you through some of the basic concepts of Pixie, and shows you how to set up a new project for Pixie using Visual Studio.


The second tutorial is a bit more interesting, as it shows how to make a bouncing ball, but I also explain in-depth about how bitmaps work in Pixie, and how to work with files.

There’s some documentation available for Pixie too. It is generated from comments in the source code, and it’s not fully complete yet, but it’s an ongoing project. The documentation for Pixie can be found here.

And finally, I have set up a forum for Pixie where you can ask for help or just generally discuss things related to it. And ask me to add features even. There’s nothing on there at the moment, but be assured that I’ll keep an eye on it and do my best to help out with any problems.

Check out the main Pixie page to download it and the available source code samples.

That’s it for now, hope you’ll give Pixie a go at some point, and let me know what you think

2 Responses to “The Pixie Game Engine”

  1. Theta says:

    Hey man, I just tried Pixie but it won’t compile. I get this error:.SourceWin32MemoryModule.cpp(180) : error C2065: ‘IMAGE_SIZEOF_BASE_RELOCATION’ : undeclared identifier.SourceWin32MemoryModule.cpp(181) : error C2065: ‘IMAGE_SIZEOF_BASE_RELOCATION’ : undeclared identifierI have no clue what this means.

  2. Mattias says:

    The MemoryModule.cpp is not used, so just exclude it from the build. I’m getting ready to release a new version of Pixie (probably within a week or so) with that file removed (and lots of other improvements too).

Leave a Reply

You must be logged in to post a comment.