Skip to main content

Back from Game Forum Germany 2011

My wife and I just got back from Game Forum Germany (GFG), a small game developers' conference that takes place once a year in Hannover, Germany. Just like last year, it was an amazing experience.

Sadly, I missed the opening keynote by Martin Schwiezer on AAA development in Germany, but I was able to squeeze into the completely packed room for Ron Gilbert's presentation on the making of Maniac Mansion. It was great to see how that game was made, and one of his key points was that not knowing things (such as "making a game with 3 main characters out of a possible 7, with custom puzzles and endings for each combination is really hard") can be very liberating.

Ron was followed by Mike Acton from Insomniac, with a talk based on his recent blog post It doesn't have to suck, which was reposted on Gamasutra. Mike used a very simple presentation structure combined with a lot of interaction with the audience. This worked very well for this topic, because he challenged the audience to think about how to decrease the suckage in game development in their daily lives.

After the lunch break Ryan Challinor from Harmonix Music Systems explained how the the gesture-based UI navigation approach in Dance Central was developed. I, like many others in the audience, haven't played Dance Central, so hearing about all the dead ends was actually quite suspenseful, and I was glad to hear that they found something that worked well in the end.

Mary-Margaret Walker then talked about how to nurture your career and why you should keep your resumé updated, even if you're happy in your job. It was great to get tips from someone who's seen as many resumés as she has.

I missed the panel discussion on recruiting talent, partially because of the amazing apple pie that was served during the coffee break and for which I must get the recipe, but I was back in time to see Benedikt Grindel and Christopher Schmitz's presentation on how Blue Byte took the Settlers brand to online and social games. It was very interesting to hear how they were able to cut costs by reusing assets, and how these games fit into the larger Ubisoft strategy. (It was also somehow touching to me since I worked at Blue Byte a long time ago.)

The first day ended with a great party in the Sol y Mar, where I got to catch up with old friends from the German games industry and talk to new ones.

The second day started with David Hellman's presentation on the art of Braid. It was amazing to hear how much thought and effort had gone into creating the look of that game, and it made me want to start up my industrial vacuum cleaner Xbox and play it again, and maybe finish it this time.

Andrew Walker then gave an overview of the publisher-developer relationship ten years ago versus now. Working at a small developer, this is a subject I have a lot of interest in, so it was great to hear what someone who's worked at a very high level at a top publisher had to say about it.

Mary Bihr from LucasArts Entertainment talked about the history of games based on movies, specifically based on Lucasfilm movies, going back to the very first Star Wars games and the humble beginnings of LucasArts. She also gave away prizes (sadly, I was not eligible), which greatly increased audience participation.

After lunch, Richard Dansky gave a really good talk on genre stories in video games and why they are so common. The audience responded very well to his talk and there were a lot of questions, including the dreaded question-that's-not-a-question, in this case about Heavy Rain being the savior of interactive storytelling. Hmmm..... no. Although I have nothing against Heavy Rain, I wasn't convinced before, and certainly not after Richard's comments on it, which were of course blithely ignored by the questioner.

Jeff Ward gave the final presentation on pitfalls and best practices in data-driven development. He had shown me some of what he's done in AngelXNA and it's definitely a cool system.

The conference ended with a discussion by Mary, Ron and Noah Falstein on the history of LucasArts. I missed that for no good reason, but I hope I can catch it on video.

The presentations were great, but for my wife and me, being involved in the organization, the real treat was hanging out with the speakers. Just like last year we had a really great little group, all passionate about video games, and we had a ton of very interesting discussions. We spent Saturday walking around Hannover and visiting the Wilhelm Busch museum, finally ending up in a great steak restaurant. Today my wife and I flew back to Vienna, exhausted, but also energized and inspired. I'm already looking forward to next year.

Slides from my presentation on game production at ENJMIN

Here (13 megabyte PDF) are the slides from the presentation on game production I gave at ENJMIN on Tuesday, January 11th. The presentation went well, people seemed to like it and remember things from it, and in general it was a very pleasant experience and I was impressed by the students.

