Remote Shepherd is the capstone project for Long Shot Games, a group of five graduate students in RIT's Game Design and Development masters program. The game allows the player to step into the shoes of a group of vigilantes who have decided to put their skills gained as Marine Scout Snipers to use in cleaning their city of criminal organizations. This blog will track both the ongoing design and development of the project.

Wednesday, May 11, 2011

Dave McKean Should Be Flattered, Right? Right?

So, what do you do when your game is a week from the final deadline and you realize you want some cool promotional art, splash screens and loading screens? Why, you task it to your AI engineer! Wait, why doesn't that sound right? Anyways, when I thought about what these images should look like, my mind immediately went to one of my favorite artists, who has done album covers and comic covers: Dave McKean. I had three images in particular of his in my mind when creating the images for our game:

The Sandman Vol. 7 Cover

The Last Temptation album cover, also the cover of Book I of The Last Temptation Comic

Cover of Book III of The Last Temptation comic

The middle image hangs on my wall as a large print. With those images in mind I created:

Remote Shepherd comic book cover

Remote Shepherd splash screen

Remote Shepherd loading screen

Thursday, April 21, 2011

Havok, Vertex Buffers, Maya 2011

So, it's been a while since I posted. We ran into an interesting situation where we learned that Havok was exporting our referenced meshes as unique meshes within our level. This led to each mesh having its own unique vertex and index buffers. Now, with trees, paths, POIs, and other content, this led up to having 5600 unique vertex and index buffers.

That, for lack of any better words, is a lot of content. That's also a lot of state changes between graphics calls. So, how did we fix this?

Well, we first attempted to export our files using the Havok exporter in Maya 2011, using the "Find Mesh Instances" filter. This filter is supposed to remove duplicate meshes from the scene, but does not detail how it does so.

We at first assumed that any file that was referenced in would be considered a duplicate mesh. Then, when that didn't work, and we had a 50 MB level, we tried doing reference copies. That didn't work either. Well, I then systematically attempted to figure out how "Find Mesh Instances" worked. Turns out, I couldn't find a way for it to work (at least not using the filter).

But, after talking with Eric, I found a nice way around this.

So, the solution was instead to do this:

  1. Reference in the object / model you want to use from the file of your choice.
  2. After placing your reference, select the object in the Viewer or Outliner.
  3. Go to Edit->Duplicate Special (click the square next to it to set it up)
  4. Select Geometry Type as Instance and Group Under as World.
  5. Click Duplicate Special.

What this does is creates an instance of the reference that was loaded, which has its own transforms separate of its parent. However, because it is an instance of the reference, its materials, vertex data, etc will be changed when the reference is updated. Likewise, when you execute the shortcut now, these parameters will already be set up.

When you export using the Havok Content Tools exporter for Maya 2011, "Find Mesh Instances" will report not finding any duplicate meshes. However, only a single instance of the mesh will be loaded and referenced in the scene. For us, this insures we only create one index and vertex buffer per referenced mesh, greatly reducing the size of our level files and increasing run-time performance for the game.

Saturday, April 16, 2011


I spent the last week or so working on all the pieces I need to get set up in order to have the data needed to create a heatmap. I first had to log out the data from our game engine, which I achieved by writing all the gameplay metrics to text files. The next step was to organize all the metrics from the log files into a database. The proper way to do this is to use an SQL database, but this was going to take me too long to learn and implement. So I decided to keep using a text file to store the organized gameplay metrics.

Tuesday, April 12, 2011

Animation State Engine and Expressive AI

Now that we have some animations the AI can start to look more interesting. No longer do they merely stop at the goal and wait to move to the next goal; they actually do something at their goal now! To further that end I developed an animation state engine. This is basically a finite state engine with each state representing an animation, and the edges representing transitional animations. It allows the AI and animation systems to be separate, and the AI system to merely tell the animation system which animation state it should be in next, and the ASE will handle picking the appropriate transitional animation and determining when to play and when to stop animations. Each agent also has a map of animation categories to specific animations, meaning different agents can easily have different "Walk" or "Idle" animations without the ASE or the AI system caring at all.

This Is Why We Can't Have Nice Things, Delta

A little photoshop magic on the city map shows just how well our detective takes care of his things.

Two Paths Diverged in the Park (With Apologies to Robert Frost)

