As I complete key functionality in my engine, I will create a new post to explain the logic behind the code. The code is currently open source and will be available in my GitHub repositories. Currently the repositories exist with minimal code, if any at all. As this is my first foray into the uncharted land of game development, I expect the learning curve to be steep and my progress to be gradual. Currently much of my work is spent on research and testing new ideas, as well as a high level design for the end product of my game engine.
The game engine (Brain-Buster-Engine is the working name) will be divided into several sub-engines, each with their own important responsibility. The idea behind the sub-engines is that they can be used independently of one another, and in a sense are merely building blocks for any game engine that chooses to make use of them. Below is the current concept of the sub-engines that will be used, and links to their respective repositories. I expect this structure to grow and evolve throughout the development process.
(Game Engine) Brain-Buster-Engine - The amalgam of my sub-engines
Safe-Brain-Engine - Managing local save files
Vault-Brain-Engine - Managing all game resources
Wave-Brain-Engine - Audio playing device
Paper-Brain-Engine - 2D rendering engine for graphic content
My current focus is on the Safe and Paper Brain-Engines. I expect the Paper-Brain-Engine to be the most time consuming, as graphics programming can be rather intensive. As a result the other engines may be completed while I continually work on the Paper-Brain-Engine. Once all of the necessary engines have been built, I will create a new project (GitHub repository) in order to utilize their functionality in building the final game engine, the Brain-Buster-Engine.
I realize that I have embarked down a road completely unknown to me, and that it may take me quite a while before my destination is reached. That is why I hope this journal will come in handy, in order to track my progress and learn from my mistakes along the way. With any luck it will help others learn from my experiences as well.