If you looked at the rough structure I posted earlier, you will noticed I changed things around a bit. Although this is not the first presentation I've done, I feel I learned more from the process. Which is why I like doing presentations.

The slides come with notes but naturally it won't fully convey everything I said during the presentation.

Update: Right, forgot to mention this. If you were at the presentation, I mentioned two things. First, Andrew Chen's blog. Read this to see how internet / web thinking can apply to games. Second, Darius Kazemi's series of articles about networking. Enjoy!

20 years in the games industry

On the 14th of January 1991, I started my first day of work at Thalion Software, a small and long defunct game development studio in Gütersloh, Germany. Which means that today I have worked in the games industry for 20 years.

Although it's a nice number to drop into conversations from time to time, it remains, of course, an arbitrary milestone. There are enough people with a much longer career in the industry.

But arbitrary or not, it's a good opportunity to reflect. I like to think that I've managed to keep learning and growing, and that, with time, I am slowly managing to make new mistakes instead of just repeating old ones. I've found that delivering good work doesn't become easier with time, but I've mostly grown used to the difficulty.

Today's date also means that I moved away from my native Netherlands 20 years ago. I have now lived more than half of my life abroad. Is that meaningful? I don't know. It has definitely changed me.

Today, after some detours into jobs where I was removed from hands-on development, I am not that far from where I started 20 years ago. I design and manage now, but I also still program.

I now work in a time when games are much more accepted as an industry, a medium and an art form, and when the interactive entertainment landscape is as exciting as ever, with more platforms, more play contexts, and more paradigms for games than ever before.

I am as passionate about the combination of interactivity, technology and storytelling as I was 20 years ago, and I still believe that the best is yet to come.

I could write more, but I have work to do.

Rough structure of my upcoming presentation on production

(Update: I wrote about how the presentation went, and uploaded the slides, in a newer blog post.)

Next week I am giving a presentation on production at ENJMIN, a game development school in Angoulême, France.

I roughly know what I want to talk about and I've been generating a lot of material. I felt I had reached the point where the structure was somewhat clear to me. Sometimes working with physical objects is much more pleasant than using a computer, so I fiddled around with index cards.

You can see the result here:

World's most boring video, I know. Anyway, here's a little more detail on each sub-topic:

Don't waste effort. This is the overriding goal, the takeaway, if you want. Why am I telling you this? So maybe you'll waste less effort.

Games are multi-disciplinary and You don't know what you need to build. These are two central themes I keep referring back to. This is why you need the techniques I am going to present, if you want to waste less effort.

Breaking the baguette. I intend to buy a baguette and a plastic bag and demonstrate this live :). This is me explaining the concept of task dependencies and the critical path, project management concepts that few developers know, but should. And it ties into:

Decouple production chunks. In programming, loose coupling reduces complexity and thus difficulty (of implementation, maintenance, etc.). The same goes for production. Example: Rock Band. Their 3D band rendering is very loosely coupled to their actual gameplay, which I bet makes things easier than a typical 3D game. On the other hand, Uncharted 2, with its super-tight integration of gameplay, graphics and story is all the more admirable when you realize how complex it must have been to make, because a lot of the game is very tightly coupled.

Iterate the right way. There's a couple of rules of thumb we tend to use at work when deciding what to do next, and they're all tied to iterating. Bang for the back, ROI, low-hanging fruit are terms we throw around a lot. Also: do the thing that lets you the learn the most fastest (which works on lots of different scales). And my personal metaphor: walking up a hill is easier than jumping a ravine.

Integration integration integration. Because making games takes many different disciplines, you need to integrate early, and stay integrated, or you'll have people working hard but not towards a common goal. And integration takes more time than you think. Setting the right goals also helps here.

Make your workflows flow. You need two workflows in a game team: the personal workflow, which needs to be fast, and the team workflow, which needs to be robust. This is the central engine of your production: get this right and you can actually build a game. But! responsibility for this is not obviously tied to one discipline, so it often falls between the cracks (an interesting dynamic in itself).

