I finally spent some time adding completely new content to the game. The next tech demo will be featuring two missions, each having different looks.
First, we have the sewer levels:
The biggest change in the implementation was that map tiles now can be animated (water and water edges). Also, the water tiles are the first tile types that are both transparent (so the players can see and shoot through them) and non-walkable. It does sound obvious but required some code changes.
Sewer levels have much more closed locations than the "industrial district streets" level had. This introduced some challenges when composing level fragments. Each level is being randomly generated from predefined fragments, and I needed to make sure that fragments stick together correctly. It was easier with open spaces as they were, well, open. Here, with corridors and narrow passages present, I had to be more clever.
I ended up adding metadata to each level fragment, holding information about valid connection points with neighboring fragments. For instance, the level below can handle both low and high connection from the right, and a high one from the left:
This allowed for maintaining the same semi-randomized nature of levels and making sure that there is always a valid movement path for the player.
I've also decided to create some interior levels for the industrial level types as well, now that I had this fragments' connection thing figured out. These look pretty cool as well:
That's it for this entry - see you in two weeks!