Block Tanks: Procedural Dynamism in Unity

[Originally published on Gamasutra].

As I’m finishing up SPACE COLORS, I decided to take a break for a bit and start on another new project. The project itself is, basically, a voxel-based turn-based tank combat game (far more light-hearted/streamlined/simplistic than the glut of tank battle games on mobile right now).

Pretty immediately, I decided on the art style that I wanted for the game: bright, dynamic, colorful toybox destruction that can work on mobile devices. Like a lot of my side-projects, I wanted the game to be something that I could develop, design, and do (most of) the art for entirely myself. When I start these projects, I tend to have a pretty absolute focus on them and I find I’m the most productive on them when I don’t have any other dependencies to worry on other than my own task list. And, given that these side-projects are just worked on entirely in my spare time, I like to be able to make demonstrable progress on some feature every night whether I’m able to spend an hour or five. And, like all of my projects, I’m still using Unity because, at this point, it’s just a completely natural environment for me to work within. And it affords me a lot of opportunities to get “temp” features/art/objects into a game before I can get around to a proper implementation.

So far, the brunt of the work has gone into just writing what I’m calling the “build engine” — which is all of the procedural backend for generating all of the meshes in the game. Which ended up being… slightly more complicated than I originally expected. It’s also been a whole lot of fun. For anyone interested and since I feel like going through the technical details of the thing, the kind of stuff that this backend has to deal with [...]

Read the rest over at Gamasutra — Block Tanks: Procedural Dynamism in Unity.

The Journey from A to B

[Originally published on Gamasutra.]

I got my start in the game industry writing books about graphics programming before I went to college. Then I went to the University of Michigan, realized I either wasn’t a fan of Computer Science or Computer Science curriculum or Computer Science students, and switched to English with the goal of becoming a High School English teacher. Then, after college, I got a job as a game/engine programmer for Stardock Entertainment working on games like Galactic Civilizations 2, The Political Machine 2008, Sins of a Solar Empire, Demigod, and part of Elemental: War of Magic.

It was after about a year and a half of doing this that I realized I wasn’t really loving being a game/engine programmer.

I thought about leaving the industry entirely and going back to try and finish my teaching certification but, first, I thought I’d try and get a job as a game designer to see if that changed my perspective on game development. It took about four-five months to find a job and I interviewed everywhere for anything that would get me in as a designer. I was willing to work on any platform on any game on any IP, it didn’t matter. One interview I took was for a contract position on a Spongebob Squarepants game. What I knew then about Spongebob Squarepants is roughly what I know now: it’s about a square sponge that wears pants. Point is: I took every interview I could get. Some were really exciting, others were “well… if I have to take this job I guess I could get into it.”

Then one day, I got a random e-mail from a company called LightBox Interactive that I sent my resume to months earlier. They were looking for a designer and wanted to schedule a phone interview. This was a studio that worked on games I played: Twisted Metal and Warhawk. It was super exciting. The phone interview went well, I spent most of the time talking about my then-current project Magnetic Butterfly and my thoughts on Far Cry 2. I was flown out to Salt Lake City, Utah — my first time ever seeing mountains — for an in-person interview in a really, really warm office building and ushered into a meeting room. I met the person I talked to on the phone, Josh Sutphin, the lead designer (WHOA AN ACTUAL DESIGNER, I had never even seen one of those before in person). We talked a bit, and then the gauntlet of people came in: the art team and then a break for lunch… With the studio owners. Over lunch, I was asked “Where do you want to be in five years?” I said “Creative Director.” “Why?” “Honestly, I don’t know, but I look at all of my design heroes like Clint Hocking and they have such a strong presence over their games and an unbelievable grasp on game design theory and I want to be that.” After lunch came the programmers, and it closed with the studio president and the lead designer. And that was that. I took a cab to the airport. Ran into the first bathroom I could find and threw up the lunch that had been making me increasingly ill during the second half of the interviews, and flew back to Michigan.

And then there was the waiting. And the waiting. And the waiting. And, as anyone who knows me can tell you, patience is a virtue that I’ve never had the pleasure of meeting.

Then, Memorial Day 2009, I got an e-mail while I was playing Forza Motorsport 2 saying I got the job and they wanted me to start as soon as possible — which meant temporarily relocating to Salt Lake City for a few months while the studio space LightBox Interactive was building out in downtown Austin was being renovated and setup. I lived in an Extended Stay Hotel with my cat for three months on a wi-fi service that was less efficient than the dial-up modem I had grown up with and whose service would be abruptly severed if the hotel felt you were using too much bandwidth. This usually came with a penalty of x days without service. So, for someone who had never lived outside Michigan, this was all a bit of a culture shock.

