The Dialogue Tree
Alex Shoulson thinks things about Games, Narrative, Simulations, and Practical Artificial Intelligence
Wednesday, January 2, 2013
From Brains to Bones – The ADAPT Character Stack
(Previous: ADAPT: Building a Character Platform - Introduction)
Before we can begin to design behavior for a virtual
character, it’s essential to first define the character in understandable
terms. Looking from the top down, we know that whatever behavior model we use
will interact with the character by pressing very specific buttons on the
character’s interface, like the “go over there” or the “pick that thing up” button.
On the other hand, looking from the bottom up, a 3D character is essentially a
collection of bones that we control by setting positions and orientations. When
I’m designing a conversation between multiple characters, I want the characters
to be rich and expressive, but I can’t be bothered to fiddle with the
individual bone movements of each character in the conversation. We need an
abstraction between these two extremes. In this article, I’ll talk about this
abstraction and how ADAPT handles it.
Labels:
3D,
ADAPT,
AI,
Animation,
Graphics,
Simulation,
Unity,
Virtual Characters
C# Code Snippet: Timed Unity Camera/Object Dolly
I wrote/adapted a quick 'n dirty little C# script to allow a camera (or any other object) to fly around along a timed Bezier-like curve. This is useful for cutting demo videos or doing in-game cinematics. The script supports different modes for setting the object's orientation and some control over position changes (like temporarily locking the dolly in place). Just use the empty Dolly prefab, configure it with some waypoints and times, and set whatever you want to move as the Dolly's child transform. The Unity package comes with a demo scene (shown above) to show it off. The idea and general concept is loosely based off of this package, though I structured things pretty differently.
You can pick it up here: DollyPackage.unitypackage
Friday, December 21, 2012
Stand and Deliver: Games with a Designated Narrator
I'm going to take a quick aside before diving into the guts
of ADAPT to talk about something more or less unrelated, but still critical to
the work I do in games and stories. A friend of mine was kind enough to toss me
a copy of Thomas Was Alone on Steam the other day, and though it's a short play-through,
I immediately fell in love with the charming little game. Now that I've
finished it, though, I've noticed some comparisons to two other popular
independent games from the past few years. In particular, Thomas Was Alone
(henceforth TWA) has something in common with both Dear Esther and Bastion. (Note: I'm going to try to avoid major spoilers
for any of these games, but do play them if you haven't already.)
This is especially interesting because the three games are
incredibly different mechanically. TWA is a 2D puzzle-platformer, Dear Esther is a 3D ghost-story where you explore an abandoned island in the Hebrides, and
Bastion is a fantasy hack-and-slash action-oriented role-playing game. Even the
color palettes of these games couldn't be more different: TWA favors rich dark,
saturated tones, Bastion paints with bright warm colors, and Dear Esther lives
in the bleak brown and gray of a rocky Scottish coastline. What, then, could
these games possibly have in common? (Aside from fantastic soundtracks, of course.)
Labels:
Bastion,
Dear Esther,
Dishonored,
Halo,
Immersion,
Legend of Zelda,
Marathon,
Narrative,
RPG,
The Sims,
Thomas Was Alone,
Virtual Characters
Thursday, December 20, 2012
ADAPT: Building a Character Platform - Introduction
I've been rather busy lately working on a few publications, hence my lack of updates. The good news, however, is that I'm through the process of publishing the work that's been one primary focus of my research up to now. That means I can talk about it in detail in my blog, rather than having to keep it under wraps.
First, a little back story. Two years ago I entered the graphics lab at UPenn wanting to work in behavioral AI and character simulation. I wanted to look at crowds, character-player interaction, and other interesting parts of simulating richer virtual characters. The problem was, however, that I had no easy way to do so in a fully realized graphical environment. I needed to be able to build a space and get characters walking around in it while playing animations or doing other interesting visual stuff (gaze tracking, reaching for objects, etc.) in order to tackle the more interesting problems of behavioral AI for games and simulations. The platform I needed to animate characters and make them perform complex tasks just didn't exist. At least, there was nothing accessible enough that I could use.
Labels:
3D,
ADAPT,
AI,
Animation,
Behavior Trees,
Research,
Simulation,
Virtual Characters
Monday, September 10, 2012
Single-player is dead! Long live single-player!
Ah, the “cloud”, the light, fluffy, and poorly understood
marketing gimmick we’ve all grown so accustomed to with services like Google
Docs, Apple’s iCloud, and the largely forgotten Microsoft SkyDrive. In the
gaming world, cloud services like Valve’s Steam and Ubisoft’s uPlay synchronize
achievements and saved games, adding value to what are primarily invasive DRM
platforms. Now it seems that all gaming experiences themselves are migrating to
the cloud, or so claims EA’s President of Labels, Frank Gibeau. “We are very
proud of the way EA evolved with consumers,” he said while speaking at the
Cloud Gaming USA conference last week, “I have not green lit one game to be
developed as a single player experience. Today, all of our games include online
applications and digital services that make them live 24/7/365.” In reality,
this quote in fact has almost nothing to do with the cloud as it’s generally
used, but it does illustrate a paradigm shift from single-player to
multi-player experiences in games, and I think it’s indicative of something
more significant behind the scenes.
Labels:
Cloud,
Games,
Graphics,
Industry,
League of Legends,
Mass Effect,
MMORPG,
RPG,
Skyrim
Monday, August 13, 2012
Movement in Games
Moving is tough. In fact, the mere thought of standing up from my chair and taking a few steps to get a drink of water cripples me with complexity and mental strain. It's no surprise, then, that simulating character motion is as difficult as it is essential. To benefit later discussion I want to highlight good examples of character animation and discuss where it comes from. This will be part of an effort to lay down some of the fundamental concepts and techniques in games and computer graphics on this blog, while building towards more advanced topics later on.
With respect to animation, some of the finest character movement comes from the Assassin's Creed series, which showcases a character capable of climbing walls, fighting multiple opponents, and maneuvering terrain in a rather fluid fashion. The upcoming third (or fifth, or something) installment of the series showcases organic environments such as trees and rocks, which the main character can fluidly navigate under the command of the player. Here's some exceedingly violent footage:
Sure, the character's movement has some minor artifacts such as jitter (a noticeable "jump" between frames of movement), or foot-skate (where the feet slide on the ground in a manner that makes no sense given rules like friction and weight). Despite these breaks in continuity, the movement of both the main character, Connor Kenway, and the British soldiers he's fighting is incredibly dynamic. Other top contenders for this kind of movement emphasis include the Uncharted series, and the game Mirror's Edge.
So, how do games do it?
Labels:
3D,
Animation,
Background,
Graphics,
Motion Capture,
Physics,
Virtual Characters
Friday, June 29, 2012
Spacewar!
EVE Online is a fascinating game. Known for its lyin', cheatin', thievin' populace, the players of EVE enjoy some of the highest levels of individual freedom of any major MMO game currently on the market. Of course, this freedom makes parts of EVE a very dangerous place. Massive corporations (EVE's word for player guild), and alliances of corporations comprising thousands of players vie for control over territory in parts of EVE's galaxy. Just recently, two of the game's most influential and populous power blocs announced that they will be going to war with one another, and have begun mobilizing their resources and assets to do just that. This summer will bear witness to one of the largest virtual wars in history involving, by my conservative estimate, approximately 10,000 to 20,000 players over a several-month campaign.
Labels:
Emergence,
EVE Online,
MMO,
MMORPG,
Persistent Worlds,
Sandbox
Subscribe to:
Posts (Atom)






