VALENCE 

A Subterranean Game

Role: Team Leader, AI Developer, Artist, Motion Capture Artist

Related Skills: Autodesk Maya, C#, JavaScript, Unity 3D,

Vicon Blade, Agile/Scrum, Adobe Creative Suite, GIT

 
 

Project Overview

Valence, tasks players to maintain and manage a colony of asylum seeking characters (referred to as agents), who have sought refuge in an abandoned urban metro system. Valence is a single-player experience built for PC. Valence places players in a God like perspective, overseeing the development and resource management of their colony.

 

Features contained within Valence are influenced heavily by its unique narrative (see Story Synopsis). Alongside its city building component, Valence incorporates a world exploration system. Within this system, players will be directed to select, strategize, and execute agent behavior through a series of turn-based combat scenarios, rewarding successful outcomes with loot items which can further improve agent attributes and grow the player's colony.

Download

GitHub

 

Story Synopsis

Valence takes place in the year 2046 within the subterranean post bio-apocalyptic world of Montréal’s extensive Métro subway. A world where the accelerated onset of global warming and pollutant clouds of airborne chemical and biological pathogens continue to mutate, ravishing the atmosphere and the planet’s surface (known solely as “The Event”).

 

While society and its economy continues to sputter along barely functional, it has in reality, split into two distinct factions the Folk and the Elite. Each of whom struggle over fair democratic access to the remaining resources.

 

User Testing

With the development of Valence, our hope was to create a gameplay experience that was more instantly rewarding. Additionally we wanted to provide players with the ability to interact directly with the game systems, and become familiar with their controllable units. In an anonymous survey conducted after the user testing session, players described the prototype as ‘Tense’, ‘Rewarding’ and ‘Exciting’.
 

*Additional findings and feedback can be found in the User Test Findings documentation.

User Test Findings

Elite Outpost
Player Progression
User Progression Flowchat
Settlement Buidling Concept
 

Artificial Intelligence

Valence leverages a modern artificial intelligence to affect a diverse suite of fluid behaviours by each agent within the game environment. Fundamentally, an agent’s behaviours are composed of layered (augmented) Finite State Machines (aFSM) which activate or inhibit each other through Brooksian Subsumption design principles.

Each aFSM behaviour layer shares common access to the “internal conditions” implemented within each agent. An agent “perceives” the environment around them through these “internal conditions”, in which specific thresholds act like sensors.

 

Once an agent’s “beliefs” have been established, the plan-of-action embodied within an activated behaviour layer’s aFSM represents an agent’s “desires” (i.e. a resolved path along the game map) with the specific actions enacted by a given aFSM representing the agent’s “intents” (i.e. move to destination at coordinates x, y, z).

 

Collectively, this information represents the motivational state of an agent as well as capturing the deliberative component of the system.

AI Concept

Proposal

Augmented Finite Statemachine showcasing the behaviour flow of a Valence AI agent
 

Alpha Build

The Alpha version showcases the first major milestone for the Valence project. This version features working AI behaviour, realisitic motion captured movement applied to all agents, modelled & playable environments. Finally this version also includes the initial prototype feedback.

Figure 1 paper prototype of elite outpost map
Figure 2 alpha version of elite outpost map modeled with Maya
Level design progression, alpha build features first implementation of 3D modeled environment
Figure 3 Unity Nav mesh pathfinding
Figure 4 alpha version featuring dynamic pathfinding leveraged through the A* algorithm
AI pathfinding was updated from the Unity navmesh system to utilize the A* pathfinding algorithm. This was done as the navmesh system must be statically baked and requires additional resources to be update frequently (should additional items be added to the world). By using the A* algorithm I could now update the agent's obstacle awareness in real time to account for any game world changes.
 

Beta Build &

Project Closure

Conclusion

Design Document