I was the first hire for the LightBox Interactive design team, so Josh and I worked closely on the prototype of what would become Starhawk. I got to do things I’ve never been paid to do before: make levels, script missions, write design documents, write fiction, write prototype game modes, work with artists on getting assets with good gameplay spaces and programmers on identifying engine features we would need. And I was working with people of a caliber of talent and intelligence that I could not even fathom. To say that I felt out of my element would not only be a bit cliche, but also a horrific understatement. My first employee review said I was doing a good job, but my 3D math skills left a lot to be desired. So, I read a lot of books. A lot of books. (Note: it never ended up really taking until I had to put it into practice).

All that said, I was sure that I was going to be let go when my 90-day evaluation was up. I felt like I had no idea what I was doing and that I was just winging everything. I worked like crazy to try and get to at least a conversational level with the programmers I worked with every day. Luckily, the team (then 13 people) was amazing. The Technical Director, especially, always took what I can only assume was a painstaking effort to make sure that I understood what he was talking about, even if it took a few tries. Josh and I talked constantly about games, design, the industry, Starhawk, growing up, school (I went to college, he didn’t, which made me feel even more over my head given how far I felt I was behind). The 90 days passed by and I never had my 90-day review. To my knowledge, I never had my 90 day review.

So, naturally, I assumed any day would be the day I was let go for not being up to snuff. But I kept working. Probably working harder and longer than I ever needed to, but I enjoyed what I was doing and I felt like I was constantly fighting to keep that position.

Eventually, I somehow got put, well, not in charge, but as the point person for our Greenlight Demo. This was the make-or-break moment for the game. And I was at least partially responsible for it going well. I went from iteration to iteration, redesign to redesign, major features of the game were coming online all around me, new features were coming in as we realized we needed them, polished art assets were delivered, and suddenly, one day, you’re looking at and playing the Greenlight Demo. There’s no magic involved, just the asymptotic progress of multiple disciplines finally meeting at a single point and you realize: holy shit, look at what we’ve accomplished.

And when the dust settles and everything goes well, you realize that now the process starts all over again as we move toward the vertical slice in conjunction with the entire production of the game. Suddenly, we’re not focused on a demo experience, we’re focused on a product. We’re not tuning and iterating on a single mission, we’re structuring and laying out the entire single-player and multiplayer progression. Artists started analyzing their pipeline up to that point and how to optimize for production, developers lay out a feature map alongside the designers fleshing out the full feature set of the game: every mission, every special event, every feature, every weapon, every achievement, every thing. Just everything. All at once.

It’s okay, though, because at that point I wasn’t working as a single designer, I was working as a part of the design team. And as part of the design team, I realized I needed to start doing the things I was good at, even if it wasn’t exactly what I wanted to be doing: scripting, tools, background systems, and other features that were necessary for the rest of the designers to do what they were best-suited for. Over the course of the project I worked as level designer, mission designer, tool scripter, system designer, cutscene designer, primarily pun delivery service, and probably other roles that I don’t even know. I ended up working on prototypes for several major features of the game, about two-thirds of the missions in the single-player campaign, and, hell, who really even remembers what else.

What I learned from Starhawk is, well, a lot of things. I got to work with some of the excellent folks at Sony Santa Monica, I got to witness playtests, I got to help build and grow an excellent design team, I made a whole lot of friends, and, more to the point, I just learned a whole hell of a lot. This post was originally going to be about the things that I learned, but I don’t even know if that can be done in a single column. Working on Starhawk was one of the hardest, most draining, most rewarding, and most… empowering (?) projects I’ve ever had the privilege of working on.

And five years later? I became Creative Director. It’s not with LightBox Interactive, but I still work down the road from those folks. And the lead designer that gave me my big chance is one of my best friends, and we bounce ideas for our side-projects off each other daily still. Working in the mobile game space is a completely different experience from what I had on Starhawk, but as far as I’m concerned it’s the team you work with and the energy you share that makes for the best jobs and the best games.

SPACE COLORS Development

I’ve been working on a game in my spare time called SPACE COLORS; it’s, essentially, a shmup/roguelike mobile game. It was originally started as part of the Space Cowboy Game Jam, but since then I’ve taken it and expanded it into a full game. Towards the end of July, I plan on launching the game on the iOS App Store for the low, low price of $0.99.

Anyway, I’ve been posting a bit about the game on Gamasutra:

  • SPACE COLORS: Rethinking Early Development — In this piece, I talk about my desire to keep the development of SPACE COLORS as open and public as possible.
  • SPACE COLORS: The Iterative Process — Three-four weeks after the Space Cowboy Game Jam ended, during which I continued development on SPACE COLORS, I wanted to talk about some of my guiding principles for the game as well as how I handled one of the more challenging aspects of the game: the control scheme.

I also made a little video showcasing my favorite part of SPACE COLORS: the explosions. Check out SPACE COLORS: The Explosion Video.

Dragon Academy — 9 Months Later

Yet another link to a blog post I didn’t write here; this one is over at Gamasutra; Dragon Academy — 9 Months Later.

