Chambara Developer Diary #1


Things have been going at a good pace for Chambara right now, I bought us a website recently, which you can find at Our second set of deliverables, marketing materials for programs for the ProtoPlay festival, is due early next week. We have a good prototype done and recently finished up our very first public play test, and are planning on doing a public, internet play test within the next few days. Very soon, you’ll be able to download and play the current version of Chambara on any Windows, Mac, or Linux computer, provided you have a supported USB controller and a friend to play with.

I want to do something like a standard games postmortem for this project, but write it during active development, rather than doing so after the project is done. I believe acknowledging our mistakes and successes will let us learn from our issues faster, allowing us to course-correct better during the process of development.


1. Thunderingly Rapid Prototyping

The first week of development was the most intensive. Having been accustomed to crunch time while juggling classes and development on The Pilgrim, we hit the ground running at a thundering, breakneck speed, arriving earlier and leaving later than most other teams at Dare to be Digital. We had a prototype up and running by the second day, which allowed us to see our ideas in action very quickly and better understand what does and does not work for this kind of game. We revamped movement and created our own custom character controller and a large number of test levels to learn how to design interesting, exciting action.

2. Experimentation

Much of the existing knowledge about level and game design is not applicable to the kind of game we’re making. We can’t guide our players with lighting, paths, and textures, and weapon balance is not a matter of balancing numbers on a spreadsheet. The Counter-Strike “Figure-8” loop is totally inapplicable for what we’re trying to create, rendering a lot of existing design writing and talks in a state of limited usefulness. This leaves us to discover what works and what doesn’t through our own experimentation. Exciting.

3. Fast Development & Testing

The best part about our workflow is that texturing and UV-mapping objects is totally unnecessary, making our asset pipeline extremely fast. By constructing our levels out of primitives, we are able to construct testable levels in hours rather than days. The benefits of this agile workflow are innumerable, and has allowed us to reach a polishing phase in a matter of weeks. The development plan that we established during the Spring has been totally burned through, leaving us tens of hours ahead of schedule. I expect that the game will be in a state where we will be comfortable showing it to the public by late next week, and I’ll move forward on creating a web presence for this game on indie games communities and submitting to festivals like Fantastic Arcade.



1. Unified Artistic/Ethical/Thematic Vision 

During preproduction, we didn’t see the value in establishing guidelines for the kind of game we were trying to make. We didn’t write any design documentation, we didn’t establish an Art Bible, nor a vision statement. As a result, we’ve spent the last several days in conflict about the thematic direction of the game. There are some who want Chambara to be an edgy-cool game inspired by the best elements of Batman Beyond and Samurai Jack (our original inspiration), while others want to create something cute, goofy, and playful, while others want to create something subversive of the oppressive heteronormativity inherent to the form.

These disagreements have slowed down production, and nailing down a character design was a process that took more than twice as long that I hoped it would. Retrospectively, establishing that vision prior to development and agreeing that the project is a shared effort between all of us would have saved us much time and frustration.

2. The Doldrums

I see the job of producer as an ultimately personal one, assuring that the participation of each team member fulfills their own personal needs and that they’re always working on something interesting to them. A disproportionate distribution of participation in a project is harmful, and being tasked with nothing to do while other team members are heavily involved isn’t fair.

Granted, this issue comes from the fact that some of our time was spent puttering around waiting for certain tasks like character design and controls to be finalized by another team member to be completed, removing blockades on progress. So I expect things with move much more smoothly later on, though I want this to be something that we are very cognizant of.

3. Unclear Milestones

Because we burned through our development plan, we find ourselves far ahead of schedule. Our core feature list is more or less complete and the prototype has been proven to be fun and accessible. So the path onwards is unclear. Features are envisioned and implemented on the spot as we wander around, trying to figure out what we can do to take this game further. We’ve been considering new maps and game modes, but we can only go so far before that extends the list of needed sound assets far beyond what can be created and implemented in time. I’ve worked with metrics and outreach to communities like reddit indiegaming, but I feel that such measures are unwelcome by my teammates. I am interested in working with cheat codes, game modifiers, or easter eggs, but will need finalized decisions about UI and design before I take that on.


tl;dr, Scotland is beautiful.
tl;dr, Scotland is beautiful.

Stealth Game Design

I’ve been playing a lot of stealth games over the last year, and will be working on two moving onto the next year. I’d like to take a moment to take a close look at them and identify some underlying threads and loops that make them fun.

