Projects Page

James C. Jenista

james.jenista@gmail.com
cell: 818-437-9919

Resume

This portfolio is a sample of my game-related projects. I make some of my own games, create levels for commercial games, and do other projects like a crossword puzzle, a comic and a nifty tool for analyzing Starcraft 2 maps. For a writing sample, check out my essay explaining why I think board game design is a good influence on video game design.

I have a lot of energy and enthusiasm for games that combined with a technical background makes me well-suited to a creative engineering position. If you think I might be a good fit for your team and you want more information, my current resume and contact information is on the right.

Contents

Prototypes of board and card games I designed.

Tool: Starcraft 2 Map Analyzer

SC2 Map Analyzer is an open-source, external C++ tool I wrote to analyze Starcraft 2 map files. It tallies resources, has a base-identification algorithm, computes shortest paths between key locations, and does some high-level positional balance calculations based on the other analysis results. The tool is hosted on SC2Mapster.com which is a helpful, collaborative community for all things modding-SC2.

TeamLiquid is a hardcore Starcraft community site I enjoy, so I posted my analysis of the Starcraft 2 Beta ladder maps using the map analyzer there. Mappers in the community have been using the analyzer to debut new maps, so I'm happy to keep improving it!

Reverse Lost Temple Alzadar's Bane
Orbital Divide Veil
Planeswalker Fort
Uptown Lowtown Dystopia

Multiplayer Maps for Existing Games



Starcraft II Melee Map Concepts

In anticipation of the upcoming Starcraft II I've read most of the available game information and sketched out some map concepts. I plan on developing these ideas as soon as I can get my hands on the editor!



Warcraft III Melee Maps

The multiplayer side of Warcraft III broke new ground for RTSs. Neutral creeps are a resource for your offensive units to "gather." Armies teleport around the map, so attacking a base is usually a raze-one-building-and-split sort of effort. I like the feel of it, so here are some competitive multiplayer maps for the normal melee mode that I've tried to do something new with.

Shifting Gardens Experimenting with random neutral buildings. (2)ShiftingGardens[dimfish].w3x
Twin Kings Minimalist map, focus on interesting expansion locations. (2)TwinKings[dimfish].w3x
Mt. Kamao A sloped battlefield. (2)MtKamao[dimfish].w3x
Chasm A (failed) experiment with fuzzy symmetry. (2)Chasm[dimfish].w3x

See a comparison to Blizzard ladder maps.

Counter-Strike: Source Map:
"de_rio"

Counter-Strike's bomb defuse game type, always the type used for competitive play, requires an ingenious blend of skill and strategy for players to master. I designed a bomb defuse map called "de_rio."

Compared to the main competitive defuse maps, "de_rio" is medium-small and fairly open. I tried to bring something new to the defuse design space by giving the bomb sites new and interesting approaches, and doing something different with the middle of the map. Read an overview of the map's interesting features or download it. Place the unzipped files in your Steam/steamapps/*steam-user-name*/counter-strike source/cstrike/maps directory to check it out. Also note that this map does not have polished HDR lighting, so disable that option if you try the map.

Other Game-Related Projects


Crossword Puzzle in The New York Times

My crossword puzzle was published in The New York Times on January 3, 2004. It was a joint venture; I devised a mind-tickling rebus-like theme and my dad did the grid fill and wrote the clues. Will Shortz posted on the Times crossword forum that it was the most difficult puzzle he had ever published to that date. The puzzle is no longer mine to distribute, but I can certainly discuss it in person.


Halo 3 Comic - Almost Steppin'

A few months after the release of Halo 3 I realized I was close to collecting every achievement for it, and I spent an agonizing number of multiplayer matches trying to get "Steppin' Razor" which is a triple kill with the energy sword. Bungie apparently heard the community's frustration on this one, and over the special Halloween weekend playlists included a zombie mode where all zombies carried the energy sword. It still didn't happen for me.

Then one day I had a spectacular swords-only match where a number of interesting events occurred, like an unintentional 'nade jump, an unusually offensive use of the regenerator, and of course, several near-gets of Steppin' Razor. It was the early days of achievements for me and I got to thinking about why I like collecting them and when it stops being fun. So I used the Halo 3 film feature to grab shots from that memorable match and put a comic together about my thoughts on achievements.

The comic is entitled Almost Steppin' which you can read in full size (800x1200), half size (400x600), or download it as a PDF (5.3MB).

If you enjoy the comic, go to my Halo 3 file share at bungie.net to download the multiplayer game that is the source of the content. None of the action depicted in the comic was staged, and just about all the good stuff happens in the first three minutes.

Sample Code and Scripts

The following are samples of code and scripts I have written. I take pride in writing clear, clean code that I will be able to understand months or even years later.

MLPAnalysis.java

This Java class analyzes a program in the compiler's internal representation in preparation for method-level parallelization (MLP). It makes several passes over the code, where each pass is generally organized as a method that flows forward or backwards over the control flow, and a second method that takes action depending on the node type, such as an assignment statement.

puz.cpp

Someone asked me for help in designing a word puzzle: given an open-source word and phrase database for the English language, what 12-15 letter entries can have 5 letters from the middle removed and the leftover letters form another entry? First I sorted the entries in the database, then wrote this C/C++ program to find entries of the appropriate length and use a binary search to see if 5 letters taken out form another valid entry.

createHexGrid.scm

This script is a plug-in for the GIMP that creates a hex grid path which can then be stroked with whatever brush is needed. I was tired of repeating the process of calculating a regular hexagon in 2d coordinates, so the script has really saved me some time.

ToTheMatSim.java

