Once A Stray Postmortem

The Good

Technically Impressive

Tech:

I was given a fair bit of creative freedom in regards to establishing mechanics and game feel. Mechanics had continued to evolve over the project’s life cycle in response to emergent gameplay. One I am particularly proud of was the AI.

AI had evolved to better combat the player and provide more of a challenge in a “Character Action” oriented game. Their final design encourages the player to keep moving. The weakest enemy type is not strong by themselves, but have the ability to “swarm” around the player. The immobile enemy type utilizes a ranged attack that tracks the player’s position before executing a telegraphed attack at their last recorded location. When both AI work in unison, the player can find themselves in a tricky situation.

Presentation Value:

I worked very closely with our Tech Artist to make sure their particle systems were presented effectively. I wanted to make sure that when a complex particle system like the QTE Ultimate had played, it would be shown off in best way possible.

Having the camera rotate around the player during the input windows creates a cinematic experience that makes the player feel powerful in the moment. Upon completing the input prompts the player will be given a “Skycam” perspective, to watch as their ultimate attack unfolds.

The Bad

Disorganization is Problematic

Organization:

Before this project, I was still very new to Unreal and its blueprint visual scripting. I didn’t understand how to organize my blueprints in the same way I had organized my scripts in C#. Often I found myself revisiting my scripts and not immediately knowing where to add/change functionality.

During the project’s life cycle, I had started looking up “Professional” blueprints to use as reference when organizing my own, but I ran into another issue. I could understand my code, but when my teammates needed to add/change functionality, they could not.

After numerous constructive conversations with my teammates, we arrived at the idea of color coding and commenting our work. This way, when looking at a blueprint that we all had a hand in creating, like the Player Controller, we would immediately be able to find X functionality within the blueprint and know exactly who to reach out to when needing to add/change functionality within it.

The end result definitely has a long way to go, organizing connecting wires more efficiently and commenting smaller collections of nodes, would significantly increase readability.

What To Remember Moving Forward

How Can This Experience Help Me Improve?

Lessons Learned: 

Organizing scripts early allows for more productivity and better communication with other programmers/designers throughout the project’s life cycle.

When working within someone else’s code, a universal organization method used within your scripts can be an effective time saving tool.

 Iterating on established mechanics based on play testing and QA Feedback will help improve the quality of your game.