levels

Procedural map generation in Spy DNA

by Jason Sams

It’s been a while since I wrote my last update. I’ve been hard at work on a few things. But as promised in the last update, today we will talk about mission maps.

We have the core of the map generation up and running. We have tested it generating maps from 128 meters square to 2 kilometers.  Map generation times are pretty good; just a few seconds in most cases.  

Procedural map of a wooded rural area with roads and trees

The maps are complete with bushes and trees. We are planning to add grass too, but that is a little harder to do without hurting performance, so it may not make our first Early Access release.

The size of the map will have a large effect on the time a mission takes to complete, and the general flow of a mission. For example, on a small 256 or 128 square meter map, there is no reason to bring any sniper weapons with you on a mission. Most of the regular rifles are “good enough” at those ranges while being much more useful up close.

Closer view of a procedural map, showing transition from sandy to grassy terrain

We understand our players will have a variety of play styles. So we will be adding an option to the settings to adjust the map size to larger or smaller to mirror what you enjoy most. This will apply a +1 or -1 to the map size settings. The supported map sizes are 128, 256, 512, 1024, and 2048 meters. At the default settings all missions will be on maps from 256 to 1024 meters. So applying the +1 would change that to 512 to 2048. 

When you start a mission, you will be able to see all of the terrain. We assume that in the future you'll still have satellites and drones to recon the area before you deploy. Hidden or movable items such as enemy patrols will be hidden by the fog of war until a team member manages to spot them. Once spotted, they will be marked on the map. If you lose contact, the marker will remain at the last position a team member saw them.

With the upcoming demo we will be using the procedural maps to allow the player to generate skirmishes. We want everyone to have a chance to try out our unique combat system and get a feel for the game.