Crystal Space / Blocks

Crystal Space is an open source multi-platform 3d graphics & game engine started by Jorrit Tyberghein and contributed to by tens of highly skilled programmers over many years. Now it is much more mature and full featured, but I had the privilege of being involved for a year or two back around 2003-2004.


Since I was into core engine stuff and Jorrit was just then looking for somebody to help him in that field where he was pretty much alone interested among the many developers  I had the great luck and privilege of getting a lot of time and explanations from him on how the engine worked as well as discussions about cutting edge technologies that were being considered or in research stage. And what a great honor and delight it was to learn from the great master himself! In my learning process, besides more theoretical, stuff I would often go through tens of pages of code trying to understand it, and in the process occasionally even getting the chance to find/suggest some bug fixes. It was a great time for learning and applying engine principles. However the more I learned the more I realized I had to write my own engine to really master things, so in the end I left the Crystal Space without taking the place I was supposed to alongside Jorrit in the core engine (sorry Jorrit!). I did however get involved in other Crystal Space based projects such as the Empathy project and met great programmers with which we worked on other projects such as Max Gilead.


One more concrete thing thing that I did in my Crystal Space programming period was that Jorrit asked me if I could do some work for a project dear to him: the engine was being developed simultaneously with some test game projects, but as the engine was constantly growing the (internal) application projects often got little time. And that’s how it happens that I ended up programming for Blocks, a little 3d tetris type application game. Though just a small application of the engine and with relatively little relation to my graphics engine core passion, it did use the CS engine and after some work I got a great satisfaction when Jorrit excitedly thanked me that due to my work and bug fixing the great engine finally had a game completed: there were at the time already many games in works using the engine, everything ranging from shooters and RPGs (one in which i was involved, Project Empathy) to MMOs and scientific simulations, but they were all and had been for a long time in development, with nothing finished, so I was so very happy when my friend and mentor told me that thanks to me the first game using CS was finally launched.

Download [1.1MB]

The bad news is that over the years I lost the sources of the version I was working on, along with the fixes and features I had implemented, but I did find some binaries from the in-work period. The project has been developed further and published so it’s probably still somewhere in there in the vast Crystal Space repositories, though in the meanwhile it probably lost much more in significance as many bigger projects were published using the CS engine.


The resolution in this version can be adjusted manually by editing the “blocks.cfg” file. As for the keys they are on the asdfg… typing row and above/bellow, set so that with the left hand one controls the block rotation (with reversing above row), while with the right hand controls the camera rotation and block movement. Initially the 3d view makes it a bit hard to judge, but that makes IMHO for a more fun challenging cool gameplay when as the blocks fall slowly one keeps rotating and zooming around to ensure best placement. Other surrounding keys include the new game N and the central buttons H/Y for camera lowering/raising and P for pausing the game to analyze the situation (you can still move the camera around). You can also zoom in and out with the little fingers (yes, all the keys are set with standard typing position in mind :P )


I must say that though I understood in later years why the game’s visual style and keys were changed for playability, this look (and keys!) still remains for me the more interesting one… though I must assume that’s just personal bias :P