Just felt like writing a quick entry on some basics of my engine and some goals I have.
Just finished playing with the very basics of Asset loading. The idea for my asset loading is basically since different platforms have different ways of loading assets, I basically abstract the asset loader, and create concrete classes for different supported platforms which load assets in different ways. The engine will use the appropriate loader depending on what platform the engine is built for. For instance right now I am working in windows primarily, so I am creating a Windows asset loader, which will contain function “overrides” for loading assets. This way when you go to write a game using the engine, the game talks to the asset loader through its base class while the engine will have instantiated the appropriate one for that platform.
Because of this one of my goals is to have the engine separated from the game completely. I want to have the engine compiled as a library for whichever platform, and pass the game to the engine for handling all of its systems. But for starters I am basically going to work in windows as right now I do not have a lab/environment set up for compiling under Linux, Mac, Android, iOS etc.. Eventually I would like to have such an environment set up. In the mean time I am looking to purchase a Raspberry Pi and setting it up as a source control repo, and possible Linux builds. I am kind of weary about using it as a Linux build environment tho due to the lack of x86, which I may or may not use for some optimizations in the future. But I definitely need a repository going because I do not like not being able to roll-back my source to earlier versions if I make a design correction or whatever have you. It is just nice to have, especially for a project like this.
Since I got the basics of asset loading done, next I think I am going to work on the basic organization of the engine a bit, because the VS solution I am working out of right now is a mess, and a lot of the initialization is in a file main.cpp which I want to modularize into the engine. It’s a small smart but it is definitely starting to roll.