We've had the nav mesh and path finding in for a while, I just haven't had time to make a post about it. Here's what our nav mesh looks like currently:
Right now it's only the actual dirt/concrete/DG/whatever paths in the park, it doesn't include grassy areas yet. There are plans in the future to mesherize the grassy areas as well, but we need some way to assign terrain modifiers to polygons so that AI knows what kind of terrain it is walking on. The other thing you will notice about the nav mesh is that it is all triangles, instead of n-gons. This is unfortunately a shortcoming of Havok, it refuses to read anything but triangles. This means more polygons than strictly necessary, and also it means that our centroids kind of make a wobbly line. That being said, it works pretty well, and the local avoidance gets the AI to alter it's path and keeps them from looking like they are in one big line.

Tuesday, March 29, 2011

Scout Mode

As I mentioned in an earlier post we created a new game mode called Scout where the player views through a camera and has a directional microphone. The first thing to notice the HUD is designed to match what the player would see while looking through the viewfinder on high end digital camera. The squares and circle have no bearing in our game, but are there to simply match what would be seen through a real camera's viewfinder.

Scout HUD

Making Comic Book UIs

One of my jobs on this project is as UI design which has been challenging because of the comic book look of the game. All of the Menus and HUDs have to look like something a reader might find in a comic book. As such I have to find some reference material on panel layout, lettering and art styles. If anyone is interested in any of these topics here are a few places to look at.

Sniper Map

One of the new features that came out of the redesign of the missions is that there are now more sniper nests than snipers. This means that the player will be able to reposition the snipers around the mission area. So we had to come up with a system to allow the player to control the position of the snipers and luckily one of the games we looked at during the research phase of the game had such a system. It had stuck with me as it seemed to be a simple solution that added a new menu page and keep the controls simple.

The Strangers

Saturday, March 26, 2011

Game Modes / HUDs

This past week we established two play modes for our game, Shooter and Scout. The Shooter mode is the original mechanic of the game where the player uses a rifle and a scope to locate their target and kill them for lethal conclusions. Below is the first version of the HUD for this game mode. In the center is what the sniper sees looking through the scope of their rifle. Around the scope the player can see their current setting for the scope's magnification, elevation adjustment, windage adjustment and a compass to show where they are facing. Then in each corner of the screen there is a designated area for each of the snipers (Alpha, Foxtrot and Whiskey) and the police detective (Delta) to talk.
Shooter Mode

The new game mode is Scout where the player uses a directional mic attached to a high power camera. The player will use the mic as another method of locating their target and the camera to gather evidence for non-lethal conclusions. In this mode dialogue picked up by the mic is displayed in radio bubbles around in the blacked area of the HUD. Due to how the dialogue is displayed, we removed everything but the compass form the Shooter mode HUD.
Scout Mode

Repurpose Not Rebuild

As a follow up to my earlier post about scraping our designed levels and building a new one it is important to mention that for the mission redesign we first designed the mission situation and then placed that situation into an environment. This let us build a gameplay experience that would be fun and engaging for our player, which was why we scrapped the first missions in the first place. It also allowed us to make the environment be something that we could use as much of the art assets we had gotten for our art team as we could. As well as keeping old art assets and making the game more fun it was equally important that we redesign the narrative. Mainly because at the time we were unsure how many artists we still had on our art team and Dan and myself would not be able to make enough of the assets we needed. It was also important because all the art we had worked well and there was no need to scrap any of it.

Building a Terrain

One new problem with the redesign of the game's narrative path is that the park is not a flat plane like the market was. This meant we would have to generate a terrain in Maya, which is something difficult for myself to do as the level designer. After a week's worth of searching for plug-ins or external software that would let me design the terrain of the park I decided on the program that would best allow me to generate a terrain and export it into Maya: Nem's Mega 3D Terrain Generator.

After experimenting with all the other solutions I had found, I settled on Nem's Mega 3D Terrain Generator for several reasons. The most important was that it allowed the level designer to quickly generate a terrain using some built-in generation techniques and hand-sculpting tools. This program also allows us to export our terrain as an .OBJ files that we can then import into our Maya scenes, a feature I felt was important to have. The designer also has control of the size and number of triangles of the terrain, which is important for us to make sure we keep our poly count down. Lastly with Nem's Terrain Generator the designer can hand paint each face with a texture which is nicer than Maya's process for applying a face with a particular texture.
Nem's Mega 3D Terrain Generator

