There has been a tremendous dearth of content for my site lately. This is a thing that troubles me greatly. There are reasons for this, of course, busy at work, ladyfriend, some topics I’d like to write about but don’t entirely feel comfortable writing about, and a general lack of inspiration from the games I’ve been playing. This will change going forward, however, as my current games I’m tackling consist of Kane & Lynch (completed), Frontlines: Fuels of War, Haze (completed), and my much-adored Just Cause 2. I’m looking forward to writing about them, but that time is not now.
I realized an hour or so ago that my reliance on Twitter often leaves me talking about things that are actually relevant to this site and, in doing so, never actually talking about things that are relevant to this site on this site. Microblogging killed the blog, or something. This revelation was particularly noteworthy because I started a new project a couple of weeks ago and unless we count my development gallery, there is no mention of this project on the site. This just strikes me as being egregiously wrong.
The new project is what I’ve been billing as a semi-Rogue-like, very barely XCOM-ish, evoking bits of Team Fortress 2 top-down tactical action heist game that I’m calling Caper Corp.. After making a series of smaller, more “indie” games with Unity, I got the point where I wanted to tackle a bigger project. And, unlike most of my independent projects up until now, I want this project to be somewhat less quiet and subtle and convey a more definite sense of character. On top of all of this, seeing Monaco at the Independent Game Festival when I was at GDC this year made me realize just how large a void there is in the list of genres that games commonly draw from. This void is vast, of course, but specifically I want more heist games. And while Monaco is surely a fantastic and incredibly well-made and well-designed game, the actual gameplay didn’t jive with me. So I’m making a heist game. In Unity using some of the 2D/3D stylistic stuff I picked up on working on a prototype called “Men of Science:”
The hallmark of the dungeon crawly, Rogue-like genre of games is their procedural nature. Every experience is different from every other one due to the highly randomized nature of the environments, monsters, items, and so on, so while the core game design remains the same play after play, the environment in which a player explores is ever-changing. In theory, I really dig the sense of unpredictability and excitement that arises out of procedural level generation. What I don’t dig is the amount of development time that would have to be sunk into a procedural level generator for a game which is completely dependent on its environmental dynamics. When a dungeon has weirdly-wrapping corridors with strange connections and randomized caverns, it’s okay: it’s a dungeon. When a six-floor bank or ten-story casino has a completely illogical and incomprehensible floor layout for each of its floors, it’s ridiculous.
What I decided to do for Caper Corp., then, is semi-procedural level generation. Each level has a template: casino, bank, tropical hacienda of an oil baron, etc. Each template has a series of floor types: main floor, basement floor, upper floor, and rooftop. Each of these floor types has a series of potential foor plans. These floor plans are made in an editor. Each floor plan has a definite architectural layout (defined by the designer: ie, me); however, each individual floor plan also has randomized activation of the designer-placed game object on the floor, along with “sets” of architectural features that are enabled/disabled at random. It’s, essentially, controlled randomness. These floor plans are then laid out per the template; a casino has a main floor (chosen from, say, six casino ‘main floor’ floor plans), with three ‘upper floor’ floor plans (from a bank of twelve), and two ‘basement’ floor plans (from a bank of fourteen). Theoretically, even if a player played this exact configuration of casino floor plans in the past, there would still be enough randomness at the floor plan layout level to provide for a unique gameplay experience.
Unfortunately, all of this required me to do work in an area of game development that I absolutely loathe: editor design/development. I finished the first pass of my “Blueprint” tool for Caper Corp. an hour or two ago, though, so all is good. All the editor can really do at this point is paint floor tiles, wall tiles, erase tiles, and save/load floor plans, but that’s good enough for me to start working on the game core and style/art tests, which will start… In about ten minutes. Here are some screen shots from Blueprint (and check out the full Caper Corp. development gallery for ongoing pictorial updates):
I’m kind of a big fan of this whole game development and game developers conference thing. This is especially true since the main conference started on Thursday. The Indie/Serious Game Summits are both fantastic, but the lectures and sessions in the main conference are just so good. And it’s hard to deny how awesome it is to see people you respect and who made great games talk about a topic they’re passionate about.
After the normal, at this point, morning in the Marriott lobby writing about the prior day, I went on over to the conference to attend Richard Rouse III’s “Environmental Narrative” talk. Coincidentally (or not?) enough, this session took place in the same room as the excellent Harvey Smith and Matthias Worch talk on environmental storytelling on Thursday. This means that there was a significant amount of people who wanted to get into this session in one of the smaller rooms of the conference that were unable to fit in. Rouse’s lecture went through a series of examples on various types of objects/scenarios that can be used to both convey a story in the environment as well as aid players in navigation through a level via visual cues and flow hints. Much like Smith/Worch’s talk, Bioshock was frequently cited as a brilliant recent example of a game with a very carefully and effectively designed environmental narrative. Once Rouse had gotten through a series of techniques and practices, he used his work on The Suffering (a superb game, by the way) to demonstrate ways that he and the rest of the development team handled the game’s design. One of the more interesting examples is that, despite gathering an abundance of information on prisons through the internet, The Suffering‘s development team did not actually get to visit a real prison until late in the game’s development. This trip gave them several ideas as to how they could make a more cohesive, believable prison (such as using awful shades of paint to visually separate various wards of the prison), but since it was so late in development a lot of the more interesting discoveries were unable to be used.
While Rouse presented some solid level design techniques and ideas, I feel like the entire presentation failed to make the leaps in critical thinking and design methodology when it was so close to doing just that. And this was actually an issue I discovered with a couple sessions throughout the day: a seeming unwillingness to attempt to draw general design lessons from experiences or to think critically about why (and where) a given design technique “works.” Going up to the podium to talk about how a game handled its approach to level design is interesting, but failing to think critically about why that design approach works is a step I consider both incredibly useful to a wider audience of designers and necessary for a compelling lecture. Granted, it’s hard to think critically about why the practices and techniques we employ as designers “work” (or don’t), but it’s the effort put into that thought which should define our role as designers. When I think about the talks/presentations I’ve heard from GDC either in-person or ones which have been archived online, they’re the ones that make that extra logical leap to answer “why?” When Clint Hocking gives a talk inspired by one of his games, he talks about the design lessons (such as intentionality vs. improvisation, simulation boundary, etc.), he does not point to a feature on a game, show the audience a video, and then cap it off with “so we did that.” The Worch/Smith session from the day earlier, for instance, covered how people, in general, “fill in the blanks” of a situation by going through an elaborate series of events to, ultimately, come to a conclusion. Worch/Smith then take that extra step to explain that this player-initiated investment into a situation not only enriches the environment they’re in, but brings that player closer to the game as a whole. I’m not intending to single out Rouse’s talk for this rant (because it’s actually inspired by another session that I won’t mention), but Rouse gave a very solid lecture that just came so close to that last necessary step.
Next up: Sid Meier’s keynote, “The Psychology of Game Design (Everything You Know is Wrong).” I had been told by several people throughout the course of the week that, generally, the keynotes are generally a letdown. Supposedly this is due to the incredibly large, diverse audience of people and disciplines that keynotes have to appeal to, but I was hoping that, being Sid Meier, this wouldn’t be the case this year. Unfortunately, it was. Sid Meier took audiences through a series of explanations as to why things that seemed “cool” ended up being received poorly by players. The primary example that Meier cited was that of “Mathematics 101,” which he exemplified in the display of Civilization Revolution‘s pre-combat information. When the aggressor had an attack rating of 1.5 and the defender had a defense rating of 0.5, Meier said this was a fairly self-explanatory display of the odds (3:1): the aggressor would win three times out of every four attempts. Players, he said, did not interpret it like this and, instead, assumed that their number was higher so they should win. He then took the audience on a few iterations of this concept in what I actually took to be somewhat of a condescending manner towards the players. In essence, the combat in Civilization Revolution evolved because players couldn’t get the “mathematics 101” of the game, so Meier went on several iterations to make the ratio representation make sense to the player as well as to take into account how prior battles fared so that if the attack:defense was 2:1, then players wouldn’t lose two fights in a row.
One of Meier’s strangest examples throughout the keynote was that of flight simulators, though. He feels the genre started out by being “accessible” and “easy to play.” Then as they went through iterations they became more complex and more realistic and “pretty soon the player went from ‘I’m good’ to ‘I’m confused’. My plane is falling out of the sky.” Then, Meier said, “the fun went out of it.” He wrapped up this analogy by saying “keep your player feeling good about themselves.” I thought this little anecdote actually put me off from a lot of the rest of the keynote: who is anyone to say that the evolution of the flight simulation genre was a bad thing? It’s a definite niche genre, but that doesn’t make the genre bad or completely invalidate the design evolution it took. Then again, it’s an anecdote, so I’m probably over-thinking Meier’s intent.
After meeting with some old friends from Stardock for a bit, I went to the “What Color is Your Hero” panel featuring Mia Consalvo, Leigh Alexander, Manveer Heir, and Jamin Brophy-Warren. Without even a doubt in my mind, the panel was one of my highlights of GDC. It was an intelligent, insightful, and important conversation about the role of diversity in both video games and in the game development community. I wish I had some of the stats that Consalvo presented at the beginning of the panel, but alas. Heir championed the idea that utilizing a character’s racial/social background can enrich a game experience in ways that most all video games fail to realize; specifically, Heir cited the Native-American protagonist in Human Head’s Prey. The lead in Prey was ashamed of his background, wanted off the reservation, and was completely uncomfortable with who he was, but through the course of the game he learned to “spirit walk,” talked to his ancestor in a vision (which took place at what looked like a burial site, if I remember correctly), and so on. This feature of Prey‘s narrative transformed what would have otherwise been a game about dudes shooting aliens into somewhat of a Native American spiritual journey.
Alexander, in a discussion about the role of the developers and creatives in creating a more diverse cast of characters in their own games, raised a very noteworthy point: Resident Evil 5. In the case of Resident Evil 5, there are developers who were attempting at diversifying the characters and settings of their game and this, essentially, completely blew up in their faces. Alexander went on to say that it is understandable that a culturally homogenous development community would be nervous about attempting to portray a non-white character and subsequently screwing it up. She went on to say, however, that it can be done, the cultural/gender research just has to be done. The Wire was cited as an example of the work that series creator/writer David Simon did to present a wide variety of characters in a responsible way (though the series did take fire for its presentation of women). This was a great panel which gave a proper kick-off to some very necessary, important conversations.
My final session of the day was Lee Perry’s “Prototyping Based Design: A Better, Faster Way to Design Your Game.” Perry, a senior gameplay designer at Epic Games, took audiences through Epic’s process for game design starting with Unreal Tournament as the studio moved forward to the bigger, more cohesive project that eventually became Gears of War. The studio had a very design document-heavy and haphazard design process which was yielding poor results for what needed to be a more well-designed game than the studio’s prior projects. Kismet, which was an unrelated tool and “smaller problem” at the time, was being developed around the time when design documents were being tossed around the studio. One day Perry mentioned that he was screwing around with Kismet and tossing scaled-up shoulder pads on this big monster in order to, in a way, get this buff, big dude in the game. He tossed some “boom” speech bits on the character, showed it to some people, and eventually this little prototyped monster became the Gears of War Boomer.
Perry took the audience through the transition in design practices that occurred after this prototype was done; this involved the change from “design bibles” (very large, unwieldy design documents) to very active, designer-driven prototypes in the Unreal Engine using very basic Kismet parts such as elevators, triggers, and so on. Perry indicated the need for a designer to be more of a Chef, actively involved in the creation and iteration on a design, rather than a Food Critic, a designer who writes a doc and waits for the plate to be prepared by someone else before providing feedback. Perry’s session was a very practical, thorough, and well-presented lecture on the importance that rapid iteration and quick prototypes when it comes to showing everyone in a studio an idea. The importance of feedback (blood, audio, camera shake, etc.) to a prototype was also stressed; regardless of how quick a prototype is, the prototype must sell everyone in the studio on the idea and, as a result, it needs to properly and effectively communicate that idea.
Immediately after this session ended, I went on over to the IGDA/GameDev.net mixer being held at Jillian’s in the Metreon. I was held up at the door momentarily since I didn’t have the proper “IGDA Party” ribbon on my badge, but then I flashed my badge at Joshua Caulfield at the door and say “I’m GameDev.net” and was let immediately in. I felt powerful for approximately five minutes. And that was a fun little power trip.
Finally, I ended the day with an immaculate dinner organized by Michael Abbott. I met people like Matthew Burns, Simon Carless, Borut Pfeifer, Chris Dahlen, Krystian Majewski, and oh my god the list goes on and on and on and on. It was an incredibly couple of hours filled with the kind of fascinating conversation you’d expect from some of the most insightful writers in the game industry. It was a great ‘end’ to GDC (as I only have a couple sessions on Saturday and then I’m off to the airport).
Yesterday I learned the meaning of the oft-heard phrase throughout the early part of the week: “GDC hasn’t even really started yet.” It appears that the Summits/Tutorials make up only a fraction of the total GDC audience once the main conference has started and the expo floor is opened up. All of the parts of the Moscone Center that I’ve gotten used to navigating have approximately three times the amount of people as they did during the days prior. The other main difference is the kind of people you just randomly see; I left a session a yesterday and ended up pushing through a crowd of people right behind Reggie Fils-Aimé. That was kind of a random thing.
I started off my day with the typical write-up and catch-up on my MacBook at the Marriott Lobby across the street from my hotel. At some point during this phase of the day I realized that my first session was at 9:00am, instead of the 10:00am start time for the summits/tutorials, and quickly packed up my stuff and booked it to my first session of the day: “The Complex Challenges of Intuitive Design” which I somehow failed to realize was a presentation by Peter Molyneux. The session was, fundamentally, about Fable 3 and about 50% of the presentation was irrelevant as a design talk, but I still managed to get some really great insight into why the changes between Fable 2 and Fable 3 were being made.
Immediately after Molyneux’s talk I went over to check out what I felt would be one of the best sessions of the conference: “Uniquely Ruthless: The Espionage Metegame of EVE Online.” One unique aspect of this session is that it was given by a player, not a developer. That said, this was also one of the most complex talks that I attended over the course of the entire conference thus far (and for some reason chose that one to write up). The speaker was Alexander Gianturco (The Mittani), a director-level member of SomethingAwful’s EVE corporation: GoonSwarm. Over the course of the talk, Gianturco illustrated all of the crazy depth, time, and subterfuge that makes up EVE‘s espionage metagame. I already wrote-up the talk, so I won’t go too much into it, but this talk was far and away the most original of all of the GDC presentations of the year. I pointed this out in my write-up, but it was just mind-blowing that such an infamous EVE player actually plays the game very rarely these days. Most of Gianturco’s work in EVE is the management of the espionage metagame versus ICQ, Jabber, and forums.
Unfortunately, I made the poor decision of switching from my planned attendance of “Design in Detail: Changing the Time Between Shots for the Sniper Rifle from 0.5 to 0.7 Seconds for Halo 3” to the Uncharted 2 Post-Mortem by co-lead game designer of Naughty Dog Richard Lemarchand. This wasn’t a bad presentation by any means, but it was a completely sterile, typical post-mortem. Very little in the way of behind-the-scenes information or nitty-gritty design details were presented throughout the entirety of the talk. One interesting studio practice, however, was Lemarchand’s discussion of the sole deliverable of the studio’s pre-production process: a macro game design. Unlike some studios, Naughty Dog treats the macro game design as a somewhat high-level, abstracted spreadsheet of the entire game’s progression, gameplay, story beats, characters broken up level-by-level. I would have adored to hear Lemarchand talk in more detail about how this document was created and what its level of granularity was (all that could be seen was a small screen shot), but that was apparently not in the cards.
While the EVE talk by The Mittani was fascinating, the absolute best session of the day was Harvey Smith and Matthias Worch’s “What Happened Here? Environmental Storytelling.” This talk was given from the perspective of level design in first-person games and how to imbue non-critical small vignettes/stories into the environment of FPS levels where normally a designer would just mindlessly place props. Smith/Worch focused on the active process of thinking through a series of events and how intelligent prop/asset placement in a game environment can create interesting stories that the player can connect the dots with in his head. Scott McCloud’s Understanding Comics was cited as saying, paraphrasing here, that the most powerful part of a comic is what happens in between the panels where the reader bridges the gaps in his own mind. The idea here is that inviting players to use their own minds to figure out what happened in a given scene and, in doing so, these players become more invested and more interested in the game world as a result.
It was at the point where Smith and Worch began discussing systemic environmental storytelling techniques where my glee hit its ceiling (well, that’s not entirely true, but more on that soon). The pair brought up an example of the user of decals in Half-Life 1 where a player would shoot walls to make smiley faces out of bullet holes. This player did this two or three times in the same hallway. A bit further into the hallway, you see the dead body of a player right below a half-finished bullet hole smiley face (which has a bunch of other random bullets strewn around it). The story that arises from this is that there was this player just completely screwing around with environmental “damage” and he was so invested in creating his ‘art’ that he had no idea someone was right behind him when he/she shot him in the back. As the viewer, we saw none of this occur in real-time, but we put the pieces together by looking at the scene. Since multiplayer games entail players going through the same map over and over and over in a circular progression, systemized environmental storytelling was the long-term persistence of decals/bodies/shell casings (and anything else that is the result of a player action) which persists in the world to create an overarching narrative of player actions. I can’t even convey how much of a nerdgasm I had throughout this talk. And then Clint Hocking asked an insightful question and then my glee level hit the ceiling; Clint Hocking action shot:
The sessions for the day ended with a psychology-focused analysis of the role that achievements play in video games and whether their use as external motivators for tasks is “harmful.” The talk was given by the super intelligent, fast-talking, quick-thinking Chris Hecker and was a very responsible look at the role that these external motivators factor into our psychological development as we play games. It’s hard to properly summarize the talk, but the general message is that while rewards for tasks are generally “bad,” the closer they are to endogenous awards (thematically/media-appropriate/related) the less damage the reward does as a Skinnerian conditioning technique. Achievements, however, are not endogenous whatsoever and, therefore, become a completely abstract reward which damages a player’s intrinsic motivation to do what should be an inherently fun task.
The night ended with my first-ever attendance at the Independent Games Festival/Game Developers Choice Awards. Over the course of this event I got to see Cactus deliver a hilarious acceptance speech, Warren Spector, Will Wright, Gabe Newell (introduced via a very earnest and fantastic speech by Chris Hecker), and John Carmack. Overall, the day was like a nerd heaven. It also ended with a meal involving margaritas and chicken flautas, so, I mean, an all-around win, really.
Despite being my first GDC, I actually feel like I’m kind of getting the hang of things. I started another morning in the lobby of the nearby Marriott by writing up the day prior (much like I’m doing right now). Unlike the last few days, though, I have 9:00am sessions to make rather than 10:00am ones, so my attempt at writing up the day is going to be much abbreviated. Which is unfortunate, because these little daily things are my favorite thing to write up.
Day 4 was all about indie. I was in the same session room (Room 135) all day long listening to what were, primarily, all superb sessions. The day was kicked off with Kellee Santiago and Robin Hunicke talking about “How to Manage an Exploratory Development Process.” Despite there being far funnier, even somewhat more insightful and original talks throughout the two days of summits and tutorials, the Santiago/Hunicke talk was a marvel. It’s so completely rare, especially in this industry, to hear a talk from people who are not only genuinely passionate but optimistic and who preach the emotional relevance of a team development atmosphere. The pair revealed (namely Santiago, as Hunicke was not, I believe, a member of the team at this point) that at the end of Flower‘s development cycle, Thatgamecompany was on the verge of self-destruction. Santiago said that if the team kept along their path at that point that they would not have lasted past their three game contract with Sony. Robin Hunicke was brought on that this point as a producer and, as she took the stage, talked about all of the lengths she went to in order to get a better, more comfortable, less anxious team dynamic. The pair ended their talk with the promotion of optimism and happiness because if the “five years to burnout” stat was true, the pair, they said, would not be able to play “your” games. It was a rare sort of talk for this industry and conveyed a mood and message that this industry desperately needs.
Next up was a talk by Mark “Messhof” Essen and Daniel Benmergui about “Control Inspiration” where the two talked about their various visual and interactive inspirations for their games. It was an odd talk given by a pair of incredible designers/developers, but it was unfortunate to see how scatter-shot Messhof’s presentation of his material was. I know, indie, etc. Benmergui, however, took the audience through a completely interesting evolution of his remarkable game Today I Die. He talked about how the game’s “poem mechanic” evolved over time from something simple, to something very cool but incredibly complex, to the final version that was in the game. Benmergui ended by showing off the iPhone evolution of Today I Die which looks promising.
As I was leaving this talk, I ran into Ben Abraham and Nels Anderson. These are, really, the first of a group of incredibly smart game critics/developers that have inhabited a special circle on the Internet. As someone who grew up in isolation of the game industry as a whole, it’s always completely amazing to meet people you’ve interacted with frequently online. Unfortunately, as tends to be the case, I was already late for a lunch thing so I couldn’t talk nerdy game stuff, but there’s an entire dinner for that later in the week.
One of my favorite moments of the day was in the “Minimalist Game Design: Growing OSMOS” where Eddy Boxerman and Andy Nealen. Boxerman gave what was, largely, a somewhat uninspired and disinterested talk about the game’s evolution over the two-and-change years of its development. Boxerman showed off OSMOS at various stages of its development talking about what worked and what didn’t and how they maintained a minimalist approach to its design throughout its development. It was neat to see, but Boxerman’s portion of the lecture paled in comparison to when Andy Nealen, a developer on the game and a professor at Rutger’s University took the stage. For the next six-eight minutes, Nealen talked about the tenets of minimalism in game design from a somewhat academic/game theory approach. Nealen stole the afternoon with this incredibly abbreviated, dense, and insightful speech on “economy” and “coherences.”
Immediately after the OSMOS talk was “Indie Solutions to Design Savvy Somethings” by Adam Saltsman, Alec Holowka, and Andy Schatz. I already wrote this talk up, but it was incredibly sad to see each of these three incredibly intelligent speakers cut short by time. Adam Saltsman was, for instance, only able to get about ten minutes into what looked like a twenty minute talk. The gist of this talk was promoting what was inherently indie about indie game development as opposed to the AAA style of game development. The best part of this talk was that all three speakers managed to laud the benefits of indie development without feeling the need to slag on AAA game development (because they’re completely different beasts, neither bad).
The final two sets of presentations were an art panel with Derek Yu (Aquaria, Spelunky), David Hellman (Braid), and Edmund Mcmillen (Gish, Time Fcuk). It was a worthwhile panel overall, but, for the most part, it largely felt awkward and stilted until the panel started getting into more personal, process/artistic conversations.
Shortly before the next session I was able to meet and talk to Chris Remo, the incredibly talented and passionate gamer, writer, and podcaster. Once again, this is a person I’ve “internet known” for years and have had the pleasure of talking to online many times, but have never actually met in person. These kinds of meetings/conversations are one of my favorite aspects of GDC so far (along with the sessions themselves).
The Indie Game Summit ended with the “Indie Gamemaker Rant!” This is a series of five-minute rants by prominent individuals in the indie game community such as Robin Hunicke, Randy Smith, Adam Saltsman, and about eight or nine more speakers. As with any ensemble session, it was a mix of great and not-so-great. One ranter talked about her game’s demise and eventual completion, showed a clip of her game, and then a slight plug for more funding/publishing which, indie or not, seemed in poor taste. Then there were the rants by Robin Hunicke and Brandon Boyer. Hunicke ranted about the completely lack of diversity in the game industry, both lamenting it and preaching to the audience to compose their teams of more varied types of individuals. The rant was passionate, true, and completely necessary and I really hope people took something away from it. Brandon Boyer’s rant was about sorry state of the game press which, yes, we all know and acknowledge, but more important Boyer ranted on the unnecessary amount of snark in the press (and community as a whole). It was an earnest, heart-felt rant that everyone in the industry, press or not, should heed.
And, with that, Day 2 of GDC and the end of the Summits & Tutorials section of the conference game to an end. The rest of the day was occupied with eating and partying. Here are some awful pictures of Gamma IV (which I will hopefully write about in further detail later).
Also check out my totally rad dinner:
Like every good day, Day 2 began with the sound of the guy in the bathroom of the room adjacent to mine gargling with mouthwash.
San Francisco is one of the most strangely organized cities I’ve ever seen. It’s like the settlers of 1776 were looking around the Western reaches of this new territory, saw this incredibly hilly terrain and thought “this will work.” And it does work, it’s just hilariously ridiculous looking. Tim, Ian, Scott, and I did the tourist thing early in the day which means, of course, the old school cable cars had to be used. As we traveled up the steep hills of downtown, every single side-street we passed had some sort of gorgeous cityscape to behold. I can’t even begin to imagine how much of a ludicrous pain in the ass it is to drive through the city, though.
Of the touristy things that we saw was the home of the 1996 Michael Bay epic cinematic film entitled The Rock, starring Hollywood’s Sean Connery and Nicolas Cage. Enjoy this tiny iPhone picture of Alcatraz (LOOK HOW TINY IT IS):
On our way back downtown to pick-up our press passes, I discovered that cable cars are dumb. And they have hard seats.
Going into the Moscone Center for the first time, even though it was almost completely empty when we were there, was definitely something. This is a large building. As I remarked on the enormous size of the Moscone building nearest our hotel, I discovered that it was just one of the building that make up the “Moscone Center.” Big cities are a weird thing. And check me out:
And behold the poster boy of the Game Developers Conference:
At night the GameDev.net crew (myself included) all went over to the GDC Kick-Off Cocktail Hour, hosted by SparkPR. It was a rad little shindig and we talked to a bunch of great people, but the most astounding development of the night was the discovery that Tim ‘nes8bit’ Barnes moonlights as a bit of a poolshark.
The night ended with some of us going to a super random, out-of-the-way Asian Fusion place called SO near the Cocktail Hour. Also an endless bowl of noodles that made anyone serving a dish look incredibly intelligent. Incredibly.
I’m not much of a traveler. I don’t dislike it, I just don’t do it much. Going to the Game Developers Conference this year is something I’ve wanted to do for ages. Back when I started getting involved in game development when I was a tiny little fourteen-year-old kid reading the forums at GameDev.net for ideas on how to make the world’s next major RPG. Yeah. I was that kid. I was the super energetic bastard who thought that getting a team of complete strangers together to make this super cool video game was a smart thing to do. And, luckily, thanks to the magic of the Internet, I was able to look at that post while writing this and be reminded at just how dumb I
So that’s a thing.
A group of us got into San Francisco last night around 6:00pm PST, which is especially fantastic given that when entering a new city I’m not entirely unlike an easily-distracted puppy dog attracted to shiny objects and big buildings and people on the streets doing the robot. After , John, and I all rocked BART to our hotel near the Mascone Center, we all met up at an Irish pub for Oscars,
drinks, and food. At some point in this there was a guy ghost riding around out hotel who made it two blocks before being arrested by San Francisco’s finest. Being a newly-minted resident of Austin, Texas who needed a new driver’s license, I have the fortune of displaying my ghetto, out-of-state paper ID as a means to get alcohol. Which means I don’t get alcohol. Which means me and San Francisco aren’t off to a great start.
The night ended in a befittingly extravagant way: going back to the hotel room and forming my schedule for GDC. Also there’s a window in my hotel room bathroom which opens up to a window in the adjacent room’s bathroom.
Every now and then it’s nice to talk about game development; how to get into it, and what it’s like to actually be a professional game developer after years of being a part of game development communities on the Internet. This post was inspired by a blog entry by the ever-fantastic Steve Gaynor. The entry is titled “Informative” and he discusses his approach to getting into level and game design from the perspective of someone who had no idea how to get into game development. It’s a fantastic read and is a completely different approach to the way I got into game development.
One way to get into the industry is have the general knowledge of what game development consists of and keep this in mind as one progresses with his/her education. Maybe someone looked up a game school like Digipen or a trade school like Full Sail. I know a number of people that have gone this route and gotten good jobs in the game industry (one of whom is a close friend and colleague at Stardock). There are also a number of people who got into the industry in a sort of traditional training/educational manner. These are the people that maybe knew an widely-accepted path of learning a given artistic or programmatic trade through classes in high school and then continued the advancement of these schools through college. Both of these are very viable methods of learning the necessary skills to get a job in a very unique and competitive industry.
But that’s not how it worked for me. And I have some of my personal history and some very unfortunate evidence of my past projects to share along the way.
I grew up with video games. Sure, I also had a fondness for basketball and, eventually, cross-country, but video games were always a consistent force throughout my life. I got a copy of Super Mario Bros. 3 from my grandparents for Christmas when I was around five or six. The problem that I remember back then is that I got this game and I didn’t even have an NES. I wasn’t sure what their angle was. I thought it was either a mean trick or my grandparents had no idea that a game cartridge wasn’t a self-contained video game-playing entity. But I clutched that copy of SMB 3 in my hands for a week or two. At some point I accidentally dropped my copy of Super Mario Bros. 3 in a toilet. After that unfortunate event — still not having an NES of my own to play — I had an urgent need to visit my friend’s house. He had an NES, see, and I had to ensure my holy grail hadn’t been corrupted. Thankfully, it wasn’t, and shortly thereafter I had an NES of my very own to play it with. It wasn’t until I was eleven or twelve that I really ever started wondering how video games were made. But, that did happen, and it was, as is tradition for the small town of Kalkaska, Michigan, during an incredible blizzard that I started screwing around on a computer. Before I go further, I want to ensure we have the same picture of a winter as I do; these are recent pictures but you can’t really tell the difference between back-then and now in this context:
So, there I was on a day where I clearly wasn’t going to be visiting any of my friends, playing, most likely, a game of Warcraft 2 on the family computer that was used almost exclusively for word processing software. My immediate family wasn’t a very technical bunch while I was growing up. Even this computer, the first one our family ever owned, was given to us by my grandfather (who worked as a computer analyst). At some point preceding this blizzard-filled afternoon, my cousin, who grew up in a very tech-heavy family, introduced me to QBasic and some basic Snake game that he downloaded off the Internet that was made with QBasic. So, on this day, I opened up QBasic like my cousin showed me and read through the in-program information and documents — they weren’t well-written, numerous, or particularly useful — and began cranking away at a text game which integrated some text-based animations and my homemade Chiptune compositions. At some point I tried adding actual graphics to these games but, well, I was an eleven-year-old trying to figure out how to do basic computer graphics isolated of any knowledgeable help. I think I made a circle with one eye near the circle’s origin and the other a few units to its right. It wasn’t pretty.
A couple years later (and months after I stopped using QBasic for anything) and I was a fourteen-year-old with a far newer computer and an actual internet connection (a 28K dial-up modem). And it was at this point that I actually started wanting to learn how to make computer games using the same kinds of tools and information that the real “game people” used. I hopped on the Internet and, eventually, learned about C/C++ and how these languages had something to do with video games. I was working as a bag-boy at a local grocery store around this point and, with my first or second paycheck, gave my Mom the money to order a C++ programming book from Amazon.com (I reassured her that the site was safe and that she could use her credit card).
As soon as I got this book, I started reading and learning about the intricacies of the language. It was hard. I worked at deciphering what was an absolutely cryptic and confusing set of skills and information every single day after I got home from bagging groceries, cleaning bathrooms, and chasing after carts. Sometimes I had to read the book without immediate access to a computer to test new C++ functionality out or to try transcribing a sample program from the book into a free C++ compiler that I downloaded off the Internet. And I did this sort of thing nearly almost every day for a summer. And then school started back up, the book chapter on pointers was proving asininely complex, I joined a Cross Country team instead of a Basketball team (the running folks were way nicer and more relaxed), and forgot about my C++ learning for a while.
I didn’t stop programming during that lapse in my C++ learning, though, which surprises me to this day. I ended up borrowing my mother’s TI-86 graphic calculator for the math classes I was taking through my sophomore year of High School. And, one day during a class on Michigan History, I was playing around with my calculator and realized that it had a program editor installed. I went home that day and looked up information on the TI-86 and the kind of games that people were making for it. And through a series of nights working on a TI-86 BASIC program editor and tweaking the results in the middle of some of my high school classes I came up with a TI-86 game of my very own that the Internet has preserved for almost eight years: ARENA. The game won me a book from a site dedicated to TI-86 programming.
It wasn’t until my last Cross Country meet that I had a mid-race revelation that ended up being kind of important; it was the one that reminded me that I stopped learning how to program and that I should pick my book back up again and start, once again, from the beginning. The one thing I did differently when I picked that book back up ended up becoming one of the most important lessons I like to relate to people who want to get into the game industry: join a community of people who share your interests. I joined GameDev.net, a community-focused site that was focused on its namesake: the development of video games. It was through this site, and others like it that have since ceased their operations, that I learned the most from and made a huge number of contacts and friends. I joined the site’s IRC channel and talked to a bunch of other development veterans, which was helpful, but also to a group of people that were in the same situation I was in: learning on their own time and trying to make sense of all of the complexities of game programming. At some point, I got a group of people together (ignore the “Royal Rainbow” near my name; that’s a result of antagonizing my fellow moderator last year about the lack of color to our tags) to make a game, had a bunch of people argue about what the “team” wanted to work on, and then all storm out of an AOL Instant Messenger group chat room. But I did meet some people that I worked closely with for a few months. One of the “games” that was born out the work done by myself and a fellow GameDev.net developer also, unfortunately, survived through the last eight years: ARENA: Evolution, the “sequel” to my TI-86 game.
And so my self-teaching went on. At some point I picked what I still consider to be the most game programming important book I ever bought (despite now realizing how many horrible practices it taught me): Tricks of the Windows Game Programming Gurus. I probably read this book cover-to-cover about three times trying to properly understand COM, DirectX (specifically, DirectDraw), and some basic tenets of game programming. And I worked with DirectDraw on some failed demos and little games for a few years; some screenshots of these awful projects can be found below. I didn’t really grow to appreciate the concepts of color, scene composition, aesthetic design, and other such invaluable traits of a good game designer until at some point in my college career. It shows, yes, I’m well aware. I eventually moved into 3D game development with OpenGL with the help of Nehe’s tutorials. These tutorials teach poor programming and development practices but were, at the time, a remarkably simple way of learning basic 3D programming. I ended up writing a basic series of game programming tutorials for NeHe but I had those taken down as I felt they gave some incorrect information and poor practices.
I contacted the author (André LaMothe) of Trick of the Windows Game Programming Gurus a couple years later, when I was around seventeen or eighteen, and eventually this action led to a book publishing deal for me. It was a very strange concept to get my head around but I finished that book and, surprisingly, didn’t get beat up every day of High School for it; in fact, I actually made a bunch of new friends as a result of conversations about my book. I consider it be an absolute piece of trash both technically and stylistically (text and code) but, hey, a little selling-out never hurt anyone.
When I went to college at the University of Michigan I was certain that I wanted to be a game developer. I was eager to learn some proper programming information from the professors who spent their life developing applications — maybe even games! — using the kind of information that I’ve hacked together throughout the four-five years of learning I did on my own. It was tremendously exciting.
And then my first year ended and I didn’t really enjoy programming anymore. Something about being taught the same programming principles that I forced into my brain on my own time became a dull, uninteresting endeavor when they were related to me by a college professor. I didn’t see the relevance to video games in the examples that were discussed in various lectures and lab sessions. And when the video game angle was removed from the sort of technology and programming that I was so passionate about growing up I realized that I didn’t care very much. I also had real concerns about how well I’d function in an office environment being that I was, throughout the entirety of my life, a very active, energetic, and oft-rambunctious person. I ended up dropping out out of the College of Engineering and switched to the school of Literature, Science, and the Arts. I received some strange looks during this process. People have to apply to transfer from LS&A to the College of Engineering but doing the opposite required only a signature from a College of Engineering advisor. So I did that. I switched my intended major from Computer Science to English.
I went through my second, third, and fourth years of college, at this point, with the intention of becoming a High School English teacher. I thought that I just wasn’t cut out to be a programmer and, as such, didn’t really have any marketable talents that would get me into the game industry. I really enjoyed a year of level design using DOOM 3’s Radiant level editor and a bit of mod work within the Half-Life 2 Source Engine, but I considered those things hobby work. I also played with Torque Game Engine a little bit. Throughout this time I took a variety of classes about linguistics, literature, Roman/Greek history, and a number of creative writing courses which were all tremendously fun for me; I met a ton of cool people, learned new things, and realized how much I love writing. So throughout this period where I just enjoyed being a pretty unfocused college student who dabbled in a bunch of aspects of gaming and game modding I realized how much I enjoyed simply writing about games. So I did that. Often.
But, despite being a very connected person who still enjoyed talking to hobbyist game developers via IRC daily, I never once thought that I could have tried to get into the game industry like how Steve did.
Near Christmas my senior year of college I read about something that Microsoft was releasing to the hobbyist game development community that would allow independent game developers to make games for the PC and the Xbox 360 using the same code. So I downloaded the very first release of XNA Game Studio — a beta that would end up being v1.0 of the development environment. I didn’t know C# at the time so I was, in essence, trying to remember everything I knew about C/C++ (which was a bit rusty at that point) while also trying to apply those principles to C#. I ended up trying to replicate some of the graphics techniques I messed with when I was still in high school such as non-photorealistic rendering techniques and my favorite graphical feature of all time: particle engines (though, now, I find myself to enjoy programming new game mechanics and thinking about game design more than graphics).
I showed these images to one of the friends at Stardock that I had maintained contact with throughout my college career and, eventually, got an internship. It was a pretty simple endeavor, primarily because I interviewed and received an internship position withStardock back in 2004 near the end of my freshman year of college. I didn’t have a car and as the time neared for me to actually start the job I also didn’t have the money to purchase a car so, much to my disappointment, I couldn’t take the job. But, three years later, I accepted a position as a game development intern at Stardock Entertainment working on a number of features for the recently-announced Elemental: War of Magic. My internship ended up transitioning into a full-time game developer position as I took my final class at the University of Michigan alongside working at Stardock from September 2007 until my graduation with an English degree in December 2007. And this is me at my desk playing with the iSight on my Macbook right as I was packing up to leave work this evening:
When I started this entry my goal was to discuss, concisely, how I got into game development and to give recommendations to anyone else who may be living in the middle of rural nowhere with a 28K dial-up modem. As I started writing, though, I realized how the beginning of my “game development career” began from apre-teen kid screwing around on QBasic on a 486 Packard Bell that was given to my family by my grandfather (who passed away last month). As simple an activity as that was, it was enough to get me to realize the kind of thing I wanted to do “when I grew up.”
It’s widely-believed that persistence and hard work are the two most necessary traits for any game developer. I absolutely agree with that. I’d like to add, though, the importance of communicating with other developers whether someone is just getting started or has been in the industry for years upon years. Much like when I was fourteen and using our family’s new computer to talk to people about programming, I still find that sharing my development and gaming experiences with other like-minded people, even if I’ve never met them before, never fails to get me excited about the fact that I make video games. My work consists of making games that, in my opinion, are amongst a small group of definitively-PC games being made in the industry right now. And, when I get the time, I sit on my couch working on a MacBook to try and develop an iPhone game that will make good use of the platform’s strengths while still being the kind of game that I love to make.
So, thanks Grandpa. You were the cause of me being, like, a super nerd.