At least for me, the core joy of the stealth game is the playful movement through a wide possibility space for emergent player expression. Mastery of stealth game systems bestows new, creative ways for players to solve levels. At the heart of the stealth game is a simple game loop between two cognitive states. These states are:

o   Sneaking: Player is undetected and is traversing to the level’s goal, while avoiding enemy detection.

o   Fleeing: Player is detected by the enemy and must survive until she triggers an event that returns the game to the Sneaking state.

Core Game Loop
Core Game Loop

Players have access to the same verbs in both of these states, but are asked to use these verbs in different ways depending on their current state. This core, Sneaking-Fleeing loop is supported by a number of subsystems and properties that allow for that high degree of emergence. These subsystems and properties are:

  • The Multiplicity of Grunts
  • Overpowered Player Character
  • Level Design that privileges traversal.


Every combat-oriented game has enemies that inhibit player progression and must be dealt with violently or otherwise. Stealth games are distinct from other action games in that their enemies pose a very different type of challenge than their counterparts. Typically, individual enemies in action games pose little threat, and encounters are designed to use a combination of enemy types to encourage a certain style of combat. Enemies in stealth games fulfill a very different purpose, and operate alongside the levels that they populate to create puzzlelike traversal challenges.

Whereas typical enemies use an “aggro-circle” system, guards have lines of sight, any area falling within a guard’s line of sight is threatened, and if the player enters this line of sight, they enter the “fleeing” state. This line of sight isn’t hardcoded, and cover created by objects in the environment alters this line of sight, allowing for safe-spaces to exist inside the line. Alternatively, players can use camouflage to blend in with their environment, making each guard’s vision-line much smaller.

Mike Bithell’s Volume

Guards typically have three AI-states, which operate alongside the larger gamestate, but on an individual level for each instance of the guard based on player-action. These states are:

  • Idle: Unaware, patrolling predetermined paths. (Sneaking state only)
  • Searching: Enemy unaware of player, investigating source of sound or distraction, altering line of sight to affect a certain area. (Sneaking & Fleeing States)
  • Alert: Enemy actively hunting down player. (Fleeing state only) 

Forcing an enemy from the idle state to the searching state is one of the most important skills that players can master. By throwing a noisemaker at a certain area, players can mislead a guard towards a different part of the level, altering their line of sight and permitting the player to pass through an area undetected. Enemy AI must be predictable enough for players to exploit and manipulate these properties.

Players may choose to fight these enemies while in the Sneaking state, using items like silent guns, grenades, and tripwires to advantageously defeat enemies from afar, or sneak up close to preform a stealth takedown. Eliminating guards, lethally or nonlethally, reduces the total number of lines-of-sight patrolling an area, making it overall safer to traverse a level. Violent confrontation of these guards is typically a less-optimal strategy, and pacifistic play is usually indicative of very skilled play.


Combat mechanics may also be employed during the Fleeing phase, where guards call in reinforcements to deal with the player. Loud, lethal options like assault rifles are available to players to deal with pursuing guards as an interstitial step to seeking a way to return to the Sneaking state. Some games like Batman may allow the player to violently defeat all enemies in a level this way, allowing players to choose to forgo stealth altogether.


While the core narrative of the stealth game is one of triumph in the face of disempowerment, very much one depicting an “underdog”, players still are afforded a number of advantages that allow them to overcome enemies outside of pure combat. I’ve identified four present in the games that I’ve studied.

  • Mobility
  • Hiding
  • Intelligence
  • Gadgets

In games like Batman and Dishonored, players are given abilities that afford greater mobility, permitting access to parts of the level that guards cannot reach. Blinking onto the rafters or grappling up onto a gargoyle grants players a vertical advantage core to many of the more advanced strategies to their respective games. These advantages of mobility encourage players to make quick escapes and frantic, hit-and-run attacks. You may also notice that AI guards can very rarely crawl, and any time you’ve hid under a table or inside a vent, you’ve been exploiting an advantage of mobility.

Metal Gear Solid 3

Oftentimes, the player’s avatar has the ability to enter a number of different states that may allow him to be less detectable by guards. This can be as simple as the crouch ability from The Last of Us, to Metal Gear Solid 3’s colorful ecosystem of environments and camouflage fatigues. These changes to the player’s avatar reduce or alter the size and shape of the guard’s cones of vision, allowing for easier traversal through the environment.

Perhaps the most important advantage that the player can be conferred with is the advantage of intelligence. Simply put, the advantage of intelligence confers the player with a degree of knowledge over the current gamestate, revealing enemy positions, equipment, health, and paths. This allows players to strategically plan their movement around the environment, seeking out the path of least resistance. This advantage may manifest in systems like Farcry’s binoculars, Batman’s Detective Vision, or Metal Gear Solid’s SOLITION radar.

