Alexander Spicer's
Design Showcase

Alexander Spicer's Design ShowcaseAlexander Spicer's Design ShowcaseAlexander Spicer's Design Showcase
  • Home
  • Game Builds
  • Postmortem
  • Archive
  • About
  • More
    • Home
    • Game Builds
    • Postmortem
    • Archive
    • About

Alexander Spicer's
Design Showcase

Alexander Spicer's Design ShowcaseAlexander Spicer's Design ShowcaseAlexander Spicer's Design Showcase
  • Home
  • Game Builds
  • Postmortem
  • Archive
  • About

Tile-Based Postmortem Introduction

“Tournamental” by Marunowski, Phillip the Course Director of Project and Portfolio 2 at Full Sail University. The point was to implement a new mechanic that I created, to practice documentation using Agile development, and implement a second mechanic originally created by a peer.

What Went Right

Documentation

 I loved being able to create lists and sub-lists of all the content that I needed in order to create my mechanic through “ClickUp.” The format was great because it was easy to use and helped me organize my work into smaller more manageable chunks. 

Simplicity

 Something that I focused on heavily during my production of the mechanic “Entity_Enemy.” I was able to program the entity and not have to use event tick at all thanks to a Blueprint Interface that I used a call and message system for when the character moved. To me this enhances the design because it is not constantly utilizing resources making it more efficient.  

Courage

Communication

 to push myself beyond the limitation that I though I had prior to this class. I had not performed a task similar to my mechanic before in Unreal Engine 5. I had always wanted to since completing my Inventory System but I chose to focus on school and this gave me the perfect opportunity to mix the two together! 

Communication

Additional Features

Communication

 During this course I had excellent communication skills with those working on my mechanic during the third and fourth weeks of the project. I focused on answering questions and taking discord calls to assist with were other classmates were getting stuck. 

Additional Features

Additional Features

Additional Features

Upon completion of my original mechanic of an “Entity_Enemy” that chased the player and having more time available I chose to add two additional movement types to the enemy based on peer feedback. I added an instance editable enumeration that allowed you to switch between Patrol, Random, and Seeker behavior types.  

What Went Wrong

Manhattan Calculcations

Manhattan Calculcations

Manhattan Calculcations

 The first thing that went wrong for me was when I was trying to program. While programming the Manhattan Calculations Function I accidentally added a 1 and subtracted a 1 from the wrong spots in the formula. This led to an enemy that would run away from the player instead of chasing the player. 

Collision

Manhattan Calculcations

Manhattan Calculcations

 The next thing that went wrong for me was when I was trying to program as well. While trying to program collision I learned I was going about it in entirely the wrong way. I was simply shutting off the collision and relying on the player being caught prior to needing collision. I learned that this was wrong because the entities would all merge together to create one big ball of enemy. I corrected this by digging into the source code and finding the “OnEnter”, “OnExit”, and “UpdateTile” function. This allowed me to create logic that after the enemy moved I would run those three functions and update the current and neighbor tiles to have the new collisions applied. 

Simplicity

Manhattan Calculcations

Program Limitations

 The third problem that I ran into was when I was producing the function “ManhattanCalculations” as well. I did not have the time to create a macro that would have performed the calculations and helped in cleaning up my code. This would have allowed me to create more movement types more easily in the future.  

Program Limitations

Program Limitations

Program Limitations

 The third thing that ended badly for me was attempting to duplicate VonWald, Hunters ClickUp task card for “Tile_Button.” I had a bad thermostat on my vehicle so did not have access to my laptop. I tried using my phone to duplicate the task card and learned that the mobile application doesn’t have an option to duplicate. 

Difficulties

Program Limitations

Difficulties

 The last thing that went wrong for me was during the “Button_Tile” mechanic. While producing this mechanic I attempted to do a “ForEachLoopWithBreak” node on the buttons array. The break was working as intended and detecting a “False” Boolean variable. However it was opening the door. I kept forgetting to reset the counter variable to 0 after the for each loop. 

Tile-Based Postmortem Conclusion

This course was a fun example of working with a studio and processing through the phases of development from an idea to a completed mechanic and would highly recommend it to other people. This was the course that I have had the most joy with so far since it was essentially, “Hey do what you want?! But not a teleporter"

Return Home

Copyright © 2025 Spicer Games - All Rights Reserved.


Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept