top of page

Safe Haven

Roles: Project Lead    Senior Programmer   Designer

On Safe Haven I focused on overseeing the pipeline and coding. There was minimal system and mechanical design work on the project. This was because the team was focused on learning to work together and operate under an extremely short deadline. 

Project Objective

The goal of our team during Global Game Jam was to complete a digital game within 48 hours that related to that year's theme (What does home mean to you). I was focused on quicker scripting and utilizing the UE4 Blackboard system for AI development.

Outcome

Safe Haven was completed and submitted during the Global Game Jam competition. After completing the necessary gameplay code, I focused the remainder of the weekend on creating a much more complex AI than I had previously accomplished. Additionally, we identified and solved various pipeline challenges that have become integral to our current development strategies.

Key Contribution

Before Safe Haven I had already created simple AI for other projects. None had taken advantage of the Blackboard visual scripting available in UE4. After I completed all the other simple code we needed such as interactions, inventory and some basic HUD elements, I began work on the AI behavior tree shown below.

BehaviorTree.PNG

I utilized Selectors to be able to create states and conditions to trigger various outcomes. The 'BTS_Vision' was a key element to elevating the complexity of the AI, which required research to accomplish. Detecting a player and then executing an action was an important part of the enemy patrol appearing logical. The enemy simply moving from location to location was not enough.

Normally I utilize the AI Sense component on an actor but using a custom system of detection inside of a behaviour tree was entirely new to me. The results were more precise and thanks to Blackboard 'keys' the storage and utilization of them was far better than my old method. Without understanding and executing on this approach our AI would not have functioned.

This way of AI development is something I plan to implement on future projects.

bottom of page