Map generation
For the entirety of this year we’ve been using a basic map generator that we originally created during the initial week of development during 7DRL 2021. Now it’s time to overhaul it and create some more interesting levels.
This is an overview of the old map generation algorithm:
Generate a circular maze. Mazes are a convenient type of level generator because they guarantee that every tile is accessible from every other tile.
Knock out walls at random.
This helps to alleviate the undesirable parts of maze generation (specifically that being lost in a maze is not much fun). This results in creating little clusters of cover for the player to pull into or sneak around enemies.
We have editor tools for customizing how this process works, using Unity’s animation curve to control the probability that a wall will be removed based on its position (either distance from the center, or x or y position).
Randomly select enemies from a weighted probability distribution.
Randomly place health, weapon pickup, entry staircase and exit staircase.
And that’s it! We use 13 configs to generate these levels and stack them up to create the game world.
Revamping the generator is one of the meatier tasks on our roadmap, so hopefully I can show off the new system in the not-too-distant future.
New weapon, “The Crumbler”
We’ve been working on the “mole mines” biome—a cavernous underground area defending by industrialized sci-fi moles with drilling weapons and explosives.
The crumbler is a minibomb launcher which serves the 'shotgun' room clearer role in the mole mines biome.
Depending on the distance of your reticle from your character, you can either fire a tight, constrained arc or a loose spread.
Tying attack properties to reticle position, rather than aim direction, opens up some interesting space for weapon design and opportunities to raise the skill ceiling for players.
These changes aren't available in the GameJolt build, but if you'd like to follow development more closely then feel free to join us in our Discord server.
0 comments