Game Libraries

Sorry, no new binary release. The last one can be found here.Sorry, no new source release. The last one can be found here.

I'm a big fan of separating code into manageable chunks. Those examples we've created are not dependent of each other at all, yet we'd like to use them in a single executable. The obvious solution is to separate the code (and content) of each of those examples in a DLL that we load with our main executable. Instead of adding the DLL's to the project (and creating a hard-coded dependency), we'll just load the DLL's as if they are plugins. With reflection we'll search for example-classes that we can display, retrieve the icon, title and description and voilá:


In C++ this could have been achieved with LoadLibrary and enforcing some cdecl-export  functions to be present. You really got to love reflection for the use of plugins, it just works so much nicer. The reflection-being-slow argument is just for people who don't know anything about good programming practices. Of course we're not going to do reflection each and every time, we just need to do it once to find the examples and invoke the constructor when an item is clicked.

Phew! We managed to save the examples somehow, no need to throw them away anymore. I think I can live with old code continuing to exist as archive-items in DLL's. Even though the main executable-project, "Engine Demo", is pretty much empty right now, it is the place where we will add new stuff and it will receive new clutter soon enough. For sake of pretending that I'm a good guy, a "Hello World" program is required.

Hello World

It would be nice to have a "Hello World" application that shows only the basics of the engine (text-rendering, texture-rendering, extrapolation and sounds). This gives interested people a little bit more insight in how the engine is used without having to comb to tons of code just for showing some of the more advanced features (or one of my many failed experiments). So here ya go:


There was absolutely no need to create a Hello World application since I'm still updating the engine's API regularly. I was a bit tipsy and wanted to do something easy that could become beneficial at some time.

Oh my, that v2. is real close now. So exciting!

Resource Manager v2Save Files