Heist-Meisters is the third RASA Studios map for the Minecraft Marketplace. In the map, players complete heists in procedurally generated levels, full of traps, puzzles, and guards. Within the project, I worked on a number of elements:
- Room Implementation
In order for the map to be able to create its procedurally generated levels, a large number of different rooms were built. I was one of the mechanics tasked with taking these from a static state, to one where they were able to be placed into the heist with functioning in-room mechanics (for example, puzzle mechanics that open gates).
Early on in the project’s development, I helped formulate the achievement system. This system checks a number of statistics concerning what the players are doing and have done (such as which difficulties have been played, or the number of times a certain guard has detected a player) and then gives the players a notification in their chat log when different conditions are met. Achievements reward the players with new masks that they can wear during heists, each of which is based on a different Minecraft creature (for example a cat, a squid, a fox, etc.).
Given the large amount of work that was required in order to implement the rooms, I helped ease the process by writing a few tools and scripts that were able to perform some monotonous tasks much more quickly. One tool that saved a lot of time was one that parsed NBT data for a room and generated in-game commands based on the locations of entities, which would have otherwise been especially tedious to write by hand. Another was a tool that read a file written in a custom grammar and compiled it into a self-contained “mcfunction” file that Minecraft can understand, though this functionality didn’t make it into the final version of the map. I wrote a tmLanguage syntax, parsable by both Visual Studio Code and Sublime Text 3 (the two text editors primarily used by our team), which meant that files written in the custom grammar would be able to be visually parsed more easily.
As is the case with all RASA projects, many different people contributed to various parts of the map. It is always a joy to be able to collaborate with such a wide range of people on this project.