Friday, March 25, 2011

The World is Not A Round, Spherical Place

AI characters need a way to get around the world, and we considered three ways to let them do this. The first was local avoidance, but this can very easily devolve into dithering unless the level is specifically designed to prevent it. As such we decided to do actual path finding, the only decision left being whether to use a node graph or a navigation mesh. We decided to go with a navigation mesh based on the recommendations of this article. I'll summarize the relevant points here.

Sunday, March 20, 2011

Not The Man I Used To Be

As you know, Remote Shepherd has had a reboot of sorts. What this means for AI is essentially starting over on character design. Previously we had five types of AI planned for the first level (the Market Mission): three different kinds of shopkeepers who would resist the debt collector to varying degrees, regular people just out shopping, and the debt collector himself. While all the designs for the AI characters were finished I had fortunately only implemented the shopper in code.

Behavior trees and finite state engines for the original AI characters

In addition to the problems Eric mentioned in his post, the original design of the second and third missions was incredibly vague in terms of AI and behaviors, and trying to come up with AI to fit the environment and narrative wasn't working ("So what'll be the NPCs be doing in Mission 2?" "Uhhh"). With the new park environment we have a much larger pool of behaviors that people might engage in in that space, and the hard part became trimming the list to behaviors that served our gameplay purpose: to act as a red herring. This trimming is just a prioritization though, not a deletion of any behaviors. The game will also need AI characters that are not red herrings, but are there to flesh out the environment and make it seem realistic and alive. The three characters (in addition to the unique target characters) that we have prioritized are: The Reader, The Walker, and The Jogger.

Sample of behavior trees and finite state engines for The Reader, The Jogger, The MobGuy and The BodyGuard

Saturday, March 19, 2011

The Soundscape (First Design)

The Soundscape for this game will be similar to the Central Park in NYC or the Middle Park in GTA IV.

The types of sound that can be heard in public parks are as following :-
  • Birds
  • Sounds of Nature
  • People/Crowd
  • Vehicle/Traffic
  • Music
  • Air Traffic
  • Machines
Below is the first design for the Soundscape of the game's level.

Friday, March 18, 2011

Paramount Park Concept

The new mission for Remote Shepherd takes place in a large park in the center of the downtown borough of River Ridge. The design of the park is heavily influenced by both Central Park in NYC and Middle Park in GTA IV. For our level the Central Park was too large for us to recreate with our time limit and the layout of Middle Park did not match well with what we needed out of the space for our game.

Mole Hunt - Mission Briefing

We (Remote Shepherd vigilante group) have been working to remove the hold organized crime has on River Ridge City for the better part of two years. We have managed to remove most of the low level gangs, but this has led to the remaining organizations working together to take us out, operating under the moniker "Wilcox-Arlington Management Group." (WAMG) One of the member crime families, we don't know which, has managed to gain one, if not more, informants inside of the RRPD. These informants are both giving police information to the crime families and manipulating the actions of the police department.

I (Delta) have been able to obtain information that a transfer between one of the informants and an intelligence officer for WAMG is going down in Paramount Park today. I was unable to obtain any information on the informant, but was able get the files on the intelligence officer. You will have to use the intelligence officer in order to uncover the informant. The intelligence officer will be attempting to maintain a low profile but he will be accompanied by his personal bodyguard.

Once you’ve located the intelligence officer, do not lose him. He will surely be cautious and aware that we are hunting him. You’ll also have to pay close attention to anyone near the intelligence officer as I am sure he and the informant will attempt to disguise their meeting as something else. I cannot stress enough that the goal of this mission is to stop the flow of information and the manipulation of the police department. I don’t care how you achieve this goal; just make sure you don’t screw this up.

Friday, March 11, 2011

Once Upon A Time

There is a fair amount of information on the web about stories in video games. I know when I started looking for articles it was hard to find any worth reading, so I figured I'd give anyone out there a head start.

Game Design as Narrative Architecture
Is a great article on narrative in games and environmental storytelling.

I would recommend anything from Richard Rouse III. “Seven Ways a Video Game Can Be Moral” and “Environmental Narrative: Your World is Your Story” are both great places to start.

What Happened Here?
Is a great presentation on environmental storytelling.

