Devlog #3 - Interaction System & Map Generation
To start off the week I created my Interaction system. This will be used for any interaction. I Created an interface called IInteractable, that has a void Interact and string InteractText. I also created a script to handle player interaction. First I find the closest interaction inside our radius, and call “InteractText” setting our UI text and trigger “Interact” once clicked;
I also created a door script that will smoothly open and close the door using the interaction system, synced across the network. I also synced current bullet VFX and stopped networked players weapons from being visible through walls.
From the beginning to the end of the week, I was working on my prototype map. I created blockout props and started to create the prototype map, leaving 5 different areas empty and spacious. The game’s main selling point is replayability and randomization, especially in the heists themself. I created an expandable system using scriptable objects to spawn different areas based on heist requirements and room dependencies. For example, vault 3 has gold inside the vault, meaning we need the one security room that doesn’t have a gold cage to spawn. In addition, the heist can have a maximum of 1 vault , 3 offices and 1 security room. Despite not being tested, it should work for all heists.
The host randomizes the maps, and syncs it to the clients.