Post Mortem


Hell Wall Post Mortem

Overview:

The Hell Wall project began on October 13th and concluded on October 27th. During this time the game went from an attempted fluid simulation, to a relaxing game about climbing an ice wall, to a horror game unlike any other product I have seen. The purpose of this project, as well as its target audience, changed drastically during the course of development. Upon release however, the purpose of the game was to find a way to instill a sense of dread in the player, something far more difficult than to make the player afraid. The target audience is the horror loving community of the website itch.io. 

What Went Well:

Technology - 

Running the simulation which generates a unique wall each game in real time would be incredibly laggy and unenjoyable to watch. In order to solve this problem I went through a few iterations of solutions. The first thing I did was try running the simulation beforehand and saving the entire chunk of nodes for each time step in the simulation, then after the initial creation of the mesh I simply updated the mesh with the data saved onto the harddrive. The load times for each chunk out of memory were unacceptable, however rendering this solution useless. After further optimizing the saving and loading process to save only the most vital information to memory and using the saved information to generate the information needed to create the mesh. Eventually the load times became bearable, but with the scale of the mesh I needed the simulation still ran too slowly. Finally, in order to solve this problem for good, I split the information from each chunk of data into x numbers of sub-chunks. Each frame between updates of the simulation mesh a couple sub chunks would be loaded from memory. This allowed the time spent loading the chunk from memory would be spread out over multiple frames instead of just one, giving the frame boost I needed to make this system work. When upgrading from Unity 2019 to Unity 2020 in the middle of the project also gave me considerable increases in frame rate due to an improved mesh system and improved serialization. 

This game uses an algorithm called Marching Cubes to create a mesh out of a 3d set of floating point numbers. The vertices of the mesh are placed on the position of each float offset by linearly interpolating the point along each of its axis. Then the Marching Cubes algorithm triangulates those vertices. The implementation of this algorithm went very well and was clean and smooth, combined with my system for creating the 3d node map made creating and fine tuning the optimal algorithm for creating interesting walls very easy.

Gameplay - 

Since Hell Wall was supposed to be a relaxing climbing experience the moment to moment gameplay had to be satisfying, and I spent a lot of time fine tuning the movement system and the impact of the axes. The conversion to a horror game complimented the surreal/serene trace like moment to moment gameplay. The combination of peacefulness with a deeply unnerving atmosphere make, in my opinion, a strangely yet unsettling experience.

What Went Poorly:

Technology -

I ran into many problems while building the axe movement script. It was a deceptively hard problem to solve. The code went through many iterations, but I am still not fully happy with the movement, however I don’t know what I can do to improve it at this point. The only problem left with the movement system is the very small change that at a certain angle and certain position, the ice axe will miss the wall and travel into the distance, while there is a backup piece of code which deals with this when it happens I am still unable to find an efficient solution to this problem. 

 

Gameplay - 

There were no major problems with the gameplay or atmosphere while creating Hell Wall, everything seemed to fit together very well.

Risk Management:

I definitely underestimate the amount of work this project would take to finish. This was most likely due to the shifts in direction that the project went through. It wasn’t till half way through that I had a clear idea of what the game would be and the path I would have to take to get there. In the future I will need to add cousin time to the schedule in anticipation of set backs due to loss or change of direction.

Mid Project Changes:

The most significant change during the development of Hell Wall was the change form a surreal relaxing climbing game made to put the mind in a meditative state, to a pulse pounding horror experience with themes of cosmic, incomprehensible, confusing evil. However, by taking the changes in stride I think that the gameplay and visuals work far better in a horror setting, than in a relaxing setting. Plus, the market for relaxing games about ice climbing is probably not very large. 

Further Action:

In the future I will stay away from Unity 2020 because the UI interface routinely corrupted during the development of the project. Unity 2020 is not currently in a stable enough state for me to consider working with it next time. I will definitely be more receptive to large changes or ideas I have to change the project mid development. In this case it worked out well, and I believe that ideas I may have mid development will be better and more refined.

Get Hell Wall

Leave a comment

Log in with itch.io to leave a comment.