top of page

Brief: A cinematic close quarter combo based combat game. AI reacting to what the player does.

Role: AI Design, QA

Team Size: 8 (4 designers and 4 artists)

Date: 2022-01-10

Period: 6 weeks

Unreal_Engine_Logo_edited.png

The Project

Theme

The theme for the project was a quote. We got:

 "It is better to live one day as a lion, than a thousand days as a lamb".

The way we interpreted this was around revenge, action and badassedness. With some limitation on what our artists could and wanted to do we landed on an amalgamation of John Wick, a battlemage and a nun. We had a high level of both skill and interest in animation and could use that to our advantage into trying to find the cinematic and visceral feel of John Wick into our game.

I have been working with the AI design and implementation. Also a lot of QA when it comes to getting the relation between AI and player to work.

We used scrum while doing this project, weeklong sprints and having meetings in the morning where we said what we were going to do that day and then meeting at the end of the day where we said what we did that day. Having post sprint meetings and planning the next sprint.

About Project

                                                                                   Pillars

                                 Close quarter favoured                  Brutal, efficent and practical approach

                                         Grounded feel                                     Tactical but still intuitive

                                  Player empowerment                                 Responsive with depth

AI

AI

The AI design needs to be based on what the player character can do.

The player can only attack 1 target at a time and we have multiple encounters where there are several enemies. The way we handle this is to make so only 1 enemy actively chases the player and attacks, the others will be circulating and move around and if they have a ranged attack they will be using it.

If the enemy gets in range of the player or becomes the closest enemy to the player they will start chasing and attacking. We call this syncopation, make the enemy be offbeat and not perform the same thing all the time.

ezgif-2-2b53b18804.gif
ezgif-2-566ab24b02.gif

The enemy should feel as alive as possible, they should not enter idle animation in the middle of combat but continously chain attacks as long as the player remains in attack range. Using this relentlessness together with syncopation makes the enemy feel alive.

The action tree for the melee enemy's attacks.

AI - Variety

AI - Variety

ezgif-2-2dbe6e1a46.gif

Our initial plan was to have very different AIs, having melee, ranged and healer enemy types. But this was cut because of needing to much animations so instead we made variants on the melee enemy.

Having a smaller enemy with access to only a part of the normal melee enemy's skillset.

A Boss that has more differencec in its behaviour tree compared to the normal meele enemy and the small one. Not being ripostable and having different basic attack animations.

ezgif-2-76404a43ff.gif

QA

Building the game. I built the game almost every day from week 2 and forward, to perform smoke testing and make sure we did not get any unexpected bugs. Also doing soak tests to make sure we do not have any memory leaks.

Testing the game. By not being part of implementing the player character I was a prime member to perform integration tests it rigorously being part of the design discussion I could test how the character fulfilled our goals. I managed to provide a lot of feedback on feel and post a lot of bug reports in our kanban board.

QA
bottom of page