THUNDER: Throne Wars

Studio: IMU Studios

Scripting Solution: Objective Capture

In THUNDER: Throne Wars, the main gameplay objective is to capture both your team’s throne and the enemy team’s throne and hold them to gain new abilities. By capturing your home throne, you become the Prince. By capturing both your throne and the enemy team’s throne, you become the King. Once you become King, you can return to your home throne to build your Empire. This system is demonstrated in the video to the right.

The throne capture system goes deeper than being able to capture an object by entering a zone. By standing on one of the three seats of the throne, players increase their capture speed and their points earned, with the most benefit going to the central seat. The script I set up properly changes objective capture time, rewards players with points, and triggers the resulting animations and sounds upon capture. It also properly replicates events to other players in the game. As players stand in the capture circle, my script regenerates their shields and ammo as well.

This capture system works for the thrones of both teams, with the script determining which team the capturing player is on and triggering different gameplay events and sounds accordingly.

Scripting Solution: Weapon System

Players in THUNDER  have access to a variety of high-tech, sci-fi devices to help them in their fight to conquer their opponents. The devices are used not only to deal damage but also to enhance the player’s movement abilities.

I scripted a system that allows the player to switch to any of their equipped weapons using the number key. Upon player input, the script switches the proper device mesh and variables, as well as fire rate, ammo level, particle projectile, and movement capabilities.

By default, players start out with only two weapons in their inventory. Once they collect the device pickup spawned in the level, then that device is added to their inventory for that match. Players can collect up to 10 different devices throughout each match.

Scripting Solution: Castle Gate Interaction

Since the main objective of THUNDER is to capture thrones and build your empire, players need a way to keep their thrones safe from enemies. Besides the many abilities and weapons they have access to, players can make use of the defensive advantages their castles give them. Players can work together or fight each other to defend and attack castles from the ground floor all the way to the top of the towers.

Each castle has two main entrances, one at the front and one at the back. While the main entrances aren’t the only way in the castle, they are the easiest. By default, the gates guarding these entrances stay open. Each gate can be closed by 6 different buttons placed around the castle, then it opens again automatically after 15 seconds. The button used to close the gate will stay locked for 5 seconds after the gate opens. Closing the gate provides players a way to slow or even stop attacks from the enemy team.


The system I scripted in Unreal Engine uses a series of level sequences to trigger the gameplay events. Each time a player steps on a button, the button depresses, and the corresponding gate close animation plays, then reverses 15 seconds after it finishes to open the gate back up. While the gate is closed, none of the other buttons have an effect on that gate. 

Scripting Solution: Environment Healing

The large map of THUNDER  provides players an environment to explore and take alternate routes to their objectives. Placed strategically throughout the world are various shrines. These shrines heal your shields whenever you stand in their radius. It’s a great way to get away from the action, as well as a fun incentive to explore the map further.

While the shrines have different colors depending on the territory they are located in, they all achieve the same effect. Players can stay near them knowing they will be healed. They must be wary though – enemies can still ambush them if they let their guard down.

I created a blueprint in Unreal Engine to handle this scripting behavior. Once a player enters the radius of the shrine, it begins healing the player over the network properly and updates their HUD accordingly.