I'm Morgan McGuire (@CasualEffects). I've been working on computer graphics and games for 20 years at great places including NVIDIA, Williams College, Brown University, and Activision.

See my home page for a full index of my blog posts, books, research, and projects.

Saturday, April 6, 2013

Shooting Mechanics for Spy Game

I put in some more work on my spy-themed virtual board game tonight. I added sound using fMOD and implemented shooting mechanics:


This game uses mobile devices as controllers and shows the main board on a computer or TV. One of the challenges of designing this game is to keep player's attention on the shared board to create a communal experience. I redesigned shooting several times to accomplish this.  In the current version, shooting is initiated by tapping a gun card on a player's personal screen. A reticle then appears on the main screen and the personal screen turns into a giant "fire" button (which is large so the player no longer has to look down). The reticle cycles over objects on the board and jiggles about. The player can press fire at any point to shoot a target. The product of the time spent on an object and frequency with which that object is selected is proportional to the area of the represented object. In the example above, the piano and table draw the reticle more than the vase and necklace. The player's own avatar has a significantly reduced chance of being hit and the intended target has a significantly enhanced chance.

To give feedback, when shot the pieces representing objects and characters are flung into the air or pushed back based on their mass.

Shooting is thus a real-time, twitch based action and one that requires the player to focus on the shared board. It isn't too hard to hit your target, but the act of waiting for the reticle to cycle keeps the player on edge and captures a bit of the adrenaline of combat. The gameplay simulates the complexity of characters taking cover behind objects and chance of a missed shot. Guns feel dangerous and powerful in the game. I'm continuing to appreciate that abstracting simulation allows the players' imaginations to fill in the details, and imagination is the best rendering engine possible.

While there will definitely be shooting on every level, my intention is for it to be a last resort. Being a (cinema) spy is about stealth and subterfuge, not combat. I chose to implement shooting first because it was easy (this is why many games focus on combat--it is relatively easy to quantify and implement). However, I'm thinking about similar real-time minigames for medical treatment, brawling, planting and pickpocketing, and even conversations.

Morgan McGuire is a professor of Computer Science at Williams College and a professional game developer. He is the author of The Graphics Codex, an essential reference for computer graphics that runs on iPhone, iPad, and iPod Touch.