“Player-Driven Stories: How Do We Get There?” is a great talk on ways to allow the player to branch the story and ways to let this happen that don’t kill the people making the content.

“No Explanation Necessary: Minimizing Exposition in Game” is a great talk if you can find it somewhere on the web or in the GDC vault.

Hit The Redo Button

Last week a few of us attended GDC and I managed to attend several of the sessions dealing with different aspects of a games narrative. Along with giving me tons of new information I could apply towards our game it also gave me the chance to take a step back and examine "Remote Shepherd". By the time I got back from GDC I had determined that I had made a major design mistake as far as our missions went.

I had designed the missions first around a narrative ark and then tried to wrap gameplay around it. This left us with a story that we were unsure we could tell with a shrinking art team and a game that I did not see as fun anymore. So I had determined that we needed to scrap the missions we had designed for the story and craft a new one that was designed around the gameplay.

Thursday, February 24, 2011

Market Sniper Nest Concepts

Below are two concept drawings of what players will see from two of the three sniper nests in the Market mission. The first is from a billboard on the roof of a building a few blocks away from the market square. This sniper nest gives the player a view of the north side of the market that is obstructed from the other two nests' field of view. However this sniper nest is limited to only having a clear shot of this section of the market square.

Billboard Sniper Nest

The next sniper nest is situated on the top of the stairway access to a building’s rooftop. This sniper nest has a clear view of most of the market square; it's almost the opposite of the billboard sniper nest. However this nest has a poor shot on the section of the market square directly below it due to the magnification by the sniper scope.

Rooftop Sniper Nest

Sound Types and Categories

In Remote Shepherd's Sound Engine, we have two types of sound. They are 2D sound and 3D sound. 2D sound does not depend on any sound emitter or sound listener. When we play 2D sound, its volume will always be the same all the time. However, for 3D sound, the attributes of the sound emitter and sound listener will affect how the 3D sound being played. When the attributes of the sound emitter or listener change, the volume of the sound may increase or decrease and the sound may pan left or right.

When/Where to use 2D sound?
  • Main Menu
  • In-game Menu
  • Pause Menu

When/Where to use 3D sound?
  • In game's missions or levels

In the sound engine, the sounds are divided into four categories: Music, Ambient, Effect and Voice. We divided the sounds into these categories so that it will be easier to manage.

  • any music coming from radio, stores, buildings or background music for the main menu or in-game menu
  • any sound that comes from the environment or the atmosphere. e.g. wind, machines, generator, city
  • any short sound or non-looping sound effects. e.g. rifle shot
  • any looping or non-looping audio for the characters in the game

Friday, February 18, 2011

Weird circle issuses

During the process of designing the HUD for the game we discovered an interesting optical illusion. Our first version of the scope reticule was made of a cross with three circles. The circles were placed to help the player to be able to judge distance of objects that did not line up with the mil dot cross. When we placed this into the game and looked at the world we discovered that our circles did not look like circles. This is a similar illusion to Hering Illusion where lines appear to bend when lines cross them. The following image illustrates what we saw and if you look in the areas between the crosses you can see where the lines seem to bend.

First Version
After discovering this we had to sit down and redesign how we could give the player the same capability without having any optical illusions. In the process we also discovered that circles were displaying the wrong information with circles. This lead to the new design with corner lines showing the mil dots in 4 unit increments. This broke up with circles and let the player properly measure mil dots in the reigns away from the cross. The following image illustrates how we fixed the optical illusion with using square corner pieces.

Current Version

Thursday, February 17, 2011

Remote Shepherd's Sound Engine

The sound engine in this game is constructed using FMOD Ex which is a low-level audio engine. FMOD Ex is one of FMOD products. It is created by Firelight Technologies. Currently, FMOD Ex supports 12 platforms. It supports Microsoft Windows, Linux, Macintosh OS X, PS2, PS3, PSP, XBOX 360 and many more. A wide range of audio formats such as AIFF, FLAC, MP3, OGG, RAW, VAG, WAV, WMA, XMA and XWMA can be used with FMOD. There are many high profile commercial games like Guitar Hero III, LittleBigPlanet, Second Life and Tomb Raider: Underworld used FMOD.

  • It supports multiple platforms and variety audio file formats.
  • It can be used with C++ and Visual Studio.
  • It is FREE to use for a non-commercial product.