I created a card game about championship boxing that includes nine different boxers, categorized by boxing style and each with a unique special action. I wrote this simulator to play many thousands of repetitions of the game in a round-robin fashion, using an AI that makes legal moves and only rudimentary strategy. The purpose of it is to expose any glaring imbalances in the fighter set.

Essay: "Board Game Design Informs Video Game Design"

After designing board games and video games for some time I've come to the conclusion that good board game design informs good video game design. The short explanation is that a board game experience has more deal-breaking design constraints. There can't be too many rules, or too many numbers for players to track or too many game pieces to update, nor can one sitting take too long. When a board game violates any of these maxims players quickly drop the game for good. There are many other facets to a good game's design that video games and board games share, but board game designers must take extra care to pare down to what is most necessary and effective because players, not a CPU, have to conduct the experience.

An analogy would be how good sketching informs good painting. Sketching in pencil has less degrees of freedom than painting, e.g. lack of color. However, an artist can refine shading techniques and experiment with monochromatic images while sketching and then apply those valuable lessons to the more vibrant realm of painting. Similarly, I offer three concrete examples of how principles drawn from the extra constraints of board game design can inform good video game design.

Rule Reminders

A common theme in board game design is to include a reference card for remembering rules, or to print action-reminder symbols on the board or playing cards. There is no computer to enforce board game rules; players may intentionally or accidentally make invalid moves if the rules are not clear to all players at all times. If players read the rules once and encounter effective reminders as they play then confusion and intentional or accidental invalid moves are minimized. It takes some clever thinking and many design iterations to craft a set of effective rule reminders, but it can make all the difference in getting a complete group of new players to understand and enjoy a board game together.

The idea of crafting rule reminders is clearly applicable to video game design. Video games are able to strictly enforce rules so that players cannot play invalidly, but that doesn't mean the experience will be fun--every video game player has experienced frustration when a game won't let them do something they perceive to be legal. Rather than learn this lesson the hard way, a video game design is better conceived by imagining, like a board game, that the player will likely try invalid actions constantly. How do you communicate the rules and remind the player of them during play? By considering this perspective during design a video game will evolve into a better experience.

Depth Without Complexity

The effort of designing a board game without simply heaping on complexity is often thankless. It is exactly like an audio engineer mixing sound for a movie; a well-mixed audio track sounds completely natural and goes unnoticed as the audience concentrates on absorbing the movie's content. But a bad sound mix is noticeably distracting. Likewise, a game with unnecessary complexity can confuse or tire players. A simple game draws players in easily, and if it also has depth they will stick with it.

The principle of depth without complexity applies to all games, and to video games in particular. Consider this: making a board game more and more complex puts immediate burdens on the players like having to remember 200 pages of rules. A board game designer usually gets instant feedback from players when added complexity is no longer improving the game experience.

With video games this feedback is harder to extract. The processor can do computations for the player, menus and information displays can be constructed to appear contextually; in short, unnecessary complexity in a video game can be mitigated with the power of interactivity, even though the fundamental design is not getting better.

A common example of unnecessary complexity in video games are the statistics of characters in a traditional role-playing game (RPG). RPGs typically feature eight or more characters that the player can assemble into an adventuring party, and each character is scored on various scales: intelligence, strength, magical power, etc. The unnecessary aspect of these designs is that the absolute stat values are unimportant. Does it matter that the level 4 knight has 31 strength and the level 4 mage has 12 strength? Not really, the numbers are arbitrary. What matters is that the knight always has more strength than the same level mage does, and if a weapon improved by strength is discovered by the player, it will be most effectively wielded by the knight.

So how could RPG stat design be improved? If an RPG were converted into a one-sitting board game, asking players to keep changing six or eight stats for each character at every level would be cumbersome. How about creating a reference card with a row for each stat, and a graphical icon of the characters appears in their relative ordering by that stat? So if we look at the row for strength we see a picture of the mage at the low end and a picture of the knight at the high end. There are no numbers and no calculations. We still retain this idea that there are several facets by which a character is measured, but we eliminate the unnecessary complexity of tracking details that are too fine to be of use. It is tempting to add all sorts of complex systems behind the scenes of a video game. But--a designer should ask herself if simply reducing the complexity will result in a more streamlined but equally deep experience.

Balance

Good balance in video games can be improved by balancing the "board game version" first.

Reflexes are usually irrelevant or much less emphasized in board games than in video games. Many board games, then, offer a slower, more deliberate thinking experience. With this difference in mind, let's suppose we take a fighting game like Street Fighter and make a board game out of it. Conceptually, it is like accelerating the players' reflexes to the absolute max, where they are able to block or dodge every straight-forward strike. In a board game like this, players must out-think opponents, instead of out-twitch and out-think.

To successfully balance this fighting board game each fighter must have a move set that allows for a variety of strategic options against every other fighter. If we analyze the move set and discover that Guile's moves allow an undefendable sequence when playing against E. Honda, then the move sets must be altered. This is an easier task with a board game than in a video game with reflexes in the mix.

Of course, video fighting games combine the strategy of out-thinking the opponent with reflex skills required to execute moves. I contend it is a mistake to start a design-implement-test cycle for a video fighting game without considering the "board game version" first, where every player has limitless reflex. If history teaches us anything, some players will overcome almost any reflex challenge to achieve undefendable move sequences or other game-breaking effects. Therefore, imagining the design of a video game as a board game first can provide a balanced foundation to build reflex-based elements upon. For example, video fighting games often feature stronger characters that require more difficult move execution--in this case we want to be certain that players who master such a character (i.e. become a player in the "board game version" with practically limitless reflex) cannot find literally unbeatable move sequences.

Conclusion

Video games, in comparison to board games, have an almost infinite design space. There are so many single- and multiplayer experiences that could never work as a board game. However, the principles that make a board game good can help zero-in on the best designs in the vast space of possible video games.