Casey Arnell​
Game Designer​
Looking Glass
​
Summary​
Looking glass is a two player couch coop shooter. the players each start the same but can get new abilities as they play. as they play they will have to shoot their way through multiple enemies to close the enemy portals and then go to the next area they are needed.
looking glass was made in 4 months by 5 people.
My Contributions
AI
When we started making our ai we didn't use Unreal's built-in ai perception which has a multitude of things from vision to hearing. we built our own ai vision logic based on a line trace and checked for the main thing did the line trace hit the player if not they would continue to patrol around at pre-placed spots. once the player was in sight we required three more checks for the ai vision the first being distance then the light level of the player with the last being another distance check to see if the player was to close even if they were hidden. I eventually started adding in sound perception which was also built from scratch like the vision. the sound preception worked alongside the vision as some objects could be used to lure the ai away and your own spells would lure them to you when you cast them. a lot of this was scrapped later like patrolling and the multiple checks for a more simple ai when we changed directions. we kept most of the vision logic however from the first two checks and the search logic when they lost sight and we completely got rid of the sound system. Which when we swapped I mainly started focusing on making new ai varieties instead of the original one and we ended up with 7 ai types each playing its own role in the game. which I ended up reworking the vision logic to be more simple and got rid of the unneeded code and added in a way for the ai to attack to closest target instead of prioritizing player 1 first. I gave each of the ai two attacks a normal attack and a special attack which would do different things depending on the ai. for example the catcher would come up and grab one of the players dragging them around for their special while the normal was a regular sword swing. which the most unique of the ais was the catcher having to go in and add in a lot of logic just to keep the player facing the right direction and making the catcher run around sporadically when they have a player.
Weapons
at the start of our project, we started off using swords and spells the spells and weapons logic was handled by me almost in its entirety with the spells I created two types a held down version and a click to cast version the held down version was all AOE spells and in early builds a blink spell. the held spells all used a line trace that checked if they hit on a castable surface and wasn't just up in the air. the line trace would save the hit location it last hit and the spell would be cast at that location once the button was let go. both spell types used an array to store the spells and its info. which the spells could be swapped out in the game by a spellbook found lying around a level. the swords were replaced with guns later on in the project and the guns all used a different trace type the shotgun was a sphere trace and the rifle and pistol were a line trace.
Health system
placeholder
Optimization
Early on in the development with started noticing huge performance deeps. This was caused by a multitude of things from particle effects to bad code along with the M370X in our computers. so I spent a lot of time looking into what was causing performance drops and making a settings system so we could play at a minimum of 30fps. I went in and started shrinking code where I could get rid of unneeded casting on interaction objects, adding in distances for objects so they disappear, and deleting any unneeded ai as they took up most of the CPU time when in mass numbers. I eventually added a ai brain that spawns ai up until about 25 of the weaker AI and 1 of each special AI.