I put “gadgets” here with some hesitation because oftentimes, gadgets serve to facilitate the previous three types of advantages. Items like Splinter Cell’s snakecam afford intelligence, and Snake’s cardboard box confers a hiding advantage. Nonetheless, items and tools are a central aspect of these kinds of games, and searching for emergent uses from their combination is a central part of that joy of expression inherent to the genre.


I believe that by now we have established that the core goal of the stealth game is traversal rather than combat. Tactical movement through space ties the different approaches to stealth that these games may deploy, and completing a level feels more like solving a spatial puzzle than surviving a series of encounters.

To that extent, levels must be designed around the movement of guards and players through space. They must permit the guards enough space to threaten a significant portion of the level, as well as enforce deliberate and strategic movement through space on terms of the player. I am not a good enough level designer to identify the underlying threads that make good stealth environments, but I can identify a few common characteristics.

The Last of Us
The Last of Us

Stealth game levels have a multiplicity of paths, allowing for players to feel a degree of authorship over their particular methods of solving levels. Metal Gear Solid 5’s Camp Omega is one of the best environments I’ve ever played in for this kind of design, and its opening minutes feature no more than four means of entering the base.

Cover, as I have stated before, cuts off enemy line-of-sight, creating safe spaces for players to stay in. The interspersal of cover, and its limited usefulness as guards move around it, creates an important rhythm as players dart in and out of it as they move to eliminate enemies and reach their goal. One game that I believe achieves in this regard is The Last of Us, which very deliberately distributes its cover to convey a sense of vulnerability for the player character, even after mastering AI manipulation and movement patterns.

Finally, stealth game levels tend to feature areas that only the player can access. Crawlspaces, drainage ducts, rafters, and ventilation shafts confer tactical advantages that guards lack. Dishonored did this well by prohibiting vertical movement for its AI guards, allowing for any raised, vertical area to be a potential safe-space as players blinked towards their goals, which were typically positioned to demand horizontal traversal.


So that takes us back to our core loop of sneaking and fleeing, the movement between these two states is core to good stealth games. Weak stealth games tend to have poorly designed fleeing segments, leaving players without any options to compensate for their failures and effectively bring the gamestate back into the sneaking state, so designers of stealth games should strongly consider the affordances players are granted to solve problems in the fleeing stage. Instantly failing the player for being detected isn’t good design. There must be a way to absolve failure and move between the two states in the loop.

Mark of the Ninja
Mark of the Ninja

I write this moving out of a year of closely studying stealth games. I’m a huge Metal Gear fan and played a lot of hide and seek in my youth, so unqualified as I may be, I think I can make some general statements on what makes good stealth games. More importantly, I’m believe this knowledge would be fundamental to me as I move onto my next two projects, which are both stealth games.

Why Everyone Should Participate in the Global Game Jam

The sixth 48-hour Global Game Jam starts January 24th, and I can’t be more excited for it. I treasure the memories of the panic and the productivity, the initial minutes of confusion as we stumbled around trying to come up with an idea around the theme, and the exciting escalation as the mist cleared and our game idea came into being. The empowering feeling of making something with nary a clue what I was doing, and the electrifying flow of caffeine through my veins.

A picture of my team from my first Global Game Jam.
My team from my first Global Game Jam.

I remember jamming with Xander and Bard, the looks of the other developers at Citizen Space as they peered over at us every time a zombie screeched and the day we exhibited our game at Mr. Grant’s AP Comp Sci class. I remember that weekend with Catherine and Esteban, as we munched on thin-crust pizza and wrote Processing code, surrounded by LA’s most renowned indies. And those magic hours in the early morning, as we giggled like sleep-deprived schoolchildren at silly Italian Spiderman puns and our game evolved from The World’s Heartbeat to Unhearted, culminating in a delightful surprise we left just for our judges.

So, yes, I’m getting a bit sentimental over my Global Game Jam memories, but I’ve good reason to do so: the Global Game Jam is a magical weekend filled with delightful stress and love. For an aspiring game developer, there’s no better place to gain loads of experience and have a great time doing so. Here are nine reasons why it is the best non-professional gaming event of the year.

1. It is fun.

Play is an act of volition undertaken for its inherent value to the individual, whereas work is a compulsory act undertaken for an external motive. Creation can be either, but both academia and the industry tend to privilege the latter due to professional obligations. Game jams exist purely to serve the former: game jamming is playful. 

