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.

Saturday, December 18, 2010

Prototype: Gameplay

My first objective for Remote Shepherd was to create a rapid prototype to test the vantage point mechanic as well as find out if our where's Waldo mechanic was fun. To achieve this objective I would need to create a camera system that allowed me to move the camera from one set location to another. The camera system would also have to be able to zoom in and out. I would also have to create a simple crowd system that had basic navigation and animation.

I first decided that I would use a game engine to make this prototype because otherwise this would not be finished quick enough. So I looked at two engines that I had used in the past: Unity and the Unreal Development Kit (UDK). I first looked at Unity because I knew it the least and wanted to expand my knowledge with it. I decided I would first work on the camera system and quickly figured out that I could achieve zooming by changing the field of view of the camera. This was as far as I was able to get in an hour of work and decided that using Unity would take me longer than I wanted to spend.

I then switched to the UDK, which I had a good amount of experience working with, ranging from just the editor to writing UnrealScript. I again started with the camera system but this time I worked on the vantage mechanic. I quickly discovered the GravityVolume that allowed me to create a volume where the player would not fall when moved there. I then had to mess around with the configuration files to disable input for movement and implement my own input for teleportation and zooming. I wanted to stay as far away from UnrealScript as I could, so for my input I generated console events which I caught in kismet. With the camera system all set up I went to work using the UDK’s crowd system.

I had used the crowd system in a previous release of the UDK so I was quickly able to create a network of destination nodes to allow the crowd to move around. I ran into one hiccup with spawning the crowds because the newer version of the UDK had changed how to tell the spawner in kismet what archetype to spawn. Once I figured out the new way to do this it was cake to get crowd agents spawned and running around the level.

To test the "Where’s Waldo" mechanic the first version of the prototype spawned a large number of blue colored agents and one red colored agent. This turned out to be somewhat fun but was very short because it was too easy to find the target. So for the next version of the prototype I made it so all the agents looked the same but one would act differently from all the rest. After messing around with the archetypes I discovered how to change their animation, their speed and get them to perform an animation randomly. With this I was able to make a “jerk” agent that walked slightly faster than the rest, held his hands in close as if to hide something and would randomly stop to face and taunt the player. This version took longer for players to find the target than the first version, but after the player learned what to look for was it only slightly longer.

Overall I was very happy with the prototype and the information we were able to gather from play testing. We learned that we would need to place landmarks so the player could build a mental map of where each vantage point was. We also determined that we should limit the game to three vantage points to keep it simple for the player. The prototype was also valuable to our programmers to figure out what our engine would have to do to achieve all the same things.
The level