This small project was a test to increase my knowledge of handling data inside unreal engine. Its concept was to build a laser mini game where the player would have to control a series of laser nodes to solve puzzles by connceting the start of the level to the end.

The Design
Creating the design for this project involved obtaining references for similar mechanics i wanted to use in my game. One key reference for this project was Rachet And Clank 3, (insert level name here) The mechanic of bouncing the laser around the level to unlock elements of the level would be a core function of my game
The player would start with a power laser that they would then use to actiate a series of nodes around the level to unlock other elements and solve the level
This was the first test of the Laser Bounce Mechanics 
I encountered issues with the lasers not firing correctly when they hit the adjacent towers. To overcome this issue i created a bool check system that would disable a towers incoming trigger so that it would only perform the cast to the next tower from the tower node that wasn't hit by the last tower.
This second test saw the lasers firing correctly however, the chain would not break when one of the internal lasers in the chain was rotated. As this was a core concept for the puzzle mechanics i wanted to implement, i needed to find a solution to this.
To fix the rotating issue, an array was created to store the towers that were currently active. When a tower was told to rotate, we itterate through the array one after the rotating tower's index to break the chain and make the rotating tower the new last index of the array.
Blueprints 
To ensure that the levels designed for the game can be quickly changed based on feedback, the towers were built with a modular approach. I used the Unreal Engine's construct script to set up the basic values for the towers in the editor so that if they ever need changing it would be a quick process to complete
When selecting the tower type for the tower you place in the editor you simply just have to change the Enum drop down menu to the tower you wish to use. This will then change the settings for the tower based on the struct data created for the towers. This modular approach meant that the game could be handded of to a designer who isnt familiar with coding to be able to design levels using the mechanics and make changes as and when they needed to.
The blueprints for this project are listed below (external links) this page will be updated as i make more progress on the games design and aim to have this page act as a development log for the game. As its my first full game built from the ground up it will be good to see how the game takes its shape over the development course.
Link to the Tower Function Blueprint
Link to the Towers construction script