For more information on FMOD, check out http://www.fmod.org/

Saturday, February 5, 2011

Best Sniper Locations Ever

Throughout the design of the levels we have brainstormed interesting places for the snipers’ vantage points. Some of these we have put into our game and others that could be used in other missions if we designed the entire game. However with brainstorming come ideas that could never work but are just too funny not to mention. So I decided I would post some of my favorite ones so far.
  1.  In a ball pit with baby dolls attached to the ghillie suit
  2.  On the second level of a double decker bus
  3.  Inside of a hotdog stand
  4.  On top of a flag pole
  5.  Under a manhole cover

Friday, February 4, 2011

Player Affect: Character

As mentioned earlier we want the player’s actions to have a meaningful affect on the game. This past week we discussed how the vigilantes' personalities could be affected by the player’s actions.

During the first mission the dialogue between the vigilantes during the mission briefing and the mission itself will be impersonal, cold and professional. As the game progresses the dialogue will become more personal as the vigilantes reveal more of their personality, which will be based on the player's actions.

Our current idea for someone that only completes each mission through non-lethal means is that the vigilantes will become sad as they see no end in sight for their campaign. On the other hand someone that only uses lethal means will become angry, as they let their rage from what led them to become vigilantes consume themselves. For someone that uses a mixture of the two their personality will become psychotic or unbalanced as they are unable to reconcile their feelings about their actions one way or the other.

Tuesday, February 1, 2011

Animations: Part 1

So far, basic animations now work within the engine. We have accomplished this by using the Havok physics and animation engine along with its exporting tools for Maya. Our modelers and animators create the skinned skeletal rig along with any partial or full body animations we need and export them out as .hkx files. These contain either all of the information for a single animator's character, or simply a single skin, skeletal rig, or animation. As we will want a variety of animations to help in behavioral profiling within the game, the later approach will most likely be the main version used.

Each of these individual items, i.e. the skin, skeleton, and animation are all loaded in separately through Havok's pipeline and assigned to an animated mesh object. For the most part these are stored 1-to-1 within the animated mesh. However since we use our own rendering system, we need to convert the mesh provided by Havok into our own form for rendering.

After getting all of the items needed for animation, updated matrices based on the skin bindings and modified by the rig and animation are passed over to a shader to handle hardware skinning. Cel-shading and other effects are also performed to get the desired style we need for the game.

What still needs to be done or made:
  • Blending of animations so that a character can wave to someone, spray paint a building, or flail their arms all with the same walk cycle
  • Allowing for quick ease of animation swapping within a mesh
  • A manager to handle storage of all this data so as to not flood memory with multiple objects of the same animation.

Sunday, January 30, 2011

Mission 1 - Where's My Money?

The first mission of Remote Shepherd is set in the Market described in an earlier post. The player’s mission is weakening the gang by stopping their incoming cash flow. This mission is primarily designed to teach the player the basic controls of the game and teach them that there is no set solution to any mission.

The mission is broken into two parts the first being introduce the controls and examining the crowd for a target. The player will move to each of the three snipers and be explained how to mark people in the crowd as no threat, possible threat or threat. We will also explain how based on each person’s behaviors this conclusion can be made.

The second part is teaching them all the things the player will need in order to complete any mission the way they want to. Just like in the previous part each sniper will tell the player how something in the environment will react to a bullet. This includes shooting out windows, starting a panic and shooting out a light. With this knowledge the player will be able to make an educated guess how everything else in the world will react to their actions.

Alley Concept

The non-lethal version of mission 3 takes begins in a small parking lot next to a local church. The organization of middle class citizens trying to clean up the city are getting ready for one of their charity events the following day at the church. Without warning, a group of gang members surrounds the parking lot and begin firing at the citizens. The citizens try and run away to the police station just a few blocks away. In order to get to the police station the citizens run through a series of alleyways all the while dodging bullets from the gang members.

Friday, January 28, 2011

Harbor Concept

If the outcome for the second mission was in the lethal category then the third mission will be set in an industrial harbor helping the police take down the gang’s leader at their base of operations. The harbor is set in the industrial borough bordering the River Cove borough with the large river separating it from the downtown borough. The harbor was one of several large dockyards for shipping supplies in and out of River Ridge. However like the rest of the areas around River Ridge it is now partly rundown and only has a fraction of the shipping traffic it once had.

