Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
June 24, 2021
arrowPress Releases







If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Building the AI features for Wolcen: Bloodtrail

by Robin Johnson on 06/01/21 12:27:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

header_bg_cave.85cf4474e69d.png

This post, written by Sean Packham, originally appeared on Kythera AI's website in December 2020.

It seems like almost yesterday that we were celebrating the launch of Wolcen: Lords of Mayhem. Reaching that milestone was a multi-year journey for us and our close partner Wolcen Studios, but we knew there was so much more we wanted to create. Now, almost 10 months and many performance and balance patches later, we’re celebrating the launch of Wolcen: Bloodtrail. After all, it’s not every day that an AI feature drives such core gameplay that it features in the title.

Wolcen: Bloodtrail release trailer

Bloodtrail is the first free content patch for the base game and also the launch of Chronicles, Wolcen’s take on ladders, leagues and seasons from other ARPGs. Each Chronicle will introduce new gameplay mechanics and reset the economy and progress to give players a fresh start to explore the new content and compete against each other. For Chronicle 1, Kythera AI developed two new features: the pathfinding behind the headline Bloodtrail theme, which involved hunting down prey for rewards, and Monster Reactions which we featured in our Q3 2020 Update blog post.

In this post we’ll share some behind-the-scenes of what it’s like to collaborate with our partners to build innovative AI-driven gameplay. Building new features is an iterative process. It’s fun, but it can also be extremely challenging, which is why we're fortunate to have a talented team of AI experts and game industry veterans to bring our partner’s visions to life.

The Hunt

Outside of busy launch periods, we sync up with licensees who’ve opted for in-depth development support every 1-2 weeks, sharing sprint progress, and discussing issues and design. Back in May, Wolcen’s team shared the design for the features they wanted in their first content patch. We spent the next few sprints going through the team’s design documents, following up with further questions to focus the scope and trying out early prototypes. 

The Hunt was a very interesting feature to work on. Normally, in game development you’re trying to find the shortest path as efficiently as possible so that you can scale to hundreds of agents all searching for paths across a massive world at the same time. Kythera AI already does this well for fully dynamic 2D and 3D worlds. But for The Hunt, chasing down the shortest path isn’t exciting. Wolcen’s designers wanted to motivate players to explore more of the level by chasing down organic paths a fleeing monster would leave behind. Our solution had to work on both the hand crafted campaign levels and the end-game procedural levels, all automatically. 

image (4).png

Figure 1: Kythera AI’s proposed solution highlighting interesting, bad and boring paths.

We presented the following solution, illustrated in Figure 1. Interesting (green) paths through the level have no overlapping segments, are sufficiently long and take players past points of interest (the blue icon in the middle of the map). Paths with overlapping sections (yellow) are bad, as they are more difficult to follow and take the player through already explored areas. Short paths that miss points of interest (red) are too optimal or boring. 

View fullsize4accd6d3-e238-4ae4-b11e-3240a40ef518.png

View fullsized5dd06e5-b04c-402e-96d2-8c8f41dddcb3.png

View fullsize6bbd80a9-5e04-4fe4-b7dc-d774b7884e75.png

View fullsizeeb7b3526-d2b5-40ab-9b99-7cb816a0317e.png

Debug draw of various stages of the The Hunt pathfinding algorithm.

The algorithm to generate interesting paths has two phases:

Phase 1: Discover multiple paths to the goal  (Figure 2 images 1-3)

Executing a path finding algorithm from the start to the goal will always generate the same optimal path. To discover more paths that are less optimal but more interesting for the player, we have to give the path finding algorithm an incentive to generate different paths. A feature of our path finding code is that we can mark specific parts of a map as having a high cost to cross. For example, a character is much slower to cross a swamp than a paved road, so the swamp section has a high cost associated with it. The path finding algorithm will take this cost into account and will try to find the "cheapest" path, which might not be the shortest.

We can use this cost feature to find more paths to the goal: First, find a path from the start to the goal, recording all crossed sections (those are the blue polygons on the navmesh in figure 2). Then, mark all those sections as having a high cost to cross. Finally, rerun the path finding from the start to the goal. The path finding algorithm will try to avoid those sections now and generate a different path to the goal if possible. We repeat that process multiple times, every time setting the new found sections to a high cost.

Phase 2: Select a path (Figure 2 image 4)

In the second phase, we generate a directed, acyclic graph from all the paths generated above. Every section (navmesh polygon) that is traversed by a path is added as a node to the graph. Edges in the graph are the connections between sections. Some paths may use the same sections as other paths, so they use the same node in the graph. As a last step, we traverse the graph from start to goal. At every junction, we take one of the edges at random. This way, we get more interesting and diverse sets of paths compared to just taking a random path discovered in the first path. In Figure 2 image 4, we see a generated path in yellow which was not generated in the discovery phase, but a completely new one generated from the graph.

Video 2: Early-stage algorithm testing with the lighting and AI disabled so that we can clearly explore possible paths without the urge to slay monsters and collect loot.

Monster Reactions

The second set of features we developed for Bloodtrail was Monster Reactions. You’ll encounter this feature when fighting bosses at the end of hunts. It makes the bosses aware of Damage over Time areas (DoTs) from the player’s spells, and allows them to react with their dodge skill. In our Q3 update blog post, we demonstrate and explain how we built Monster Reactions by using our Spatial Query System (SQS) to find safe spots to dodge to.

monster-reactions.png

Read our Q3 Update blog post to learn more about Monster Reactions.

The pathfinding behind The Hunt and the usage of SQS and Behaviors for Monster Reactions are examples of how Kythera AI’s advanced features set can be used to build entirely new innovative mechanics or add depth to existing gameplay. 

If you’d like to find out more about Kythera AI or start an evaluation please get in touch

The AI of Wolcen: Lords of Mayhem will be the subject of a GDC 2021 talk, Steering, Formations and a Trail of Blood by James Hancox of Kythera AI and Daniel Dolui of Wolcen studio.

 


Related Jobs

SideFX
SideFX — Toronto, Ontario, Canada
[06.23.21]

Senior Distributed Systems Developer
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[06.22.21]

UI Engineer
Health Scholars
Health Scholars — Westminster, Colorado, United States
[06.22.21]

Unity Software Engineer
SideFX
SideFX — Toronto, Ontario, Canada
[06.22.21]

3D Software Developer: Game Tools and Pipeline





Loading Comments

loader image