computer science, programming and other ideas
This week, I have continued to develop my game engine. I have laid the foundation for a certain number of engines and systems.
As you may know, I am using SFML and C++ to create my game. However, building a game directly with SFML is a bit tough as SFML is a low-level library. Thus I have decided to build a small game engine to help me later on. Nothing too fancy or general, just the necessary to be able to power Vagabond.
But, I did not do everything from scratch. I used the experience I acquired during the development of Simulopolis. Moreover, when I finished developing Simulopolis, I read two books SFML Game Development and SFML Game Development By Example to compare their approaches and mine. It was really instructive.
In this article, we will take back our entity-component-system implementation where we left it in the previous article and try to improve it.
This week, I have started working on my game engine for my game Vagabond. I have worked on an implementation of the entity-component-system pattern.
In this article, I want to share with you my implementation which is freely available on GitHub. But instead of just commenting the code, I want to explain how I designed it. Thus, I will start with the first implementation I coded, analyze its strengths and weaknesses and then show how I improved it. Finally, I will give a list of things that still could be improved.
This week, I continued to work on the dungeon and cave generator. I refined some things I had started last week and then I started generating tiles from the output of the generator.
I am sorry, there was no article last week as I was on vacation.
But, this week I started working on a new topic: dungeon and cave generation. I used space partitioning to generate rooms, maze generation algorithms to generate the corridors and cellular automata to have a more organic look and feel for caves. Let’s dive in the details!