The gang’s base is situated on an outlet of land adjacent to the main shipping dock with several industrial buildings and docks for mid-size cargo ships. The gang uses an abandoned cargo ship to hide its drug operation as it provides a hidden location compared to the industrial buildings with large glass windows. As for the industrial buildings, the gang uses them as a supply front to hold storage crates full of drugs and guns. The outlet has several abandoned silos and shipping crates from when this dock was used for shipping supplies. Access to these locations is by ship or an industrial road that runs through the harbor which provides the gang with a clear view of anyone coming near.

Thursday, January 27, 2011

Where is the Agency

A common critique of Remote Shepherd is “Where’s the agency?” Our initial answer to this question was that the NPCs would react to shots fired at or near them. However this did not stop the question, so we had to sit down and think how the player’s actions would affect the game. Our current answer is that what the player does will lead to a certain outcome for a mission. Each outcome for a mission fits into one of three categories; lethal, non-lethal or arrest.

Lethal outcomes involve the death of an NPC where as non-lethal requires that no one has been killed. The next mission will depend on which of these two categories the outcome of the previous mission fit into. The arrest outcome happens when, through their actions, the police are able to locate each of the three snipers, ending the game. When the player is arrested they view a cutscene showing a conclusion to anything that has happened in the game.

We decided to place a heavy cost to all of the player’s actions, influenced by Heavy Rain. Everything the player does has some type of effect on how the game’s story unfolds. If a player just starts shooting randomly into the crowd they will be arrested quicker, leading to the end of the game. The player’s choice to use lethal or non-lethal action will also shape how the story unfolds by changing the missions.

Tuesday, January 25, 2011

The Infernal-Light Engine and Graphics Going Forward

So, my primary objective over the past 7 weeks has been to reorganize our game engine for use with producing our game. This has included clean up and refining of the original code base (this included adding an event system, observer-observable model, smart pointers, and general code refactoring and cleanup).

While doing that, we had an express need to incorporate a pre-built physics and animation system. The reasoning was, in our previous games Polarity and Rogue Squirrel Returns, I had written our physics and collisions from scratch (basic acceleration, velocity, momentum, bounding sphere, bounding box, and bounding plane). The amount of time and effort required was tremendous, and while the code was re-usable, more optimized and organized technologies would have saved us a lot of time. So, for this, we included rolling Havok Physics and Animation into our engine. This required writing an extension library, which we could use for handling all of our interactions with the Havok system. Currently, we've incorporated Havok Physics into the system, with specialized event handlers for catching collision events. We are still working on getting Animation into the system.

So, what is next on the agenda? Next, is to take our DirectX 11 library and extend aspects of it to allow for multi-pass special effect rendering. To accomplish this, I will be doing three specific things:
  1. Extracting out code used to render and put it into a more generalized "Pass" object, which knows what objects it wants to render.
  2. Give the pass object as set of input and output "Buffers", which represent the render targets they will attempt to read from and render to.
  3. Create a manager that keeps track of these "Buffers", enabling quick fetching and storing of Buffers as soon as they're available.
  4. Create a unified light manager to manage all of the lights available in the scene. The manager should be capable of getting all of the relevant lights (up to a max number) for a given object in the scene.
The goal is to create a chain of passes which can be processed, feeding one into the other. The end result is a render chain which can build all of the components of various rendering effects, and perform them in the order stored in the chain.

Monday, January 24, 2011

Vigilantes' Background

The vigilante group is made up of three Marine snipers and a detective in River Ridge City. The four of them have been friends since early childhood, growing up in Royal Cove, a borough of River Ridge. After graduating high school the group split up. Three of the friends became Marine snipers while the other friend became a detective for the River Ridge Police Department (RRPD).

The three friends that became Marine snipers enlisted for the Marine Corps together after high school. They went through basic training and then sniper training together. They spent the rest of their eight years of enlistment in active duty. During their tours of duty they fought side by side in several regions of the globe. When they were done with their enlistment they went home to River Ridge to find their hometown in decay.

The other friend who became a detective went to college and got a bachelor’s degree in criminal justice. After graduating college he went through the Police Academy to become a police officer of the RRPD. After two years as a patrol officer he was promoted to detective and a year later was assigned to the RRPD gang unit. He has spent the last year working his hardest to stop one of the smaller gangs in the greater River Ridge area. Despite his hard work he has very little to show for it.

