Nick Crockett


Vietnam Romance

Computer game, installation, mixed-media live show, 2014-
Overview     Video + Images     Process     Features     Demos + Artifacts

Demos + Artifacts




Postmasters Gallery (NYC)


The show at postmasters had the most complex projection setup of any of our installations. Four projectors were used together to show the game in 48:9 “extreme wide mode”, on a custom built plywood projection surface, with several “popup” details mapped onto separate floating objects. I had to develop an in-game UI editor to allow us to modify the precise position of each floating popup. The second projection surface from the left includes the full projection to allow for subtitles and other information to be displayed outside of the letterboxed game view.

I had to quickly modify our camera systems to support this extreme wide view, pulling the camera way back and reducing the field of view to prevent extreme distortion from occuring at the periphery of the screen. The camera system now supports several “camera modes” corresponding to our various installations and performances.

This is also where we first tried moving the hand of cards interface to a separate projection, although we decided to not go forward with it for this show.

The Postmasters  show is also the only time we exhibited the Vietnam countryside generator, which spawned a continuously scrolling environment with various biomes and random enemy encounters. The gallery insisted that we design scenes like this to work as self-playing attract modes that allow players to pick up and play the game at any point.



Dundee Contemporary Arts (Scotland)

The main game installation was composed of two overlapping projections: one for the main game and hand of cards, and another for the four excerpted “popup windows”, which show details of objects in game.

This installation required the tutorials and shopping scenes to be excerpted into their own build for a second projection on a giant sculptural computer monitor.



UCLA Game Art Festival (Los Angeles)

This installation had two projections: a main screen and a second projection displaying the player’s inventory as a hand of cards.

For the live performance version, players sat on stage and interacted with Lucas Near-Verbrugge, who also provided the voice and likeness of the in-game tour guide. For this show I included a variety of audio cues that told us the state of the game (a distant bird call when the deer was scared off-screen, for instance) to signal how we should advise players.

This version also included a large, physical Rambo puppet, which players manually held and rotated to aim. I helped with the electronics inside the puppet: an arduino reads a rotary encoder and converts the data to mouse movement on the vertical axis, which I map back to the character’s rotation in the game engine.


Vehicle Controls


Vietnam Romance features several vehicles with unique controls. At this point I’ve had a hand in developing all of these systems.

Stationwagon and Bus Controls

One unusual feature of Vietnam Romance is that the tour bus and stationwagon are able to drive in full 3D from a side-on perspective.

To make this feel “right”, I decided that the heading from the joystick should always correspond directly to the vehicle’s apparent motion on screen. To put the vehicle in reverse, players simply tilt the joystick opposite the way the vehicle is facing. Therefore, I had to convert WASD or Joystick input into engine torque and wheel angles which differ depending on the vehicle’s heading relative to the camera, and flip those for instances where the vehicle travels in reverse. This was tricky to get right.

The camera also shifts it’s focal point relative to the vehicle depending on which way the vehicle is facing, to allow a view ahead of the vehicle.

Engine Maintenance

The first levels we built were primarily about driving an unreliable vehicle in heavy traffic. The player can use fuel for a speed boost, but runs the risk of overheating. When the vehicle overheats, the player has to sit still for a moment while the engine cools down. Water and other liquids like coca cola and vietnamese iced coffee can be used to cool the engine immediately. Motor oil prevents the engine from heating up for a limited time, allowing the player a longer duration of boosting before they need to rest. This clip also shows the UI elements I designed to communicate engine status and later weapons and other features to the player.

Armored Personnel Carrier


The armored personnel carrier (APC) is outfitted with a huge variety of weapons including mortars, grenades, machine guns, battering rams, and an animatronic rambo that shoots a variety of arrows. This vehicle travels in a 2D plane to simplify aiming in combat.


Healing
Each weapon is manned by a passenger on the tour. Passengers each have their own health meter, so if they die, the weapon they operate becomes unavailable. In earlier versions, healing items had to be used on one character at a time, but this made healing during a heated moment in combat too cumbersome.



Flashback system
One idea was to have “flashbacks”, where the tour bus magically transforms into the APC, and the player characters are transported to Vietnam in the late 1960’s. We never resolved whether this should happen at specific places in a level, or if the player should be able to trigger these flashbacks at-will, but I did prototype both possibilities. 


PT Boat


The PT boat is similar to the APC except that it always moves forward down river. The player is able to accelerate or slow down, but never stop or reverse. In addition to the vehicle controls, I did the texture mapping for the boat, particle systems, and animation.


Plane

The player begins their adventure by flying a small plane across the pacific. Along the way, the refuel over Hawaii and must avoid seabirds. I did a lot of the technical art for this scene, and designed and developed the plane’s flying mechanics, including a brief midair refueling mission.



