Hotel vs Gozilla
Hotel vs Gozilla is an animated adaptation of the ancient Chinese game of Go.
I teach casual videogamers the rules and tactics of my favorite boardgame.
This my personal experiment with several new game mechanics and UI:
Bonuses for combo moves.
Animations of risk and reward.
Animated groups and fights.
Single-player levels 1 to 30.
Multiplayer from 5x5 to 9x9.
You are free to copy and modify my Python server and ActionScript client code.
You may not be free to copy files that are authored by others
(the included decorator.py, GnuGo, pindent.py, PyAMF, sgflib.py, typelib.py, t.as)
unless their licenses say you can.
Download (4 MB).
C++ programming, project management
Four other students and myself programmed a procedurally-generated shooter that was inspired by Gyruss (1984). The art director programmed a tool to procedurally generate all the models and animation. We adhered to MVC (model-view-controller) framework. I programmed the abstract model, event scheduler, ship maneuvers, collision detection, and frame rate optimization. I pitched the concept and managed the team. Download the Windows game. Here is the event scheduler that I authored in C++ (header and source). 2007 Advanced Game at USC, taught by Victor Lacour (4 credits, one semester) and supplemented by students in a modeling and animation class.
Python programming, serious game
Runesinger (한글 히로)
As my MFA thesis at USC, I programmed and animated a proof of concept to practice speaking and spelling Korean. I programmed most of the game, a Python-OGRE toolkit, helper functions for animating bones, loading a dotscene, Newton physics, automated testing, and OpenAL sound playback. Advisors: Chris Swain, Paul DeMeo, Scott Lee. In SketchUp, I made the models, animated them in Maya, and exported them to OGRE dotscene. Runesinger was an advanced game at USC, and was presented at some educational game conferences (ISAGA, INTETAIN, GIC, TCETC). Runesinger received student honorable mention at IGF, and the post-mortem appears at GameCareerGuide.com. Download the toolkit software. Read more.
As a semester class at USC, two other students and I made this Flash game about saving chickens from a factory farm. In ActionScript 2, I programmed most of the artificial intelligence, loading a level from Flash CS3. I also drew the graphics and edited many of the levels. Two other students and I made the paper prototype. Intermediate game development taught by Tracy Fullerton and Peter Brinson. Exhibited at Games for Change. Play the Flash game.
Python scripting, mod, system design, serious game
Civilization IV: Quality of Life
Mod of the scoring system to reward making citizens happy and healthy. Employing test-driven development, I validated the formulae and functions by unit tests in the form of Python doctest examples. Employing literate programming, some the examples are embedded in the design document. My functions were informed by the metrics of medical ethics and population ethics. Download the Python source code or the system design chapter (PDF.). Read more. Directed research at USC advised by Peter Brinson (2 credits, one semester). Exhibited at Games for Change, Mediateca Arcadia, Logic and the Simulation of Interaction and Reasoning 2, 2009.
Social game, system design, scripting, MMORPG
Dark Ages: Online Roleplaying (어둠의 전술-미국)
In 1999, for the MMORPG Dark Ages (using Nexon's unstructured scripting language), I designed and scripted some of the players' favorite social systems:
Players join and manage each of eight temples. Priests host mass (a multiplayer ceremony and a pacifist method to level up). Through worship and quests, a player gains an unknown number of faith points, to pray for a miracle, consecrate an item, or gain prestige. Religions cooperate and compete in a faction system that is diagrammed in the Dark Ages logo: an eight-pointed star.
Elected players staff two villages, in offices of mayor, judge, lawmaker, and guard. Players write, publish, amend, and enforce their own laws. Players manage a town hall and court of law. Players promote and demote each other by an economy of secret clout points. Each citizen can secretly give clout points to candidates. Officials can trade or destroy each other's cloud points, in a player-versus-player system of voting, alliance, and intrigue.
Each day that a player logs on, he gets labor points: to craft, quest, or trade with other players. This labor market stimulates cooperation, and balances the supply of quest items.
I scripted the above systems, events, contests, and rare quests on top of a simple system of achievements. I suggested a data format, scripting hooks, and the wireframe of the character's public profile. Programmers implemented and other designers have since then improved the system. In 1999, I had not heard the term "achievements," so in Dark Ages, I called these achievements "Legends."
System design, author, illustrator
Graph Theory for Designers (Charles River Media)
The first article, "Games within Games," introduces graph theory and demonstrates how mechanics in any game can be modeled by a mathematical graph (A mathematical graph is basically a well-defined network). Then graphs are modeled for common activities in massively multiplayer games: hunting, gathering, missions, and spatial navigation. Several case studies are analyzed, in which graph theory is used to expose exploits and suggest improvements in Anarchy Online, Ultima Online, City of Heroes, and others.
The second article, "Worlds within Worlds," extends graph theory to model the economy and community in a massively multiplayer game. The economy is modeled by graphs of transactions, and the community is modeled by graphs of chatting, team participation, friendship, guild membership, and faction relationships. Examples of economic and community design are given from several online games, such as Dark Ages, Final Fantasy XI, EverQuest, and World of Warcraft.
System design, author
Better Game Design through Data Mining (Gamasutra.com)
Players spend millions of man-hours selecting optimum strategies in a massive multiplayer (MMO) game. They are getting the best return on investment (ROI) on your MMO game. Are you? Learn from analysis of logs and other traces of player behavior in the US version of Nexon's first to MMORPGs, The Kingdom of the Winds and Dark Ages. Read more at Gamasutra.com
For this multiplayer game on PS3, I collaborated on the design of infantry AI and ambient warfare. Part of a contracted team of scripters, we used Incognito's function-oriented scripting language to monitor triggers, coordinate events, firefights, and camera movement. See vidoes of this online tactical game at IGN or Gamespot. Thanks to the hard work of over sixty employees, Warhawk receives favorable reviews (84 on metacritic).
Here are my favorite massively multiplayer role-playing game (MMORPG) events and missions that I scripted, and mapped in the 2D level editor.
The Pentagram, Halloween, 2000
Five-player team quest themed for Halloween. Each player (one warrior, one priest, one rogue, one wizard, and one monk) gathers clues to find their teammates' landmarks in this underground scavenger hunt with a time limit. The teammates guide each other to their landmarks, and reassemble for a boss fight at a pentagram.
The Letter, Fall, 1999. Re-released Fall, 2000.
This is a guy and girl date quest. The two players receive clues to missing letters written by a lost lover. They have a limited amount of time to find the next letter. For replayability and to encourage the guy and girl to whisper their clues to each other, there are 256 permutations of this scavenger hunt (4 stages with 4 variants each), along with differing reward items.
Nexus: The Kingdom of the Winds (바람의 나라 - 미국)
In 1998, using Nexon's unstructured scripting language, I programmed hosting of their first team versus team arena. I also scripted some of the bosses, levels, and quests.
Here is a bit of how I adapt screenwriting to designing videogames. I am not a published screenwriter; instead, I use screenwriting to describe a videogame.
Storyboard illustration, videogame screenplay
Tree of Life
Appears in the textbook chapter I authored: "Game Script and Storyboard Creation" (ITT Tech 2003). Accompanied by screenplay sample. Read more.
I also authored and made some illustrations for the instructor's manual of a class called "Game Interface Design." Read more.
Fan fiction, screenplay
Head of State (Heroes fan fiction)
As a teenager, I enjoyed the "What if" Marvel extrapolations to alternate futures of superheroes. So, my favorite episode of Heroes is season 1, episode 20, called "5 years gone." In it, someone special (wink wink) has become president. A lot happened in those five years into the future. In a screenwriting class, called Writing the One Hour drama (taught by Lance Gentile), a room of talented writers helped me tell a tale of what happened during those five years. Here is a fan fiction teleplay from the first season of Heroes, called: "Head of State"
My first machinima (and second short movie), from concept to final version in 3 weeks. Inspired by a psychological article about a schizophrenic believing to be controlled by another being, I wrote and directed this short horror movie in The Sims 2. I directed voice actors, and spliced it together in FinalCut Pro, with touch-up animation in After Effects. Voices by Robert Babish and Christina Byron. Music from Graeme Revell (Red Planet). Made in the USC class, introduction to film production.
Here is an amateur drawing, painting, photograph, and 3D model.
For Whom the Sirens Scream
Several shades of graphite pencil, drawn freehand from from montage of two photographs, using grid imaging. The image is based on the true story of a very eloquent yet unbalanced friend who should have been born during the Revolutionary period of the United States.
Palace of Fine Arts
Ink wash over light pencil sketch. I visited the rotunda at the Palace of Fine Arts in San Francisco at day and at night to create the upper and bottom halves of this illusion.
Before digital cameras, at a subway stop in Seoul, I took a (chemical) photograph on an inexpensive SLR camera. In the darkroom, I solarized the top half of the lights, to turn the undeveloped white highlights purple. This photograph won first place for Creative Effects at a Korean American friendship competition in photography, 1996.
In LightWave, I modeled and textured this dagger. On the handle, I twisted and cloned a tube. On the petals, I warped and cloned a sphere. The inscription is greek (kallisti: to the fairest), inspired by account of the goddess in The Illuminatus Trilogy who throws a golden apple in the hall of the gods to stir up the Trojan War.