But, there was one thing about making a free-to-play game that was still very new to me: development and design does not end at launch. Not even a little bit. As soon as we launched the game, we were immediately working on aspects of the game that needed improvements; we redesigned UI screens, we entirely reworked some game flows in response to player feedback, we continued to optimize the game for a variety of devices (and the impressive number of bugs that arise from supporting so many platforms), and so on. We also completely redesigned the interface to support landscape mode on tablets/Facebook, which is maybe the biggest change that I’m personally thankful for, as it just allows so much more real estate for combining the main gameplay with all of the social elements that we have integrated.

It doesn’t stop there, though. In order to make sure all of our players continued to remain interested in the game, and to continually draw in more and more players, we gave ourselves a schedule: new main campaign maps (2 maps, 24 levels) every few weeks. And, beyond that, every two-three months we wanted to do a major “episode” in what we call the BOOK OF CHAPTERS. These are four map (48 levels) episodes that you can play separately from the main campaign and feature entirely new art, a concise storyline, and, basically, a condensed version of the much larger main campaign. So, if you got stuck on any level in the main campaign, you could always hop over to one of the other chapters and just play levels there. This was our solution for any potential bottlenecks that could arise from some of the more difficult levels. Our first chapter in the BOOK OF CHAPTERS was for Halloween and was called Rise of the Zomblins.

Cat vs. Aliens

I just wrote up and published a bit of a post-mortem on the development of Cat vs. Aliens over at Gamasutra:

A coworker, Alan Defibaugh, expressed interest in working on Cat vs. Aliens with me, and I don’t think I could have found a better partner-in-crime for this project if I had offered all the fame and riches the world. From the very beginning, Alan and I were on the exact same wavelength for the kind of style, tone, and shlocky B alien/horror movie aesthetic that we wanted for the game. It wasn’t even really a discussion we ever formally had, it was just the style and tone that naturally arose out of talking about the game.

If I had to try and transcribe the conversation as accurately as possible, it would be something like this:

Me: “So, basically, the game is about a cat—”

Alan: “Telekinetic cat!”

Me: “Perfect. The game’s about a telekinetic cat defending humanity from glorby blobby aliens all being controlled by a central brain.”
Alan: “Got it. Let me do a few sketches.”

Full article is here.

Enigmo: Explore

Me and Chance Ivey wrote a bit about the development/release of the recently-released Team Chaos zen-inducing physics puzzler, Enigmo: Explore, on game industry site Gamasutra.

When given the opportunity to work on the Enigmo franchise, we all had a small moment of personal joy, as the game has always been special to us. I recall Enigmo being my very first phone game purchase, and how much it reminded me of an extremely important game from my childhood – The Incredible Machine. With simple controls and goals, both puzzle and dexterity elements to each level, I loved everything about this game.

There’s something magical about those “old-school” puzzle games; The Incredible Machine empowered its players with something that’s been lost over time: the play-in-the-sandbox feeling. It would provide you with a puzzle, a variety of tools, and then you, are the player, were on your own to figure out how on earth you were supposed to solve the puzzle at hand given a seemingly impossible set of items with which to solve it. Enigmo was the same way; you had a puzzle in front of your face, you had your toolset, and beyond that… You have your brain.

And, as it turns out, your brain isn’t quite as trustworthy a puzzle-solving tool as you’d like to think it is. Games like The Incredible Machine and Enigmo had this way of intensely focusing your puzzle-solving efforts in one direction — thinking that’s the direction that you had to go in order to solve the puzzle at hand. When, really, one small course correction along the way would have solved the puzzle in half the time, with half the brainpower, and reassured you, as the player, that your spot in MENSA was still there waiting for you. It’s a magical quality of these types of puzzle games; no guiding hands, just the reassurance that the puzzle in front of your eyeballs can be solved. Even if you weren’t sure how.

We’re eagerly awaiting the v1.1 patch which will single-handedly remove the most-despised feature that managed to slip into our v1.0 launch: the time-dependent one star level completion.

And, beyond all that, I’ve also got a whole new game — the first that I’ve fully designed and developed on my own (in collaboration with a particularly talented Chaotic Moon Studios illustrator, Alan Defibaugh) — coming to iOS real, real soon that I’m excited to share about.

Austin Mobile & Web Game Dev — Talk

For those of you in Austin next week, come check out my talk at the Capital Factory on Tuesday, January 28th at 6:30:

“Scattered Thoughts on a Fragmented Games Industry”

Per the talk summary:

[...] our January event will feature Trent Polack, the Creative Director of Austin mobile game studio Team Chaos. Trent will share “Scattered Thoughts on a Fragmented Games Industry.” Basically, he’ll discuss the various jobs and influences that have helped him transition from being an English major to a Creative Director in charge of five concurrent game projects. Also, he’ll cover the ways in which his responsibilities have radically changed since starting in the PC game industry (which led him to AAA console titles and eventually mobile games).

So, come on down and listen! It will be about a 40-50 minute talk with about a half-hour long Q&A afterward.