We have experimented a lot with the lighting in this level.



Helicopter


We wanted to include helicopter combat missions which recreate famous scenes from Mash, Apocalypse Now, the Deer Hunter, and more. The helicopter can fly vertically for a limited distance, and automatically avoids crashing into the ground. It is armed with a machine gun like the APC, but has a missile launcher which fires rockets in a straight line (as opposed to the mortars which fire in arcs). We also prototyped other interactions like dropping “Psyops” propaganda leaflets and dropping a swinging rope for rescue missions.



This clip shows a prototype for a reenactment of the “ride of the valkyries” scene from Apocalypse Now. The player controls one helicopter, and the others fly in formation matching it’s altitude, while the camera cuts between different angles at random.

Idle Screens

Every scene includes a short idle screen (attract mode) to set the tone for the level. Almost all of these involve a ‘self-driving’ version of the vehicle, which drives forward for a limited time, and then rewinds back to the start.

Ebay Shopping

A jokey computer-within a computer interface controlled with the joystick or WASD keys. This clip demonstrates browsing by item type.
The interface also features the ability to buy and sell items on your own ebay store and read emails from other characters.

This is effectively also the “loadout” and “level select” menu - players purchase their next tour through this interface, and then print out a receipt including items that are required and recommended for each tour.

UI Mockups

We spent a long time iterating on the vehicle status overlay.
Our first pass at these features, Eddo asked for a very busy, text heavy design with white text with solid lines connecting information to its relative position on the vehicle. This worked for us for a while, but as the game got more complicated a more robust solution was needed.



We had gone through many iterations by actually implementing designs in Unity, which was very time intensive. I decided to spend some time mocking up ideas in illustrator instead. I thought I could reduce clutter and use familiar icons from the UI of real cars, combined with color coding to clearly indicate status. Eddo insisted on some kind of tail or line connecting the data to the vehicle. I wanted to try a dark transparent background, thinking it might reduce visual clutter but still help the icons read on various backgrounds. I like our environments a lot, and wanted to avoid overwhelming them with UI overlays.


Eddo insisted on something that more closely resembled other UI elements in the scene, which were typically small gray or yellow boxes. The design evolved from having weapons, characters, engine, and vehicle health all in separate boxes but grouped visually, to having the relevant weapons “nested” inside each character’s box. Finally we made the UI boxes a neutral gray to make them less glaring in dark environments. Each vehicle has a different UI layout with this same system.




Modular Building Generator



To help with environment design, I created a modular building generator, which assembles a variety of buildings out of prefab pieces.  There is a complex system that attaches various awnings and balconies to the sides of buildings. Balconies can spawn additional decorations like potted plants and clothes at predetermined positions.


Feature Prototypes and Demos


Because we worked remotely for so long, I began recording short demo videos to help document new features for the rest of our team. 


Rain System

This video explains the weather system, which controls rain and lightning. I used scriptable objects to make weather presets, which the system can smoothly interpolate between. Later, I added triggers that could be placed in a level to control when different weather occurs.



Word Bubbles

This video explains the word bubble feature for others to work with. This is the latest of many systems we’ve used to display dialogue in game. For practical reasons, we decided to reduce the amount of voiceover work in the game, and needed another solution for incedental dialogue.

Helicopter Rescue Prototype

This video shows a prototype of a helicopter rescue. We wanted to recreate the scene from “the deer hunter” where a character is rescued from the water via helicopter while vietcong are shooting from the riverbank. In this scene I did basically everything except the texture assets, including atmospheric effects, lighting, animation, controls for the helicopter, sound design, and the character animation for the character being rescued.

Human Minesweeper

This video shows a prototype of a tense minesweeping level. We wanted to be able to carefully control the character’s feet as they walk through the minefield.

I accomplished this effect by using a blend tree when the player was moving quickly to lerp between a run, a jog, and a walk (as normal). Then, to allow the character to stop dramatically mid-stride, when the character’s movement speed approaches zero the playback speed of the walk cycle becomes tied to the character’s overall movement speed.

When a mine detonates, the terrain deforms slightly to give the impression of a crater. I use a projector to add bloodsplatter and to darken the crater, and a particle system produces smoke for a while.




Animal Minesweepers

We also discussed having an elephant, a monkey, and a tiger be useable as a minesweeper. I rigged and animated these characters myself, and used the same technique as the human to allow them to stop mid-stride. Longer animals like the tiger and elephant rotate to match the slope they are standing on.

Whereas the human uses the word bubble system to indicate when they are in danger, it seemed silly to do the same for animals that can’t speak. Instead, I used a woodblock sound effect that increases tempo with proximity, borrowing the sound cue from kabuki theater.
.


< Features