1. Humanica
  2. News
  3. Devlog #2 08.10.2025

Devlog #2 08.10.2025

[p]Hello, everyone! Today I'm going to talk about how I created the world map.[/p][p][/p][p][/p][p]Initially, the task was as follows: I needed to travel around the world map to add the feeling that the world outside the settlement exists and that something is even happening in it. This feeling was sorely lacking in the game that inspired me so much at the time - Dawn of Man. It's no surprise that my project has a lot in common with this game, but that's not what we're talking about right now. I chose a hex map format because I used to love playing Civilization 5. Generally speaking, at one point I hoped to create an analogue of Civilization, with development from the Stone Age to space rockets, but within a single settlement. Then I had to cool my enthusiasm, and I only developed it up to the Iron Age.[/p][p][/p][p]First, I started making a procedural hex map. I used the same methods as when generating the main map on which we build the settlement: we take Perlin noise of different scales and combine them. Each cell has its own specific landscape: plains, mountains, hills, forests, hills with forests, etc. [/p][p][/p][p][/p][p]After that, I added water and various objects: ancient ruins, herds of animals, neighboring settlements. Units can move across the cells themselves. At the moment, the only such unit is a squad of scouts controlled by the player. [/p][p][/p][p][/p][p]You can add a bunch of different mechanics to the world map, and there's a ton of potential for creativity, but I decided to stick with a few basic features because I have limited resources. At the moment, you can control your scout squads to clear various points of interest and find useful resources: new plant seeds for cultivation, new animals for breeding, and technological knowledge to unlock certain technologies. Essentially, these are just expeditions, like in Frostpunk.[/p][p][/p][p][/p][p]It took a lot of effort to implement a working hexagonal grid with the necessary coordinates. I also had to use some special features in the generation process. For example, to ensure that no objects spawned within a radius of 2 cells around the settlement.[/p][p][/p][p][/p][p]Next, I added the ability to gradually reveal the map. All unexplored cells will simply be hidden. The further you travel from your settlement, the more valuable points of interest you will find.[/p][p][/p][p][/p][p]Cells are opened through the unit view mechanism. Each unit has a view value, and each cell has a “view difficulty” value. Thus, units will see far across plains, but will not see through mountains.[/p][p][/p][p][/p][p][/p][p]And, of course, I implemented pathfinding on a hexagonal grid using Dijkstra's algorithm, because units will take longer to move across some cells (such as mountains), and I needed a way to automatically select the optimal route.
[/p][p][/p][p][/p][p]To send out scout squads, you simply need to build a scout camp and assign three settlers to it. Currently, this action costs a fixed 20 food. But in the future, I will make it so that the squads’ food runs out during the exploring. You will need to plan how to find useful resources and get the squad back home before they starve to death.
[/p][p][/p][p]To be continued![/p][p]
[/p]