procedural maps

Maps in Spy DNA

By Jason Sams, Lead Developer

We have been hard at work making the maps in Spy DNA look and perform better. We had a few objectives for improvements in our maps:

  1. make the maps look better
  2. increase the size of the maps
  3. decrease level load times
  4. provide a mini-map
  5. include area maps for mission planning stage

The first major change we made was to increase the amount of decor on the maps. In spy DNA decor items (trees, rocks, signs, roads, etc) serve both to make the map visually interesting, but they also give the player and NPCs cover.

We have also increased the size of the maps. When we tested the various maps, we noticed that the buildings that were necessary for the mission were occupying too much of the area, causing the player to start near the building and so limiting the choice of approach.

This was happening on the small maps, usually 256 x 256 meter in size and smaller. So we have scrapped the sub 256-meter maps and most missions will now default to a 512 m or 1 km map. Some missions will now default to 2 km. 

Those of you that have played the demo might be wondering about the load times on the large maps. We have overhauled the code that generates the map which has greatly reduced the time it takes to load a map. Now the 1 km maps load about as fast as the old 256 m maps and there is no longer a significant difference on load times on maps smaller than 1 km. Even the 2 km maps are now loading in under 30 seconds.

The new code is split into two sections. There is the map itself, and now the Unreal Engine visualization of the map is separate from that. This allows us to do something neat: We can now show the map of the mission area during mission planning at the base. This has also opened up some new options for infiltration such as scouting options to identify points of interest on the map.

This same map is used for the mini-map during a mission. You see a lot of trees on the mini-map right now as we are stress-testing the system.

Because a map with this many trees would normally make it impossible to see your party, we will hide the leaves when you have the camera looking down. The vegetation will progressively fade away as the camera moves higher, resulting in a view like this.

This will let you keep tabs on your whole party and any NPCs that they can see. The fog of war will still apply and hide NPCs if no-one in your party has a line of sight.

That’s it for my update this month. I hope you have enjoyed the screen captures from the game. Next month we should have some video with live missions.

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.