Sunday, January 23, 2011

Apartment Mission Concept

Mission 2 takes place in an apartment complex built for the upper class families that wanted the niceties of life in the suburbs but could not afford it. To meet these needs the complex is built on the outskirts of Royal Cove next to the river, dividing it from downtown River Ridge. There is also a network of walkways running through the open areas of the complex and along the short cliff edge overlooking the river. Residents also have access to a Metro station and a small restaurant with patios overlooking the river just across the street. These apartments would have been the best place available to live near downtown River Ridge but the complex was completed shortly before the middle class left Royal Cove. When the gang moved into Royal Cove most of the high ranking members and their families moved into this complex as it was the best in the borough.
New York City

New York City

New York City

Saturday, January 15, 2011

Market Mission Concept

The first mission in Remote Shepherd takes place around a small park at the heart of Royal Cove. On this day the park is being used for the weekly flea market where the locals can sell and buy goods. This is also the time when the local gang sends its debt collector around the local businesses to collect any outstanding debts the shop keeps might have. The mission for the player is to stop the gang from being able to collect this debt in an attempt to weaken the gang’s grip on the locals and to lighten the gang’s wallet. The player will first have to locate the gang’s debt collector based on his actions towards others as well as the behaviors of the locals towards him.
New York City
The concept for the market is based on the picture above of a section of Broadway in New York City. I came across this area while exploring New York City using Google maps street view for open markets. I had found a few places where there were open markets but they were all covered areas so that did not work for our game. I then changed gears and looked for a park that could be used to hold a flea market. This led me to this place which is too narrow for our game, so I simply made it into a full city block. With this we can have open areas giving the player a clear view of the NPCs so they can find the debt collector. It also allowed me to design an area in which some parts would be occluded from certain vantage points. Blocking the view from certain vantage points is important because we want to force the player to use all the vantage points.
Flea market vendor
Surrounding city blocks

Friday, January 14, 2011

Royal Cove Concept

At its height River Ridge was large enough to lead the local government to break up the city into several boroughs. The first chapter of our story takes place in Royal Cove that at its height was mostly populated by the middle class of River Ridge. Royal Cove is situated between the industrial borough and the downtown borough with the river separating it from both. When the industries went under this area was hit hard; when the jobs left most of the middle class population left with them. This allowed some of the gangs from the ghetto to spread into Royal Cove which quickly lead to the decay of the area. Some of the middle class that remains in Royal Cove have dedicated themselves to making the area a beautiful and safe place again. However this is a difficult, and sometimes dangerous, endeavor with the area infested with gangs.
10 years ago

The concept for Royal Cove is based on the Bronx, one of the boroughs of New York City. The Bronx fit the idea we had for this area; it was built for the middle class but now is populated by the lower class. As discussed in River Ridge’s background we needed to create an area that has seen better days so that locations like the market make sense. Our first idea for this area was that it was always a rundown section of the city with an open market in one part of it. After having a day to think about this we couldn’t reason why there would be something as nice as this park in a rundown part of the city. This led us to rethink the area into what it is now.

By making Royal Cove an area that was once peaceful and beautiful and is now a decaying, crime filled area we gained two bonuses. The first bonus we gained is giving the player a reason to want this place to be beautiful again. The characters’ backstory is that they grew up in this borough when it was beautiful. While they were in college, and later the army, the industries went under. So when they came back from war they found their beloved home in the state that it is. The second bonus is we were able to craft a story where there are other people in this area that want to make it beautiful again.

River Ridge Concept

River Ridge is a large city that a few decades in the past was a thriving metropolis fueled by a large corporation. However several years ago this corporation went under, leaving the city with nothing to fuel its economy. This in turn paved the way for organized crime to spread to the point where even the police are helpless. Although all might seem lost there are some upstanding citizens who have devoted themselves to making their city a beautiful and safe place to live again. But with the law unable to stop the organized crime, this is a difficult, and sometimes dangerous, endeavor for these citizens.

15 Years ago
The concept of River Ridge's background is based on many of the large cities on the east coast of the United States that were the center of large industries such as Detroit or Buffalo. This background was chosen because it gave us the flexibility in the design of the levels to make areas like the open market block for the first mission. This also opened up the idea of citizens working to make their city beautiful again, which became important to our story line.

