Hedge Maze
This artifact is a single level game where the player must make their way through a hedge maze to find the exit door. There are fire traps, a path blocking stone wall that will fall when triggered by the player, an AI character that will chase the player, health orbs that can be obtained to regain small amounts of hit points, a point light with trigger to turn on in the event of player comes into range, and a portal system that is hidden but is needed to be used to travel through the maze. A flash scene, HUD with life bar, and end state menu is also implemented. 

Created using Unreal Engine 4 and Visual Studios

Highlighted Skills:
- C++ programming
- Gameplay mechanics
- HUD/UI design
- World design
- AI pawn setup


Potential Refinements:
The initial refinements were to be smoothing of the stone wall fall mechanic and to make the wall invisible to the player until triggered. Next, to correct an issue where the med kit would not register on the health bar when collected. Finally, to build upon the game world with minor actor placement tweaks and more contrast items to break up the green hedges.


Challenges
When attempting to open the final project version, the project would not open from within Unreal Engine (UE4) or Visual Studios (VS) crashing at 71% with several UObject errors and a few code errors. After trying to fix the code errors it was decided to try and use the backup version saved in the initial course. The backup version initially loaded, and refinements were started. 
The initial refinement was to name the stone wall trap mesh component “FallWall” and create a static mesh pointer to call the wall within the VS code. With that complete, a line was added to the trigger function, that turned on the simulate physics for the wall, to toggle hidden in game for the wall. The build was successful within VS but was not affecting the project within UE4. A few potential fixes from StackOverflow and the UE4 site were researched and attempted. These fixes involved changing the solution properties and start up parameters for the build, but all attempts returned the same outcome. Next, the code was refreshed from within UE4 and when that did not work, the VS files were manually deleted and re-generated. Both options failed, and the next step was to compile the code within UE4. This caused the fatal crash.

Troubleshooting:
At this point I reached out to the SNHU discord community for game programming and design. Two of the alumni members entered a voice channel and attempted to help troubleshoot the issue. The errors that were being displayed by the crash report were investigated and no issues were found within the VS code. Next, all files associated with the project VS component were deleted and re-generated. This had no effect. Next, the code was reverted to the state where refinements were started but again there was no change. Doing some research, it was found by the group that the crash report was pointing to the UE, so an attempt to convert the project to a newer version of the engine was attempted. This initially failed to build but after some minor changes within the VS code, the project did build. However, the UE4 project would not load from the root file or from the engine side. At this point the alumni that were attempting to help suggested trying to create another project and copy the files over.
There were two attempts at starting a new project and adding the files to it from the file explorer side. Upon generation of the VS code within both of these attempts, multiple link errors occurred, and the project could not build or open.
Corrections:
The project was rebuilt, and files copied over to the new project. Refinements to the hedges was made to reduce the sections with overlap and texture stretching. More stone ends were placed along the correct path as potential markers and to break up the color within the level. The med kit actor was removed from the game pending more troubleshooting. Adjustments that limit and/or block positional or rotational movement of the falling wall were implemented to correct the smoothness and reliability of the mechanics. Lastly, a reflective orb was placed to give life to the level, further break up color, and reflect where the end door is.

Lessons Learned:
Most of the learning on this project came on the troubleshooting side. Refreshing VS code from inside the engine, building single project elements individually, and identifying code discrepancies while moving between different versions of UE4. On the VS code side, setting up variables and pointers to be manipulated within the code and/or blueprints was a key component to bring the actors and HUD functionality together. Furthermore, a major portion of the actor mechanics revolve around the use of trigger elements. Setting them up with visual elements that need to be separately adjusted and constructed was a vital learning point.
Hedge Maze
Published:

Hedge Maze

Published: