Wolcen: Lords of Mayhem Update #55 - Traps

We get to learn about the Dungeon Challenge mode and creating your own trap-filled dungeons in the latest Kickstarter update for Wolcen: Lords of Mayhem. Lucas, a programmer at Wolcen Studio, talks us through his responsibilities, and then introduces the basics of the aforementioned PvP Dungeon Challenge mode and the traps that play a crucial part in it.

An excerpt:

Recently, I have been working on the Dungeon Challenge, a game mode in which you will build your very own dungeon, using the same system as the Housing, to mine precious resources. However, you will have to defend your dungeon and mines against other players trying to steal you and will have at your disposition creatures but also traps, which are today’s subject.

Traps will come in various flavor: blades, turrets, bombs… and you will not only find those in the dungeon challenge but also in the open world as we will be using them to bring diversity and challenge to the level design.

For this reason, I had to create a system that would make it easy for our environment artists and level designers to create new traps, place them in the open world and parameter them accordingly to their level design needs but also allow to spawn traps we previously setup specifically for the dungeon challenge. I also had to develop a system versatile enough so it would work no matter the trap: a blade dealing damages when you touch it, a turret firing projectile, a spring board that sends you in the air and knock you back when you step on it…

To achieve that, I used an animation-driven state machine. Each trap has 5 animations: deactivated, activating, activated, attacking and deactivating with events placed on the animation timeline to send events to the code. Associated to that is an attribute system used to parameter the general behavior of the trap (if it’s a rotating turret, a turret that aim at the player before firing, a trap that deals damage on collision…), it’s rate of fire, the skill it will cast when attacking and various other parameters.

Additionally, traps can be setup to trigger when the player is at a given distance of the trap, if the player enter a trigger area or if the player collide with the trap. Everything is stored in a XML for easy access and editing.