The concept for the criminal story of River Ridge is based on the fictional city of Gotham from Batman. We wanted to create a place where the player felt they could trust the police to try to do their job but were just unable to without some help. This is important for the players that choose to clean the city through non-violent actions. If the player believed that the police were all under the influence of the criminal organizations there would be no point to handing them over to the authorities.

Monday, January 10, 2011

AI Prototype

One of these dots is feared by the rest

The AI Flash prototype is quickly starting to function more like what we want in the game. In this latest iteration we have three features being demonstrated: fleeing, contagious fear and behaviors. Clicking on an empty space in the world simulates a gunshot in the real game, creating fear in nearby agents. The frightened agents flee towards safeplaces (SP). As they run past non-frightened agents they transfer a little fear to them. One frightened person running past another won't cause the other to run, but many frightened people running past them will. In this system a well placed shot can even cause a panic as the fear continues to spread.

The red encircled dots are frightened and
running to a safeplace

The other aspect of our AI system that is being demonstrated (though harder to capture in screen shots) is the behaviors. Basing the agents behaviors on our planned first mission, one of the agents is a debt collector, and the rest of the agents are debtors. The debt collector wanders around the world space, while the debtors try to avoid the collector while also wandering randomly between the waypoints (W). Identifying the debt collector involves exactly the kind of process we are hoping to elicit in the actual game: the player must observe the world and look for disruptions in a pattern, in this case look for agents who seem to be having their normal path to a waypoint disturbed; the collector is likely to be near them.

Friday, January 7, 2011

Hint systems: part 1

Considering that the player is often required to look for a target from various viewpoints which they themselves would have a large amount of people to observe, it becomes a daunting task to figure out where to look. In the worst case, this could result in the player not ever looking at where the target is. To fix this problem, we can: 1. make sure the level is designed in such a way that this happens as little as possible, and 2. help point the player in the right direction i.e. a hint system.

Obviously good level design is key and constant play testing for any level will be important. However, some players may still have difficulty in figuring out where to look with so much going on. As such, this is where the hint system will come into play.

Ideally we want to have 3 parts to the hint system: letting the players know what vantage point to watch from, where to look at from that vantage point, and what sort of behavior/activity to look for that the target may be doing.

So far the latter 2 items haven't been figured out yet, but we now have a good idea for the first stage of the hint system. In order to draw the player to the right vantage point, we can have the character of the team associated with the vantage point draw the player's attention there with something like "I see the target." This way the player knows that they can go to that vantage point to find the target.

This approach fits in really well with the narrative of the game since the player essentially controls the team's "hive mind" or collective thought so to speak. As the character notifies the player of the target, it's up to the player (aka the collective team decision) to determine the situation and how to handle the target.

Wednesday, January 5, 2011

Main Menu Design: part 1

A game's main menu is the first aspect of a game that a player will see and as such it is important that the design of the menus is well thought out. Most importantly this means that the navigation can easily be mastered by the target audience. However just because this is the most important does not mean that all one has to do is navigation and just throw the rest together at the last minute. As these menus will be the first aspects of the game the player sees it is important that they reflect the game’s look and feel. This way the player never loses their immersion in the game whenever they are not playing the game. Heavy Rain’s main menu is a great example of how the menu system can reflect the game’s look and feel. The scene matches the games dark and gritty tone as well as the photorealistic look. Just from this one scene the player can get a feeling of what type of game they are about to play and what they have been playing. With all of this in mind I set up to design the menu system for Remote Shepherd.

Heavy Rain's Main Menu

I decided to start the design with the background for the menus. I first looked at Heavy Rain because our game has the same dark gritty tones and is set in a rundown city. I liked the idea of using a live scene set in the game but I decided this did not match the comic book narrative style of the game.

Batman: Arkham Asylum's Main Menu

Next I took a look at Batman: Arkham Asylum because it both matched the tone of our game and is based on a comic book. I liked the use of batman in iconic poses set on a rooftop but this conflicted with our plan for the player.

After that I looked at Halo Reach because it used an animated comic book art style for its backgrounds. This fit perfectly with where we were heading for our cut scenes and I really liked the effect. Another thing I noticed and liked about these backgrounds is that they changed from menu to menu. This is something that we could use to reflect the change of perspective that happens in our game.