"Bonus rounds", aka stuff I can use to fill time and/or I don't know where to put yet but feel passionate about:

When is a task done? Dedicated to everyone who stayed in the office till 1 AM because a coworker claimed they were 'done' at 5 PM and left.

Testability. Really workflows again, only for testing. Not so much bug reporting and fixing, more being able to test anything at all. Forget this, and your QA people will want to kill you.

Project planning the quick & dirty way. Bonus material. My personal gut feeling / back of the envelope planning method. Great at parties. Start at the end, then do the start, then divide up the middle with some sensible-sounding milestones.

Localization. Again, workflows. If you're not prepared for managing a localization kit and efficiently integrating translations into your game, you will be in a world of pain. I wanted to submit just this for GDC Prime 2011, but my honeymoon interfered with me working on it.

Making 13 games in 1 year. Because that's what we did in our first year at Mi'pu'mi Games, and it was kinda cool even if the games were quite simple DS/DSi titles. And we used some of the techniques I discuss here.

It's a bit heterogenous, as my talks tend to be, but I don't think it's entirely all over the place. I may still split up or rename some of the topics - this is the first draft of the structure.

What do you think? Does this make sense? Is this a nice structure? How would you present this?

Self-publishing is not the answer

It is an answer.

Alex Champandard summed up my entire previous blog post as:

Essentially, making self-published games requires the skills running a business -- and not everyone has, or wants, those.

He should know: He has the skills for running a business as well as deep programming skills. Just look at AIGameDev.

Here is the other side of the coin, from Cat Valente, via the excellent (not game related) Making Light:

Funny thing is, if this future came to pass and the market were nothing but self-published autonomous authors either writing without editorial or paying out of pocket for it, if we were flooded with good product mixed with bad like gold in a stream, it would be about five seconds before someone came along and said: hey, what if I started a company where we took on all the risk, hired an editorial staff and a marketing staff to make the product better and get it noticed, and paid the author some money up front and a percentage of the profits in exchange for taking on the risk and the initial cost? So writers could, you know, just write?

And writers would line up at their door.

This applies to game development as well as to writing. It is basic economics.

So not everyone is going to be self-publishing. We're just going to move away from the pure publisher-developer constellation to a more diverse situation.

And naturally it is a huge oversimplification to even talk about a "pure publisher-developer constellation". Things are already diverse, they're just getting more so. The future is already here, it's just badly distributed, to quote William Gibson.

Ever notice how whenever there's a new profitable market segment, the leaders in that segment do not resemble the leaders of the older segments? MMOs, Flash, free to play, social...

Marketing, sales, and other scary new game development tasks

Yesterday morning in the office, after my second cup of espresso, I wrote a tweet. And then another, and another, and pretty soon I had about 6 or so:

The rise of social games means more developers need to get comfortable with the concepts of marketing, selling and profit.

Seth Godin makes a strong argument in Purple Cow and Free Prize Inside that design = marketing. (In fact he says everything is marketing.)

In fact, the rise of social games is just ONE of several factors that put pressure on developers to change their attitudes to development.

Or rather, the rise of social games exemplifies several forces that have been growing over the last few years.

Lower barriers to entry. More platforms. Direct access. Disintermediation (insourcing, if you like). The common factor is the internet.

A lot of changes, and changes are scary. A lot of new skills to learn, and so a lot of new ways of failing.

(David Barnes from Facebook Indie Games, who writes about similar topics, kindly bundled these tweets and commented on them here.)

This all ties back to a whole bunch of somewhat related topics I have been thinking about over the last couple of years.

This Economist article (for subscribers only, sadly) explains that blockbusters have grown bigger, not smaller as many people expected due to the effects of the Long Tail. This was one of the most interesting articles I read in 2009. Dave Edery referenced it in his talk at GDC this year. Basically, in media these days, you want to be huge and number one, or tiny and quirky (like a tiny purple cow). You don't want to be second best. This goes for TV, movies, music, newspapers, books - and games. There are a lot of interesting conclusions to be drawn from that.