An image of Ouroboros was the theme for 2012’s Global Game Jam

The joy of making stuff is diminished when it is done out of a compulsive need to answer to an authority or meet demands. Participation in the Global Game Jam is voluntary, and you are free to make whatever you want without having to answer to requirements handed down from some disconnected arbitrator. At the Global Game Jam, you are free to create games simply because you want to, playing with tools and methodologies, rather than working with them. Given how structured and hierarchical media-making usually is, there’s not quite a better place for playful, subversive game-making.

2. A safe space to make crappy/weird games. 

It is said that academia and indie development is a safe-haven for goofy and experimental games. This is not entirely true. Expectations of quality and polish inherent to classroom settings privilege projects that aspire to fulfill existing notions of “good” game design, leaving “intentionally bad” games without a place in traditional game design classes. Indie developers outside of the fringe still call their line of work a “job”, and thus must fulfill consumer expectations of polish and playability in order to be commercially viable for distribution on networks like Steam. Given the expectations of those settings, there is little room there for “crappy” games. What space then is there for the interactive joke? The Twine-based acid trip? The plastic-guitar controlled shmup?

Surgeon Simulator 2013
Surgeon Simulator 2013

The Global Game Jam is the exact place for such goofy, playful experimentation, there is no more welcoming space for people to make weird things. Where else would you get delightfully-meta project simulators, introspective games about relationships, or interactive jokes about butterfingered surgeons? Surgeon Simulator 2013 took off incredibly last year, selling thousands of copies and getting more positive media attention than games like Crysis 3 and God of War: Ascensionand it would have never been crafted without the silly and playful atmosphere of a game jam.

3. Make new friends and bond with existing ones. 


Collaboration is a special kind of relationship. It requires one to assert exactly enough of their ego to invest themselves in a project and realize a strong vision, but it also demands that one reel back and allow others to express themselves through your idea by modify, tweaking, and editing it. A collaborative relationship is not an unilateral one, with one individual dictatorially demanding his collaborators to surrender their dreams and individuality to realize his vision, but rather a multilateral dance between equally expressive minds. Each participant in this dance swerves back and forth, gently pushing their ideas forth while gracefully gliding back to let others do the same.

Collaboration at its best is fuel for true friendships. I loved my board games class last semester not just because of the excellent lecturer, but also because of the project-based structure of the class. A new game was due practically every week, and groups were assigned randomly. The high-pressure environment of the class and the free flowing, improvisational nature of the projects fostered a collaborative relationship with my classmates, and I probably made more friends in that class than I have in any other non-games class.

The Global Game Jam promotes precisely this kind of mutuality. If the sappy reminiscing above tells you anything, its that those 48 hours made me close friends with the people I chose to jam with. Collaboration is not always so perfect, some may overzealously assert their vision while others might panic under the pressure, but the shared experience of watching something awesome unfold out of your combined doing is deep and moving.

4. No prerequisite knowledge.

There’s this unfortunate stigma surrounding game development that intimidates a lot of newcomers away from it. A narrative exists that game-making rewards only the best autodidacts, that the only way one can get experience in making games is by making games, leaving many people lost and confused as to where to start. Some may join indie or student projects, but given that hierarchical structures and standards of quality still exist with those groups, its easy for newbies to feel lost and confused when trying to participate in those teams. That’s assuming that those groups welcome newbies at all, the student projects I’ve seen at USC have become increasingly competitive and exclusive, demanding too much from confused beginners simply looking for stable ground to grow from.

Unhearted was coded with only loose understanding of Processing.
Unhearted was coded with only loose understanding of Processing.

At the Global Game Jamthe only barriers to entry are mental. If you know Photoshop, then you’re the artist. Know how to use Audacity? Sound designer. Basic familiarity with C#? Programmer. Its easy to feel intimidated in the face of such responsibility, but the feeling of agency over how you want to do things is empowering, and that courage and confidence will carry you far further than any mentor can.

5. Learn new skills. 

This is a big one. The Global Game Jam is not a competition, but rather a social gathering where people come together to make games, everyone wants each other to succeed. There will be numerous experienced developers there, and the communal nature of the event encourages people to share ideas and teach tools and skill to each other. The diversity of the people who come out to these events guarantees that you’ll be able to find at least someone to teach you the secrets of any given tool, be it Photoshop, Game Maker, Unity, or XNA. Collaborate with at least one very experienced jammer, and you’ll come out a far better game developer than you were before participating. For an aspiring game designer, there’s no better place to make your first game.

