Goals for the Brick Engine
Game programming has long been an interest of mine, the tiresome chore of writing and rewriting basic game code has not. The brick engine takes care of this burden, freeing the programmer to explore the uncountably many game ideas out there. Two principles govern the development of the brick engine:
To Be Simple
The brick engine doesn't do everything and it isn't intended to. It should be simple to understand and easy to use. The API should make sense and be easy to remember. It should be possible to read the source code for the brick engine in an evening. It should be possible to build a simple game in an hour or two.
To Be Useful
The brick engine should be able to run on most computers. It should provide the best user interactivity possible on any computer. The game should be portable at the source level to any platform that supports the brick engine. External dependencies should be kept to a minimum.
An Overview
Here is a quick look at the main parts of the brick engine.
Technical Details
The brick engine is written in C. If being used as a standalone library (i.e. for use in C programs), it can be built shared or static. Some language bindings may require either a shared or a static library.
The current release is v5.
Requirements
The brick engine will build and run anywhere that has a port of SDL and SDL_mixer. SDL_image can be optionally included to provide some basic image-loading functionality. No other external libraries are needed. CMake is also needed, to build the engine from source.
Language Bindings
Language bindings are available for C, Pascal, and Tcl. C++, JavaScript (via SpiderMonkey and Flusspferd), Lua, and Python are in development, and more are on the way!
Platforms
The brick engine builds on Linux, OpenBSD, NetBSD, OS X, and MS Windows platforms. Support for Google's NativeClient, iPhone/iPod Touch, Wii, PS3, and other odder platforms is coming soon.
License
The engine is free software, available under an MIT license.