Filip Smola

Categories

  • Open Sea

Tags

  • C++
  • programming

Over the past few months, I have been seeing my lack of experience with C++ as more and more of a problem. I realised that in order to do what interests me properly, I need to learn that language and get as good as possible with it. I like Java but it has some big disadvantages. Mainly less possible optimisation which results in worse performance, and the requirement for everything to be object oriented, which causes some overhead when implementing concepts that don’t necessarily need to be objects.

A couple of weeks ago I finished implementation of the ECS redesign for Open Desert. I realised that this would be a good time to put Open Desert on ice and start properly using C++. And for that I decided to make a new project, Open Sea, which will be basically a reimplementation of Open Desert in C++. Of course the different languages mean some design changes, but the main idea will stay the same.

Open Sea will be a game engine and modularity will be one of the main priorities. That way, I can rewrite different parts of the system as I get better at C++. The main aim of the project will be to learn to use C++ well and effectively and to familiarise myself with the whole development process in the language.

I will write articles as I develop different parts of the project to highlight what they take from Open Desert, the changes and reasons for them. My hope is that those articles might one day help someone who is making a similar switch.