Updated: May 8, 2020
Hello everyone and welcome to a new edition of the blog. This semester will be about an exciting new game engine development coming along. This is where I (along with some other people) develop a small game engine. This is in no way a top tier engine like Godot, Unity, or Unreal. However, it will be a good learning experience, and hopefully work more like a proprietary engine that is good at doing one type of thing. You can expect a few posts here and there as major features are added. Currently, this will be an introductory post where I can discuss the basis and features that I hope to include. The most obvious features are the essential ones: Graphics, Audio, Input, UI and Content Browser. I hope to include some form of level editor, where the user can design the level freely, without having to use code or extensive menus. I am also adding some standard Auxiliary Tools, such as a debugger and profiler, so the user can see what the performance is of their games. Now, what type of games would this engine be designed to make? I'm thinking a Simulation/Management type of engine, maybe a builder. Something capable of making a small world for the player to manage and simulate. I feel that is something that is both feasible and small enough to develop some real streamlined tools for. Because if I go too broad, I feel like the user would have to re-make a lot of tools that would be vital to the specific type of games I need. And, while that is fine, I feel like narrowing down to a rapid stage of Simulation development would be better to test what the engine is capable of, since it will be developed in a short time frame. Now, it is a requirement for the engine to be cross platform. It is very important to allow devs to develop on PC as well as mobile, Mac, and Linux. So in order to do that, what IDE is to be used in development? What tools will be used in the development? So, I will consider various IDEs to use in order to develop this. The most prominent is Visual Studio, but what are the other options. First, I looked at Netbeans IDE. The selling feature of Netbeans is it is free and runs on a java virtual machine, which is both good and bad. Because it is free, licensing fees to expensive IDEs will be nonexistent. And because it runs on java, it can be run anywhere java is installed. The problem? Java is a memory eater. It would take up a lot of the computer's memory programming the engine. That would require more expensive computing power, or a much more rigid management of what is running on the computer. Next, let's look at Eclipse. Eclipse is another free IDE that can free up pesky licensing fees. The downside? It isn't a rugged as other engines. It often involves a bit of extra setup, and will sometimes rely on more manual statistics. But, it is efficient and it is free. And if I am making the engine in Java, Eclipse might be the one. However, since I have a student license, I feel Visual Studio is still the best IDE in order to develop a primarily C++ game. I will also use the STL library in order to handle the basic systems of the game. I will explore branching out into other libraries in which areas to improve the engine in.