The theory behind Coment (and Artemis, on which it is based) is to separate objects in the game world from their data (components) and logic (systems). This provides the advantage of allowing generic code to be written that will automatically handle any entities that have the right components attached to them.
Although the library is heavily based on the interface of Artemis, its implementation has been redesigned for C++, so it may have some different nuances. The library is written in standard C++ and should be portable, but has only been tested with VC++ and gcc.
Source code for the library and sample program shown above are available on Github.
An up to date version of this article can be found on the wiki under Usage.
More information on implementation and usage below.
I wrote this as an interview task for an opportunity in R&D. Looking back, it probably should have been written in C, but I’ve attempted to avoid the usage of the STL where possible. Continue reading →
My new renderer has been built from the ground up to be fast, flexible and fully-featured. It includes phong shading and perspective-correct texture mapping, and includes scene graphs (they aren’t really part of the renderer, but they’re included in the library for use in my demos.)
Using the algorithm from here, I’ve written a triangle rasteriser in MIPS assembly. It’s not the fastest, taking a few seconds to draw a big triangle in MARS’ bitmap display, but it works. Continue reading →