Current Development Project

Gem Header

The Gem Engine Project

This is my current development project, The Gem Engine, which is a tile-rendering game engine – complete with sound engine, graphics engine, network engine and much more, being highly configurable. News and development screenshots of the project will be posted on this page. Feel free to comment on the progress, ideas, criticism and more!

Here is listed the current progress towards an alpha version of the engine (each part of the engine has been given a module name to remember it more easily):

  • SoundEngine (The Crystal Module) :: 70% complete
  • GraphicsEngine (The Sapphire Module) :: 80% complete
  • NetworkEngine (The Diamond Module) :: 0% complete
  • GameLogicEngine (The Emerald Module) :: 20% complete
  • DecisionEngine (The Opal Module) :: 0% complete
  • ScriptEngine (The Ruby Module) :: 0% complete
  • EffectEngine (The Jade Module) :: 0% complete
  • XML-Engine (The Topaz Module) :: 10% complete

Gem Titlebar

Status: 20/8-2007 <Development is Back on Track(tm)>

The GEM project ran into a problem when we lost the server where our source code was kept on SVN. This forced development into a sudden halt as no real coordination and version control was available. After the summer vacation I contacted a good, old friend, named Andreas, who is now active on the project. We have found a new server to place our code in and are now expecting some progress to be done. The first order of business is a refactoring of the code in accordance with the improved design. After that is done with Andreas and me will be going into finishing the graphics engine part so that some new and more exciting screenshots can be releashed. When Søren returns from vacation I am hoping that he will get some more work done on the XML parser and loader… Expect an update when some more progress has been made!

Gem Titlebar

Status: 1/3-2007 <Development is ON>

After spending a day coding the engine together with Jesper and Søren great progress was made. First of all the font rendering is now done, and works like a charm. The Messagequeue functionality used to display incoming messages is complete and can be seen on the development screenshot in this post in the top left side. Furthermore buttons has been added to the build panel on the right side and soon they will be coupled to some functionality. A lot of other “behind-the-scene” improvements and development has taken place also, fixing a few errors and optimizing some of the code (refactoring is always well spent). On the development team side long time college friend, Andreas, has joined the team and will start to dig into the code soon. Currently the work is being done on the XML-handling and the design of the XML-configuration files. I’m also spending a bit of my time on designing the first game that will be made using the Gem Engine. It is always easier to focus on a game during the development of an engine. The game will be a mix of StarCraft and SimCity, so I’ve chosen to call it “StarCity”. The gameplay will be remenescent of the old classic, Utopia. Well, I’m off – expect an update in a months time…

Gem Development Screenshot

Gem Titlebar

Status: 1/2-2007 <A development insight>

I promised to give a short introduction to the engine and its current state, so here it is. I started out with the Diamond module, which is to handle graphics. I got the tile-renderer working, got a basic map loading, screen movement, a message panel (top left), a status panel (bottom left) and a build panel (right). Currently there is no buttons in the build panel, but they will come shortly (I will post a screenshot so that you can see it!). I also programmed most of the Crystal module, which handles sound and music, and it is now capable of playing music, handling sound files, doing fading and much more. I have spent a lot of time refactoring the code and making a proper design, which I will post at some time in the future. The engine will be constructed to be extremely configurable through XML-configuration files and a little C++-class inheritance. You will be able to add/use other AI’s, reconfigure the input handling, use a different tiling method, add effects, describe scenes and scenarios to help you build a completely different game. Currently I am working on the fontrenderer, which is an important part of the Diamond module, and will be used mainly to display the messagequeue that will be placed in the messagepanel. I will give you more information on the development process when progress has been made. In the mean time you can enjoy this very early screenshot of the engine running, while displaying a simply map (under Kubuntu Linux – but don’t worry: The game engine will be platform independent!)…

Gem Engine Screenshot

Gem Titlebar

Status: 30/1-2007 <Beginning the development blog>

Created this page, expect a development screenshot and a bit more description about the current state of the game engine soon…

© All Rights Reserved – Henrik Jarlskov 2007 (Contact me before using graphics from this page)