Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
Adventure
Project type
Unreal Engine Course Assignments
Date
May 2026
Location
Orange Park
This portfolio coveres everything I did in my Level design course at Fullsail University
Postmortem
Introduction
This project was small but a fun take on other Sokoban tile-based games that challenged me to think about puzzles in a different light. For the project, I was given a simple tile-based game and tasked to research other games, pick a mechanic, and implement it into the project. I was also tasked to work with an agile mindset in short one-week sprints, collecting feedback at the end of each sprint. I drew great inspiration from a game called Chips Challenge 2 for both mechanics and how I implemented them into the game. In the four-week time span I spent making this project, I designed and implemented a simple enemy that patrols from checkpoint to checkpoint, damaging the player when they run into a player-occupied tile. From there, I was also tasked to work with a classmate to implement a second mechanic to work with my enemy. I sought out a peer named Zachary Harrell, who designed a key and door mechanism. I re-implemented this into my own game and used it as a way to manipulate the golden path, forcing player interaction with the enemy.
What went Right
Puzzle design
I had lots of fun designing out the puzzles with my mechanics. Using enemy patrols to manipulate when and how long the player needs to pause their movement so they can pass unharmed. The keys added more dynamic puzzles with short-term goals of collecting keys to progress, while the enemy gave an ever-present and moving obstacle.
Collaberation
As I said before, my second mechanic that I implemented was designed by my peer Zachary Harrell. In this collaboration, I helped him troubleshoot some issues he had implementing the key mechanic. Improving the systems he already had with my own perspective and insight to further optimize the project. I enjoyed my time with him and his insights into the mechanics. It was through this collaboration that I thought to make the keys persistent with a simple Boolean.
Optimization
Each sprint, I saw myself returning to the older code and further optimizing it to be more readable and slimmed down. It was through this process that I found my bad habits and learned to correct them with better ones. Adding more comments and putting functions where they made sense. In some cases, I would have to replace entire sections of code or rewrite entire blueprints because they functioned off a poor system.
Iteration
I worked on this project with an agile mindset, meaning I only had a week for most implementations. And couldn’t work on the same thing unless I had time at the end of an easy week. This allowed me to quickly add new mechanics to my project and expand my game rapidly over just three weeks. Rapid iteration also helped me collect feedback as my project was in development. I read one classmate talk about how they couldn’t tell where the enemy was going, so I added a white sphere to the mesh where the enemy is facing, giving it a face of sorts. This indicates the directions the enemy will move in.
Perforce
This was my first time using revision control with Unreal Engine. It was vital in keeping my project running and keeping track of the changes that I had made. At one point, I had made a change that ended up crashing the whole system, ruining multiple blueprints and shattering all logic in the program. Upon restarting the program, nothing loaded, and without perforce, I would have likely not have had a game and failed the class. Instead, using Perforce, I was able to revert to my latest revision and recover the months’ worth of work.
What went Wrong
The Enemy AI
The enemy mechanic was the source of many headaches throughout this project, from random errors to crashing the whole project. I spent more time debugging this monstrosity of an AI than actually working on the project. Attempting to make an AI capable of navigating the world around it was a lot harder than I once thought it would be. The logic was long and complex, making it hard to debug without sinking hours of my day into an issue that did not correlate with what I needed to do. At one point, I thought about completely getting it and starting from the ground up, but it would take so much time I never had in just a week, so I had to patch it up just enough that it would function for presentations.
Level Design
Due to many factors (one already listed), I feel I could not properly iterate my development time to the levels I was making mechanics for. Most of my time was spent head deep in code and blueprints, fixing issue after issue. While I enjoyed the task of debugging code, I felt my levels never really had the same amount of attention focused on them. I saw other peers with fully fledged out levels, detailed graphics, and a complete experience.
Identity
My version of the game lacks a lot of the identity I saw in other projects. I spent so much time finding new ways to implement mechanics, I didn’t spend any time adding an identity to it. This resulted in a hollow game with fun mechanics when a proper level is made, but overall feels unpolished and broken. To fix this issue, I did my best to add animations where I could and color where it made sense. Leaning into the tile-based art and simplistic nature of the whole project. The doors are simple walls that flash a color when they can’t be opened, while fading away when they are opened.
Communication
During the project, I felt like I didn’t reach out enough for assistance, leading to sometimes small problems lasting longer than they needed to. This was likely an issue due to my anti-social tendencies and determination to figure out the answer to every issue on my own. In the future, I plan to take on less challenging work for this style of assignment than using the extra time I’ve given myself to help classmates with their code.
Expectations vs Reality
During this project, I went into it with unrealistic expectations, thinking I was going to make the best game and everything would be easy. While everything was easy besides a few major mishaps and reworks, I spent a lot of time debugging. This gave me the reality check I think I needed from this class to better estimate what I think I can achieve in a given timeframe. In the future, I will do my best to still aim high with my goals, but also make sure my aspirations are realistic and possible.



