LUKE URITESCU
Metal Havoc Release 4: Project Impact
This page is dedicated to the contributions I made for the first release of the game Metal Havoc
Alternate Pathing:
Alternate pathing is meant to allow the user a unique experience when playing through Metal Havoc. How the user reacts to specific encounters will alter how the they proceed through the level. The pathing system only allowed for one default path but incorporating alternate paths was not difficult. I created a Pathmanager script which has a reference to the default path, and the current path.

(Click the image to enlarge)
I created a PathManager script which has a reference to the default path, and the current path. The PlayerMovementManager which is in charge of moving the player to gets the current path from the PathManager.

(Click the image to enlarge)
The CustomUnityEvent script allows for designers to simply set a unity event up to invoke, or they can make the object be something the user can shoot at to invoke a unity event.

This video shows the user saving the civilian, and getting to take a alternate path than the main one

This video shows the user not saving the civilian and then continues on the main path
Civilian:
The civilian mechanic is meant to provide a variety in the gameplay. The user must have accuracy and quick reactions in order to save the civilian from an enemy. The civilian is able to take damage from the player, and from the enemy. The designers have to be able to decide if something occurs whether the civilian survives or not.​

(Click the image to enlarge)
The civilian script does not need the AI like the enemies do. Whenever a civilian encounter occurs, it will be with timeline because the timing of all the moving parts must be exact. The civilian must also know who is attacking because that determines whether it will turn into an enemy or not.

Civilian robots have the option to be turned into enemy robots. I decided to incorporate the Object Pooling pattern. This pattern will help spawn an enemy robot in the same position of the civilian robot that got attacked. The civilian will be a spawner, and will pull an already instantiated enemy from the EnemyPool. These pooled objects can be reused as long as they are needed, and helps avoid instantiating and destroying game objects during the game.
Custom Editor Window:
While this contribution did not add any new systems to Metal Havoc, it provides some quality of life to designing the levels. If a designer wants to create a sequence using Unity's Timeline, they will need to know the the exact position of the player at a specific checkpoint. They can drag the player object and estimate, but that can cause jittery movement when tied with Timeline.
​

(Click the image to enlarge)
This EditorPlayerPlacement script allows for the player to match the position of another game object in the editor. The designers have to grab the reference of the player in the scene and then a reference of the game object they wish the player to move to.

This first video shows the window along with the scene view. The window has two fields, and a button. When the button is pressed the game object in the player field will match the position of the game object in the checkpoints field. This quickens the speed creating timelines for the designers by given an exact position of the player at any given checkpoint.