Welcome to Raise Your Civilization DevLog

How it all started

My adventure with game programing started long time ago. I've spend many hours playing game like Settlers, Castles, WarCraft, Command & Conquer, Diablo and many many more. When high school started for me, I was amazed how good Diablo 1 game was. It already had few years but somehow I was returning to it. There was something unique and special about this game. At that time me and my cousin had already experience in C programming language. During summer break we've decided that it is a time to try our skills by creating our own game. As it goes with inexperienced designers we first started coding then we had to write story for the game. It took us around four months to get game working. On our side we gained a lot of experience in content design, storyline, game engines and UI building. The game has been named Elementals Stone. I still do have a working copy of Elementals Stone and it source code.

After Elementals Stone there was not too much going on in game development on my side. There were few small project. The biggest of them was my implementation of Asteroid game. You had multiple weapons, upgrades, ships. Up to four players could play cooperate or deathmatch mode on single screen. Sadly this one had not survived through time. I could not find it on any of my backup drives after so many years. At this time I had to prepare to my university exams. For longer time I've dropped from any game development and started to focus more on my university and career. Still on the back of my had I was thinking to create one-day something new again. Maybe simple application or do another game. Slowly I started to experiment with my own game engines. One of my engines I've used to create Diablo 3 Heroes' Tavern android application. Application was allowing user to view in game characters, statistics and items. Compared to other Diablo 3 application at that time, this one was using 3D Engine to generate almost all views. This approach was giving user game like experience. Card rotation effect was looking really cool and it was fun to use. No other Diablo Android application at that time had that option. I was expressing my passion to create game like application through years by making smaller project, but haven't yet made a step to write a game again.

In 2016 everything changed when I learned that Unreal Engine 4 is available for free to all developers. At the times when I've been creating my own engines, it was taking me too much time to deliver something. Engine development was consuming 70% of project time. Unreal Engine 4 was looking perfect. Previous version of Unreal Engine had been used in multiple AAA titles. UE4 was looking to deliver even better functionalities and graphics quality. I've slowly started to learn about Engine architecture. At start I knew that I will not be using Blueprints, I wanted to have full control over my applications. First one I've created was just simple sphere - a planet, I was calling it at that time ;) I created this one to learn how to code camera movements and controls. It worked like this : if you where far from planet you could rotate camera around the sphere, while sphere was always in the middle of the view. Closer you got controls slightly changed. You could look around and fly over the surface. At this time I have not decided if I will write a game. Idea for this project came by checking how controls worked in The Universim Demo.

I got encouraged to do more by finding out that Unreal Engine 4 is very friendly when working with C++. With no idea what to do next I was thinking about games I recently played. At that time I've spend a lot of time playing Banished and Settlers 7. Everything was great about this games but for me they were missing one thing. Maps for me were too small. I was wonder how hard would it be to create big random map - to be honest I had idea of infinite map in my mind at that point. On screenshot you can see my first attempts to create procedural terrain with Unreal Engine 4. I struggled with shading and generation speed. My idea for getting big procedural terrain started to grow into game idea. There was no name for it. My project name was set to Prototype1 at start. I knew I wanted to create city-builder, but not a city builder like other ones. This is how it started, this is how this project came to life.