Objective 5
Demonstrate development skills using
multiple programming languages,
development environments, and platforms,
including advanced and/or experimental
topics in game programming.
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 demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. In this project, I used animations for different triggers. This was difficult to complete at the time since it was more advanced than anything I had done before in other classes. I programmed the ability for certain animations to trigger when the player did something specific. For example, when the player walks by a bookshelf with a candlestick on it the candlestick then proceeds to lift up in the air, move to the other end of the bookshelf, and sit back down again. I used a level sequencer to add an animation to the candle stick and have it move in that specific way. I then programmed it to work with a trigger box that the player can then move through unknowingly. I did this with a lot of different aspects of my game such as the moving trees in my forest and the fireplace that starts by itself.
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. This project meets this objective because I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I created a very advanced feature in this game that accesses the time and date on my computer and then uses that in the game. I have a level of the day that changes each day. To do this I had to have the program access my time and date and then check if the date was different than the last time the level of the day was clicked. This was incredibly difficult to program and actually get working. I had a lot of difficulties along the way but in the end, I actually got it to work and I think it’s a very cool feature to have for this level.
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. This project meets this objective because I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I created a very advanced feature in this game that accesses the time and date on my computer and then uses that in the game. I have a level of the day that changes each day. To do this I had to have the program access my time and date and then check if the date was different than the last time the level of the day was clicked. This was incredibly difficult to program and actually get working. I had a lot of difficulties along the way but in the end, I actually got it to work and I think it’s a very cool feature to have for this level.
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 demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I did a lot of different advanced features in this class but one that was very advanced and something I had never worked with before was animations this complex for the characters in the game. We had to program and mess with each little bone in the body to get the animation to be smooth and work well. I was editing the pinkies of these animations and we used the Maniquins Pack for the Epic store for the characters in the game. This pack came with the ability to add animations and have a control rig like the MetaHumans have. We also had to add an animation starter from the Epic Store to add a base for the characters for us to work with. It was very advanced and very difficult but it made the enemies much more realistic and added a lot to the game.
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 demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I did a lot of different advanced features in this class but one that was very advanced and something I had never worked with before was animations this complex for the characters in the game. We had to program and mess with each little bone in the body to get the animation to be smooth and work well. I was editing the pinkies of these animations and we used the Maniquins Pack for the Epic store for the characters in the game. This pack came with the ability to add animations and have a control rig like the MetaHumans have. We also had to add an animation starter from the Epic Store to add a base for the characters for us to work with. It was very advanced and very difficult but it made the enemies much more realistic and added a lot to the game.
Azure Link
SIP
This is my SIP project called Visualize Life. This project meets this objective because I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. This project is designed and programmed to work with ARCore which is Google’s play services for AR. I used this because I needed to use my phone and I have a Google Pixel which is what this works with. If I had an iPhone I would have had to use their AR system called ARKit. This was extremely advanced since I had never worked with AR before and my SIP had never been done before so it was a lot of trial and error. I eventually got it to work which meant that I was able to use my phone to display data in an AR space using image tracking to scan an image with my phone and then display the data associated with that image. Although the theme of this project was not game-related I used the same software and tools that you would use to create an AR game. I used Unity’s AR Foundation as well as ARCore. This kind of technology and tools were used to make games like Pokemon Go and Pikmin Bloom.
Google Drive Link
This is my SIP project called Visualize Life. This project meets this objective because I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. This project is designed and programmed to work with ARCore which is Google’s play services for AR. I used this because I needed to use my phone and I have a Google Pixel which is what this works with. If I had an iPhone I would have had to use their AR system called ARKit. This was extremely advanced since I had never worked with AR before and my SIP had never been done before so it was a lot of trial and error. I eventually got it to work which meant that I was able to use my phone to display data in an AR space using image tracking to scan an image with my phone and then display the data associated with that image. Although the theme of this project was not game-related I used the same software and tools that you would use to create an AR game. I used Unity’s AR Foundation as well as ARCore. This kind of technology and tools were used to make games like Pokemon Go and Pikmin Bloom.
Google Drive Link
Carrier
Carrier is an open-world first-person co-op shooter set at sea. This game is currently still in production in production studio at the University of Advancing Technology and is being made in Unreal Engine 5. In spring 2023 I helped develop the game as a Design Lead for the project. I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I wasn’t a programmer on this project but I tried to help with anything that I could since I worked closely with the Lead of the project who was also the Lead Programmer of the project. For the project, we decided to use Unreal Engine 5 and since it’s a game based around the sea we also decided to use the experimental water plugin for Unreal Engine 5. This was very experimental since it was still very new and didn’t work correctly when it was implemented into our project. The lead had to mess with it a lot to get the water to look right and work with the boats in the water. This water only worked a certain way so once he got it working he had to send the project files to everyone and it still didn’t work on some people’s personal computers. He ended up getting it to work for everyone but it was quite a pain since it was so new and experimental.
Carrier is an open-world first-person co-op shooter set at sea. This game is currently still in production in production studio at the University of Advancing Technology and is being made in Unreal Engine 5. In spring 2023 I helped develop the game as a Design Lead for the project. I demonstrated development skills using multiple programming languages, development environments, and platforms, including advanced and/or experimental topics in game programming. I wasn’t a programmer on this project but I tried to help with anything that I could since I worked closely with the Lead of the project who was also the Lead Programmer of the project. For the project, we decided to use Unreal Engine 5 and since it’s a game based around the sea we also decided to use the experimental water plugin for Unreal Engine 5. This was very experimental since it was still very new and didn’t work correctly when it was implemented into our project. The lead had to mess with it a lot to get the water to look right and work with the boats in the water. This water only worked a certain way so once he got it working he had to send the project files to everyone and it still didn’t work on some people’s personal computers. He ended up getting it to work for everyone but it was quite a pain since it was so new and experimental.