Objective 4
Use software development processes to
analyze a project problem, and to design,
build, and test a corresponding software
solution.
Haunted Game
This is a project that I developed using Unreal Engine 5 with visual scripting. The goal of this game is for the user to complete the game by solving puzzles to unlock the final house at the top of the hill. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software
solution. I had an issue with lighting in my forest area. The entire forest area is covered in a black box because I wanted the forest to be dark at night so I used the black box to block out all the light. But the player couldn’t see anything at all so I needed some light. I tried to add light sources to the area but they weren’t working correctly and some areas were too dark while others were too lit. Plus I could only have 5 light sources in one area and my forest is quite big. I researched online and I found the idea to add a flashlight to the player. I used visual scripting to add a switch that when the player presses the F key a light will turn on that lights up their path from the middle of their body. This fixed all of my issues because not only does it mean that every area is lighted the same it also allows the player to control whether or not they want light in a certain area of the forest of not. It also adds some more functionality for the player to be able to interact with. In a lot of cases having a flashlight in a horror game is a lot of fun to control.
GitHub Link
This is a project that I developed using Unreal Engine 5 with visual scripting. The goal of this game is for the user to complete the game by solving puzzles to unlock the final house at the top of the hill. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software
solution. I had an issue with lighting in my forest area. The entire forest area is covered in a black box because I wanted the forest to be dark at night so I used the black box to block out all the light. But the player couldn’t see anything at all so I needed some light. I tried to add light sources to the area but they weren’t working correctly and some areas were too dark while others were too lit. Plus I could only have 5 light sources in one area and my forest is quite big. I researched online and I found the idea to add a flashlight to the player. I used visual scripting to add a switch that when the player presses the F key a light will turn on that lights up their path from the middle of their body. This fixed all of my issues because not only does it mean that every area is lighted the same it also allows the player to control whether or not they want light in a certain area of the forest of not. It also adds some more functionality for the player to be able to interact with. In a lot of cases having a flashlight in a horror game is a lot of fun to control.
GitHub Link
Puzzle Game
This is a project I developed in Unreal Engine 5 with visual scripting. I designed this level to be a multi-puzzle game. This level has a bunch of different types of puzzles for the player to get through. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software
solution. An issue that I was able to fix was that my enemies would die before I entered the second room of my maze. This was a problem because I wanted to keep the obstacles in the other room but I also didn't want the enemies to be dead before the player got the chance to interact with them. The obstacle in the other room that kept killing the enemies was a barrel that once touched, explodes and kills anyone in a certain radius. The enemies were patrolling in the second room, running into the barrel and dying. I didn’t want to get rid of the ability for the enemies to die by the barrel in case the player wanted to lure the enemies into the barrel but I knew I needed to do something. I decided that I would change their behavior tree and instead of patrolling I would have them sit idle until they see the player, then they can go into the attack state. This worked great because the player was still able to kill the enemies when they got into the room and the enemies didn’t die before they entered the room.
GitHub Link
This is a project I developed in Unreal Engine 5 with visual scripting. I designed this level to be a multi-puzzle game. This level has a bunch of different types of puzzles for the player to get through. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software
solution. An issue that I was able to fix was that my enemies would die before I entered the second room of my maze. This was a problem because I wanted to keep the obstacles in the other room but I also didn't want the enemies to be dead before the player got the chance to interact with them. The obstacle in the other room that kept killing the enemies was a barrel that once touched, explodes and kills anyone in a certain radius. The enemies were patrolling in the second room, running into the barrel and dying. I didn’t want to get rid of the ability for the enemies to die by the barrel in case the player wanted to lure the enemies into the barrel but I knew I needed to do something. I decided that I would change their behavior tree and instead of patrolling I would have them sit idle until they see the player, then they can go into the attack state. This worked great because the player was still able to kill the enemies when they got into the room and the enemies didn’t die before they entered the room.
GitHub Link
Tank Game
This project is a 3D multiplayer tank-driving game built in Unity. It involves many features including AI-programmed enemy tanks, which each have different personalities and movements. The object of the game is for the player/s to survive and move through all of the rooms. There are many UI components and menus throughout the game making it feel more complete. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software solution. An issue I had with this project was that my enemies would run into each other and then one of the enemies would fly off into the sky. It was a funny bug but definitely not what I wanted to happen. Each of the enemies in this game is programmed differently and looks different. However, they all inherit from the same parent class that holds a lot of the basic data for the enemies so I couldn’t understand why this was happening. I did a lot of research and had my professor look it over and we couldn’t figure out the issue. However, I eventually found it by looking at all the basic information about each tank and noticed that somehow they all have different masses. I don’t remember changing this but at some point, it changed. Once I changed all the masses to the same size the problem went away and my enemies stopped flying off into space.
GitHub Link
This project is a 3D multiplayer tank-driving game built in Unity. It involves many features including AI-programmed enemy tanks, which each have different personalities and movements. The object of the game is for the player/s to survive and move through all of the rooms. There are many UI components and menus throughout the game making it feel more complete. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software solution. An issue I had with this project was that my enemies would run into each other and then one of the enemies would fly off into the sky. It was a funny bug but definitely not what I wanted to happen. Each of the enemies in this game is programmed differently and looks different. However, they all inherit from the same parent class that holds a lot of the basic data for the enemies so I couldn’t understand why this was happening. I did a lot of research and had my professor look it over and we couldn’t figure out the issue. However, I eventually found it by looking at all the basic information about each tank and noticed that somehow they all have different masses. I don’t remember changing this but at some point, it changed. Once I changed all the masses to the same size the problem went away and my enemies stopped flying off into space.
GitHub Link
Maze Game
This is a project that I developed in Unreal Engine 5 with visual scripting and C++. The goal of the game is for the player to complete all three levels/mazes and to do that they have to make it all the way to the end of the last level where there is a victory screen. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software solution. I had a few issues with the project but one of the most frustrating issues was that my enemies would not play their punching animations when they spotted the player. Their other animations would play like their stun animation and their dying animation but not the punching one. I thought the animation might be wrong slightly so I checked all of that out and it looked and worked fine. I then looked at my behavior tree to try and find the issue. Through a lot of trial and error, I eventually found the issue. I have it where the enemy spots the player, waits 3 seconds, and then starts the attacking animation. However, for some reason, I accidentally messed it up and I had it where the enemy would see the player, start the attacking animation, and then wait 3 seconds. When it was in this order it caused the animation to not play and the enemy would just kind of stare at me. If I ran into the enemy it would still hurt me but it wasn’t attacking. Once I changed the order it started working as I wanted.
Azure Link
This is a project that I developed in Unreal Engine 5 with visual scripting and C++. The goal of the game is for the player to complete all three levels/mazes and to do that they have to make it all the way to the end of the last level where there is a victory screen. This project meets this objective because I used a software development process to analyze a project problem, and to design, build, and test a corresponding software solution. I had a few issues with the project but one of the most frustrating issues was that my enemies would not play their punching animations when they spotted the player. Their other animations would play like their stun animation and their dying animation but not the punching one. I thought the animation might be wrong slightly so I checked all of that out and it looked and worked fine. I then looked at my behavior tree to try and find the issue. Through a lot of trial and error, I eventually found the issue. I have it where the enemy spots the player, waits 3 seconds, and then starts the attacking animation. However, for some reason, I accidentally messed it up and I had it where the enemy would see the player, start the attacking animation, and then wait 3 seconds. When it was in this order it caused the animation to not play and the enemy would just kind of stare at me. If I ran into the enemy it would still hurt me but it wasn’t attacking. Once I changed the order it started working as I wanted.
Azure Link