At GDC this year, as you may have heard, there were some quite vocal reactions against Zynga and Farmville. What caused those reactions? I say it's fear, fear for something new which is not the something new that some of us were hoping for, or striving for.

That doesn't mean Zynga is the future of games. But everyone in the industry is now aware that Farmville's 70 million monthly players, not to mention its revenue and valuation, are remarkable. (There are, of course, other numbers that are as impressive as that iconic 70 million, and other markets that are as interesting as Facebook - see, for example, Nicholas Lovell's provocative post.)

This February I was at Casual Connect in Hamburg, my first time at Casual Connect. It was weird: the majority of sessions were about game design AND business. Which makes total sense in the casual / social / free to play space, but which probably confuses and scares a lot of game designers out there. Are we no longer cool? Are we going the way of the adventure game designers? (Many of my adventure game designer friends are actually doing quite well - some of them in social games.) Did I waste 20 years thinking about storytelling in games?

Changes on the internet, over the last 5 years or so, have revolutionized every single aspect of game development and publishing, and are continuing to do so. I held a presentation on this in 2007, and things have only accelerated since then. You can develop your game using open source software (itself developed and distributed over the internet), then market and sell and distribute it over the internet. Players can buy it and play it over the internet and you can converse with them over the internet.

One of the biggest changes caused by this is disintermediation. Basically, getting rid of publishers. Because from one perspective, developers have been outsourcing marketing and distribution. As I said about a month ago:

We're in the middle of a major transformation of our industry that was essentially caused by the internet and the various disruptions it has enabled. One of the questions small developers should be wrestling with right now is whether to self-publish. I know I've been thinking about this a lot in 2009. Developers building up expertise in marketing, PR, financing and other business areas that we traditionally have no experience with is going to transform the games industry (in fact it's probably happening already). I'm not saying everyone should do it, and in fact there are good counter-arguments - there is a reason why there are developers and publishers. But I think the status quo has been out of balance for a long time and that things are now moving the other way, towards self-publishing.

But that is a big, big leap for people who tend to think of themselves as artists and engineers. And you can bet a lot of institutional knowledge - the way things are done - no longer applies. And some of that knowledge is encoded in how companies are structured, in how they work. (When a older, bigger company is disrupted by a younger, smaller company, it's the differences in company culture that cause this as much as the technology.)

Working at a small games company, I think a lot about this stuff. About my experience, about what I instinctively think is the right way to make games, about how to make big leaps. About my fears of the unknown, of failure, of being laughed at. Even though it's not all that hard and lots of people have done it before.

Reading the two Seth Godin books I mentioned above made me realize a lot of people in a lot of industries are probably going through that. I don't buy all of what he says, and I am not quite sure which conclusion I am going to draw from them, but I recommend reading them. Fodder for a future blog post, or a bunch of caffeine-fueled tweets.

"Developers outsource publishing to publishers"

It's interesting to trace ideas.

In October 2008, Andrew Chen wrote about the cultural differences between games people and web people. Having been "games people" since 1991, but with a strong interest and even, in 2007, a brief stint in the web world, I found this a really interesting post. Especially this insight (emphasis mine):

Another interesting difference was the perspectives around content. For many of the games people I met, the content is everything. How good your game is perceived to dictate its ultimate success. I think this makes sense in an industry where distribution is essentially commoditized! The big publishers have many of the same relationships, and games developers in general have been outsourcing their distribution expertise out to the publishers for the past couple decades. As a result, it seems clear that the only place to compete is in the content of the game, rather than in the distribution.

This is a really interesting perspective - to me it was a very different way of looking at things. We're in the middle of a major transformation of our industry that was essentially caused by the internet and the various disruptions it has enabled. One of the questions small developers should be wrestling with right now is whether to self-publish. I know I've been thinking about this a lot in 2009. Developers building up expertise in marketing, PR, financing and other business areas that we traditionally have no experience with is going to transform the games industry (in fact it's probably happening already). I'm not saying everyone should do it, and in fact there are good counter-arguments - there is a reason why there are developers and publishers. But I think the status quo has been out of balance for a long time and that things are now moving the other way, towards self-publishing.

Adam Martin just wrote something about this topic. He links to a post by Nicholas Lovell, who is a strong proponent of self-publishing - in fact, he makes his living consulting developers about it. Nicholas puts the idea more strongly and clearly than Andrew: Developers outsource publishing to publishers.

I met Nicholas at Casual Connect in Hamburg and had a great conversation with him, and, if I recall correctly, I mentioned Andrew Chen's article. I am not writing this to claim credit or say anything about how Nicholas got the idea, I just find it fascinating to see how ideas spread and develop, whether I had a role in it or not.

If you're interested in this subject at all, I recommend subscribing to the blogs of Andrew, Adam and Nicholas.

How to filter out common unwanted characters in Python

I did a fair amount of programming last year and among other things I wrote a Python program that takes Word documents and transforms them to game data. One of the things it had to do is take a text that uses characters we didn't support in the engine (on Nintendo DS) and replace them with other characters. Like so:

character_replacements = [
    ( u'\u2018', u"'"),   # LEFT SINGLE QUOTATION MARK
    ( u'\u2019', u"'"),   # RIGHT SINGLE QUOTATION MARK
    ( u'\u201c', u'"'),   # LEFT DOUBLE QUOTATION MARK
    ( u'\u201d', u'"'),   # RIGHT DOUBLE QUOTATION MARK
    ( u'\u201e', u'"'),   # DOUBLE LOW-9 QUOTATION MARK
    ( u'\u2013', u'-'),   # EN DASH
    ( u'\u2026', u'...'), # HORIZONTAL ELLIPSIS
    ( u'\u0152', u'OE'),  # LATIN CAPITAL LIGATURE OE
    ( u'\u0153', u'oe')   # LATIN SMALL LIGATURE OE
]
for (undesired_character, safe_character) in character_replacements: text = text.replace(undesired_character, safe_character)

This code is not hard to write, but building the character replacement list can take some time. The bulk consists of characters that Word will automatically insert when appropriate, but that game typefaces often don't support or that are cumbersome for other reasons. As you can see. those characters are basically all kinds of quotation marks, plus a dash and the ellipsis. All of these are replaced by old school 7-bit ASCII characters or character sequences.

(Last year, while I was working on this tool, I read Robert Bringhurst's "Elements of Typographic Style". So as I was learning why it makes sense to use different types of dashes and quotation marks, I was also writing code to strip them out. Given the time constraints, this was the pragmatic approach. Still, I'd love to write a better text display engine sometime.)

Some time later I ran into trouble with the French 'Å“' (as used in 'Å“uvre'), so I added that too since the mapping is uncontroversial. Our typeface supported German umlauted vowels, so we left those.

In case it wasn't clear: the comments give the official Unicode names for each character.

The list is far from complete, and depending on your situation you may want to add some kind of additional black- or white-listing mechanism to make sure other unsupported characters don't slip through. But this simple list worked very well for the 13 multilingual Nintendo DS games we developed last year. If I could have found a reasonable and well-documented list like this, I could have saved a few hours of time. I hope that by publishing this snippet here someone else will be able to do that.

Back from Game Forum Germany 2010

Last night I got back from a trip to Game Forum Germany (GFG) in Hannover, Germany. GFG is a small game developer conference that got started in 2007 and that I've been somewhat involved in in various ways ever since. In 2008 I was responsible for finding the speakers and designing the program, and this year I did so again together with Noah Falstein.

It worked out very well. Every talk exceeded my expectations, and all of the feedback I've gotten so far has been very positive. The organizers did a great job in making sure everyone had a great time, and the mood during the conference was very good.

I either had no time or no Internet connection, or I would have tweeted my head off. But the upside is that I now have a very good reason to blow the dust off of my blog and write something longer than 140 characters.

Here are my impressions of the talks at GFG 2010:

Industry legend RJ Mical opened the conference with a look at the history of video game hardware and how hardware has affected the games we play and vice versa. RJ worked on the Commodore Amiga, a home computer which was very popular in Germany in the 80s and 90s. This, together with a rumor that RJ would reveal juicy details about the PlayStation 4, meant the room was packed. RJ is an incredibly charismatic person and his talk was great. (This page gives you an impression of his personality.)

RJ was followed by Raphael Lacoste, an incredibly talented artist, who explained in detail how he approached the art direction of Assassin's Creed. He showed the paintings that had inspired him, including many by Caspar David Friedrich, then analyzed various shots from Assassin's Creed to show how he had used contrast, silhouettes, filters and other techniques to create the game's look.

Jason Gregory from Naughty Dog (author of Game Engine Architecture) explained how to set up game loops in AAA console games (especially in Uncharted 2: Among Thieves, of course) so that they run efficiently on multiple processors. He succeeded in making this somewhat esoteric subject accessible, even to non-programmers. And he discussed the Uncharted 2's awesome train level in great detail.

Risa Cohen, Jane Corden and Térence Mosca held a very slick presentation about the business side of games, talking in depth about the marketing of digitally distributed games and the use of completion bonding in games. This was followed by a panel discussion (moderated by myself), where we were joined by Mary Matthews from Blitz Games Studios and Stefan Weyl from Namco Bandai Partners. We touched on a lot of (perhaps too much) interesting subjects, ranging from marketing to finance to new platforms.

Steve Ince closed the first day by giving an inspiring talk about aspects of characters in games.

On the second day, Darius Kazemi presented a structured approach for convincing people (going back to Aristotle!) and how you can mine data at work to support your arguments. The room was not that full, but that was due to the excellent party the night before, and not because of Darius' talk. (Darius also transcribed RJ's talk here.)

Jeff Lander described in detail what it takes to develop very high quality character animation systems, where the pitfalls are, and where middleware will let you down. Like Jason Gregory, he did an excellent job of presenting a very complex topic so that it was accessible even to people unfamiliar with the subject.

Chris Foster from Harmonix Music Systems gave a very inspiring talk about collaboration and how it is central to game design, giving concrete examples from the development of The Beatles: Rock Band.

Matias Myllyrinne from Remedy talked about their company philosophy and how they use playtests and usability tests. He also showed us footage from Alan Wake, including some clips that had never been shown before.

Finally, Thomas Bidaux from ICO Partners talked about the state of the free to play games market in Europe. He seemed a bit worried that page after page of business statistics would bore his audience of mostly developers and students, but he did a great job of conveying what makes these games interesting, and how big they are, especially in Germany.

(Videos from all the sessions will be put online soon. You can see videos from previous years here. There's a little German here and there, but the talks are all in English.)

I had a great time. The conference was not too big, the people were nice, the food was good, the party was great, the lectures rocked, I met old friends and made new ones, and I had lots of time to chat with other developers, which is one of my favorite things to do in the games industry. This time I had the additional pleasure of sharing the experience with my wonderful fiancée. It was her first time at a development conference. She wrote about her impressions here.

Why I'm not blogging much anymore

blows dust off blog

Some of you - well, one person anwyay - may have noticed that I am not blogging much these days. There are two reasons for this:

One, I am hard at work. For ludicrous reasons entirely my own I can't yet tell you what I am working on, but it's fun and it's taking up a lot of my time.

Two, like Ragnar Tornquist, my Internet activities have been largely taken over by Twitter. That means that both my RSS news reader and my blog posting application have been languishing. I write gnomic mini-blog posts, which you can see in the side bar or if you follow me on @JurieOnGames. I also get most of my news over Twitter now. It's a different experience from reading RSS feeds, but Twitter sort of forces me to admit I can't read everything, unlike my news reader with it's quietly judging '1000 unread posts' display.

So, there you go. I don't intend to stop blogging, but the short messages will definitely be going on Twitter. I intend to set things up so my tweets get posted here as well, for those people who really don't want to set up a Twitter account. Which, you know, is not that hard - set up a protected account, follow me, and it's like reading this site on the web.