The 48 hour time limit helps too. In any other setting, it is easy to slack off after watching tutorials and not put anything you learned to practice, making autodidacticsm basically useless. The expectation for one to complete a game by the end of the weekend forces new jammers to put what they learned into practice immediately, and thus, inexperienced jammers learn important skills here faster than anywhere else.

6. Perform under pressure. 

Orson Welles said that “the enemy of art is the absence of limitations”, and in my experience, this is true. Limitations and conditions force me to think creatively to overcome challenges. Reality Ends Here‘s card-based prompt system and refusal to provide equipment exists to create these interesting limitations, and has caused its players to generate a wealth of fantastic work.

Paper prototyping
Paper prototyping Unhearted

When that digital gun goes off at 5 PM that evening, the first thing you’d probably feel is panic. Don’t. The 48 hour time limit serves to promote creativity, and a well-scoped, well-thought idea, executed well will come to fruition by the end of the time limit. Learning to work well under pressure will make you a better creator. You’ll face similar pressure everywhere in life, a game jam shouldn’t be anything different.

7. Overcome your fears. 

Starting off a new game project is an intimidating process, one look at that blank programming slate and imagining how it will evolve into a full-fledged game is scary, and collaborating with others brings its own set of challenges. Am I good enough to participate in this jam? Will I drag my team back with my relative inexperience? Will my team think I’m incompetent? Am I even capable of making games? Maybe I should come back next year when I’m more ready. These mental barriers are enough to dissuade a beginner from making games, and the repetition of these excuses is enough to kill a great career at its birth. 

Citizen Space, the venue for my first Global Game Jam
Citizen Space, the venue for my first Global Game Jam

There is only one kind of fear: the fear of the unknown, pretty much anything else is imaginary. It might take a lot to step up and take the plunge, but the relief of seeing those fears dispelled is incredibly empowering. If anything, you’ll prove to yourself that you are fully capable of making games. Internalizing that notion can change the direction of your career entirely, and that courage and initiative will take you far.

8. Being part of something great.

The Global Game Jam is the largest single game creation event on Earth, generating over three-thousand games over the course of two days. It set Guinness World Records for largest game jam for the last two years, and looks to do so again this year. Simply by registering for the jam and coming out to the jam site, eager and intent to make a game, you’ll be counted amongst those 13,000 developers who have come together to participate in this incredible event. How many other opportunities to set world records does life throw at you? Passing up participation in the Global Game Jam will just be a missed opportunity.

9. Make a game. 

By the end of the Global Game Jam, you will have made a game. You would have accomplished what most of society can’t. There are so many people out there who wish they could make games, but don’t. Just by participating in the Global Game Jam for its entire duration, you would have done what many people only wish they could. The fear of failure is too paralyzing for most people to endure, and by participating in the Global Game Jam, you would have transcended that fear. The vast infiniteness of the unknown demands pioneers unfazed by questions of success or failure, and by taking those brave steps into it, you would have done for the world a great service. Now that you have completed one small game, what’s going to stop you from doing so again, and again, and again?

Four Analog Game Sprints

All of these games were designed by either myself or a small team of co-designers over a series of three-week sprints. Click to download printable game files.


Codesigned with Max Cohen, Aamod Walavalkar, and Sarah Jennisca. 


A four-player, asymmetrical stealth/strategy game. Three players cooperate to gather needed equipment to make a daring escape from the prison while The Warden commands around Guards to thwart their escape. Not  a bad start to the semester.


Designed as a solo-project. 

Screenshot 2013-12-16 14.44.14

A card-based system for procedurally generating various nondigital games. A metaphor for the progression of life akin to Jason Roherer’s Passage or thatgamecompany’s Journey. A tad overambitious for a very short sprint, but one of the more interesting projects I’ve done.


Codesigned with McKenzie Carlile, Alan Hung, and Kristen Louie. 


A minimalistic, nonviolent strategy game revolving around tactical moving and blocking. Sugarcube underwent radical revisions during its lifetime, evolving from a theater/improv game called Assassin’s Feed into its current iteration as a simple but deep movement game.


Codesigned with Jake Balentine, Alan Hung, and Aditya Valvi. 


An asymmetrical survival-horror game for eight players. Six players play as human scientists, who must gather materials to escape the facility. One player plays the Android, who disguises himself as a human and subverts the human escape plan. The last player is the Creature, and must stalk and kill all the humans. Features suspenseful gameplay and legitimately scary mechanics.