This web page sucks. I (Solra Bizna, project lead) am too busy to make a better one.

What, and why?

SubCritical is a 2D "game engine" that allows one to write cross-platform 2D games using version 5.2 of the Lua programming language. It has a fairly low footprint, low system requirements, and extremely overkill (i.e. gorgeous) text rendering support. It also does proper gamma-corrected blending, and has some "vector graphics" support.

SubCritical was actually intended as a trial run for a much more advanced game engine. It has thus been designed largely through "design by implementation," as well as choosing deliberate simplicity at the cost of some versatility. In spite of this, it has turned out to be a very powerful, very capable engine.

SubCritical is not a "game making program." Actual Lua programming is required in order to make a game. Additionally, almost no actual game logic is present in SubCritical; it is intended as a large set of support functions and utilities on top of which game logic can be implemented.


SubCritical is mostly licensed under the LGPL version 2. In particular, games and packages can be written under almost any license; code exists to prevent incompatibly-licensed packages and games from being loaded at the same time.


We're currently at release 0b7 (major revision zero, beta seven). A couple minor packages still need to be fleshed out, but SubCritical is otherwise considered "done".


Download the latest release here.


The documentation is thorough, but not really a tutorial. The documentation is available in the source tarball, and can also be browsed here. (This documentation only covers native packages and not the various utility packages; these are documented in their respective directories in the source tarball.) We are also happy to answer questions in our IRC channel (see Community below).

An incomplete (but playable) sample game exists here. It is pretty much a direct line-by-line translation of a much older (and poorly written) C++ game, so it is difficult to read. It also does not take advantage of any features added since approximately version 0b2, or provide any configuration options. (To play in windowed mode, you must edit the source file.)

Sample game screenshot


The SubCritical community, such as it is, pretty much resides in #subcritical at (A preconfigured browser-based IRC client is available.)

We are in need of games. I don't have time to write SubCritical, write many games that take full advantage of it, and perform tasks that ensure my continued survival (such as working, eating, and sleeping) at the same time. If you're interested in writing a game, I'd appreciate it if you took up residence in the IRC channel.