Development Diary No.48
This is probably the longest writing and I would like to believe the long-awaited development diary. The diary was postponed due to the abundance of news about the trip to IGROPROM and then a lot of events shifted the focus from the diary to the side.
I sat down to write more than a dozen times, but everything constantly merged into some kind of whining that everything was not going according to plan and the received energy boost from the events was going away.
I am writing a truly global strategy in which the scale of everything that is happening from the first minutes of the games should be visible. And the first thing a player sees in our project is the scale of the game cards.
I was comparing the sizes of the maps, maybe they are no longer accurate and something has changed since then.
I start every working season on a project by refining the game map, rendering, or finishing the engine. This allows me to get involved in the development process faster.
During the entire development period, I spent a lot of time studying the algorithms for generating maps and conducted many experiments to find the best solution. As a result of my efforts, the new generation system works very fast and allows you to create huge maps quickly and without delay. I am very pleased with the result of my work, I think that the new card generation system will be able to surprise and interest players. Of course, in the future I plan to add new elements and features to the system in order to further increase the diversity of the game world.
Throughout the winter season, I have been working on several interrelated tasks in parallel.
The first task was to rewrite the entire generation for sid generation (Sid, (from the English random seed from seed — grain, beginning) — a value consisting of characters (including numbers), which is used as the basis for generating games of the world).
The second task is to introduce the concept of height difference. It turned out to be quite a difficult task, especially in terms of laying rivers.
The third task arose in cheat mode, when the player can see the entire map, there was an obvious problem with friezes when loading new visible areas.
We had to work on optimizing resource utilization. I decided to use parallel loading of resources in different threads to speed up the loading process and implemented preloading of resources to reduce the waiting time. Resource loading has become significantly faster, which has improved the overall performance of the game.
But there is still work to be done in terms of additional optimization of the resource loading process to refine the caching function.
The fourth task is the implementation of all units of the first epoch for the six races and animations for them. We have coped with this task.
The fifth task was to finish building packs of all races. We have practically coped with this task, there are very few specialized buildings left (hunting camps, mines, quarries, sawmills, pastures and fields).
The sixth task is to implement a programmatically scalable user interface. And we have solved this problem -
The seventh task was to write the second iteration of the musical accompaniment to the game. It's ready too. Now it remains to make transitions and pauses between the music.
The nearest plan
The planned tasks should be solved by November 20, 2024, and we will take the new build to IGROPROM.
The engine:
- Optimization of the caching function.
- Optimization of model loading.
- Implementation of music track management.
Models:
- All models of buildings of the first epoch.
- Animal models and their animation.
Textures - update the textures of the map. The task is difficult (or costly) and is still questionable.
UI/UX
- Implement the main game interface.
- New design of the unit window and control buttons.
- New icons for units and cities.
- Finally make a city interface.
Gameplay
- You will have to rewrite a bunch of code within the new client-server paradigm. A huge job that is even scary to take on.
- Software implementation of the city interface.
- To complete the interaction of the city with the outside world.
- Complete the consumption and extraction of resources by units.
- Implementation of the scientific branch of the first epoch.
The work is moving, and I have already begun to slowly return to the project after my summer working season.
There will be a lot of interesting news soon!