Lessons from Europe

Original Author: Claire Blackshaw

Often posts from a personal perspective are a contrite, self-promotion exercise of polishing the trumpets. They can also be an honest expression sometimes lost in the NDA red tape culture.

It is important to know why you do things, what drives and motivates you, bringing happiness and a sense of satisfaction. Though most importantly to admit when you made a gigantic cock-up and own up to being an idiot.

In my last post I requested contribution to a survey on why we create. The results were watered down when, by casual. non-formal inquiry of two large studios, I realised the results are not representative. In the inquiry I reminded myself that most people do not read industry press or actively participate in what I will term the “creators community”. Instead the bulk of our co-workers are content in their enjoyable job, which they still see as a job. They are happy, good on them, and many are talented and motivated individuals. Individuals I enjoy working with and who make awesome games. Though for completeness the results of the online survey are presented below.

The reason for the lateness of this post and the original self examination which triggered this exploration was an honest peeling away of my own fate and career. Since leaving Mere-Mortals I have not published work of which I am proud, that is not to say I haven’t worked on amazing things but they just will not see the light of day for a range of reasons, or when they finally do surface I shall not be credited.

Prompted by this situation a good friend whose creative ability and integrity I trust offered me an chance at a large publisher studio which sounded exciting. Much more exciting to me was a chance to turn my currently long distance relationship of almost 3 years into a no-distance relationship. So I packed my bags and moved to Europe with a healthy relocation package in the offering.

When I arrived the situation on the ground was very different. On day one I found out the project had changed from a traditional boxed console product to a free-to-play title. No-one’s fault, things change.

Now the “sensible” thing to do would have been hold out in Europe in a well paid job, cash in the relocation package and enjoy my relationship. This while creating a style of game I have morale issue with and not being able to express myself in the hopes of a relocation or change of circumstance. This is what I like to call “existing while waiting to live”, I have made a similar mistake in the past and refused to repeat it and possible watch my relationship and happiness fall to pieces over it.

So I swallowed what looks to be over £2000 in loss, cancelled my contract 3 days in on moral grounds and returned to the UK. There my previous employer welcomed me back in the most awesome way, way to go Climax. The only part of which I regret being the fact that my relationship is once again long distance.

On my first weekend back in the UK I found myself in my old flat living out of a suitcase, sleeping on the floor next to my heater cuddled in a blanket making a game in 48 hours on my chromebook with my phone providing internet. I was happy. It really doesn’t take much to create and make games and that’s what I enjoy doing.

My experience in Europe has taught me many things. Firstly that free-to-play, while a nuanced topic, will not resolve nicely if we stand on the sidelines. As opponents to it we need to actively offer alternatives to help shape it and lobby for a future without exploitation. Non-participation will not work when companies make the kinds of profits they are currently making.

The industry is secondary to the products it creates. It is a process and machine which aids the creation of games, but games can be created without it. To serve the industry as an end rather than a means to an end is raising the process above the product. Do not glorify the industry for its own sake.

Finally on a personal note I am an entertainer and a creator. I will make games, plays, art, things, watchmacallits and thingymajigs because I enjoy it. I want to enhance the world in some small way through entertainment or education. Yes I have bills to pay, making money is not bad, free-to-play is not evil but the games come first and should be a positive force, not a commercial parasite to maximise profit. To this end I’ve committed to the One Game a Month project for 2013 and to advance the conversation around Free-to-Play with my personal voice I will be launching a project in the new year.

My name is Claire, I make things to feel better about the world and improve it. This is my goal and purpose.

Happy New Years

Four meditations on bad design decisions

Original Author: Niklas Frykholm

I’ve recently been doing a major rewrite of one of our core engine systems, the graph that we use for our visual scripting language Flow. Taking it from something that looks like this:

To something that looks like this:

A major rewrite like this is always a humbling experience. When you have to rewrite your own code, every bad decision you made comes back to haunt you. And you don’t have anybody else to blame them on.

As if facing your own inadequacy wasn’t enough — rewriting an existing system is always harder than writing one from scratch. When you write a new system you start with a blank slate and can do whatever you want. When you rewrite, you are constrained by what the old system did — at least if you want to maintain any kind of backwards compatibility.

In addition, a new system can be written iteratively. You can start with a very small, simple system, release early and get feedback. Based on that feedback you can tweak the system. You don’t have to think about adding features until you have a good stable base.

When you are doing a rewrite you can’t release the new system until it is at least as good as the old one. Otherwise, your users will question why you have spent all that time working on a system that is worse than what you had before. And they will be right.

So a rewrite forces you away from the comfortable land of early releases and quick iterations and into the ugly old waterfall model.

With the power of hindsight, I’d like to reflect a bit on four design mistakes I made when I wrote the first version of the system that made this rewrite a lot harder than it could have been.

Don’t use strings for non-text things

Strings have one really good use — to hold pieces of text that either gets displayed to or inputted by the user. All other use of strings should be regarded as suspicious.

Strings are scary because they are both ambiguous and powerful. Does “a/b.txt” and “A//b.txt” represent the same path? Hard to tell. But maybe you can use case conversion, search and replace and some regular expression monstrosity to figure that out.

If you are doing that kind of string manipulation in any part of the code that is not directly related to user input or output, it is a clear warning sign that your code might be too “stringified”.

The most obvious example stringified code is the use of “stringly typed” data, for example, storing a date as the string “2012-12-09″. But the problem with strings can also manifest more subtle ways.

The original version of Flow used strings to identify connectors, both internally (as a representation of the connection) and visually (to show the name of the connector):

As a consequence, a Flow node couldn’t have two connectors with the same name, and a connector couldn’t be renamed (even visually) without breaking all existing connections.

In retrospect, rather than having a single Name property, it would be much better to have separate Id and DisplayName properties. The Id would be a GUID that uniquely identified the property, and the DisplayName would be a (localizable) name, suitable for displaying to the end user.

Using names/strings as identifiers has bitten me in other ways as well. In one system I knew that the names had to be unique (because that is how the script would refer to the objects) so I thought it would be safe to use them as identifiers. What I didn’t consider was that there could be situations when there temporarily were two objects that had the same name. For example, if the user had created a rock object, and wanted to create a rock_small object — as she was half-way through typing that name, there would suddenly be two objects named rock. This created problems for the system.

Lesson learned, I now avoid using strings as identifiers.

When in doubt, you should opt-out

Every system acquires features over time. That is good of course. Those features make the system more powerful and easier to work with.

But among the good features there are usually a few that don’t feel quite right. That don’t really fit into the design of the system. You can do them of course. You can do anything.

But usually it is best not to. Most of the time when I have added a feature that didn’t quite feel right, I have regretted it later. In retrospect it would have been better to try to find a different way of doing what the users wanted that was more natural to the ideas behind the system.

An example: Users of Flow wanted some way to specify the order in which events were triggered, when multiple connections are connected to the same Out connector. This is needed in some situations, for example you may want to make sure that a unit is spawned before it is used.

In the old version of Flow, this was implemented with a context menu on the connection where you could select if it should be a “Do First”, “Do Last” or “Do Normal” connection.

This solution never felt 100 % right to me. It was hard to find a good intuitive way to visually represent the “Do First” and “Do Last” connections, and as a result the Flow graphs became harder to understand.

In retrospect, it would have been much better to avoid this feature and wait until I had come up with the more elegant alternative: a sequence node that triggers each of its outputs sequentially:

Be explicit or you’ll miss it

Writing code where a lot of things happen implicitly feels great — to begin with. It is amazing how much you are able to do with just a few lines of code.

But in my experience, implicit code almost always ends up more costly in the long run. It is harder to understand, harder to debug and harder to change. It tends to lock you down in a “local minimum” that can be tricky to come out of.

In Flow, a lot of things are done implicitly. The definition of a Flow node is just a simple C# class:

  public class AnimationEvent : Node
      public InVariableUnit Unit;
      public StringVariable Event;
      public InEvent In;
      public OutEvent Out;

Through reflection, Flow finds out the members in the class and their types and automatically generates Flow nodes for them. This process involves some ugly string processing (bad decision #1), such as stripping In and Variable from the type name to find the underlying type of members. Reflection is also used to serialize the graphs.

While it is nice to be able to express a node so concisely, there are also a lot of problematic consequences. For example, since the class names get serialized, we can’t change the names of classes or properties without breaking the ability to load old files. Also, we have to use some really ugly C# hacks to make sure that the reflection system always returns the members of a class in the order they are declared in the file (so that we can control the order of the connectors).

In retrospect, it would been much better to avoid all this clever reflection stuff and instead just define the node types in configuration files.

Avoid the road of complex code

There is some code that needs to be complex, because it is dealing with fundamentally tricky stuff (like computational geometry) or because it needs to run really, really fast. But in all other cases, complexity is just a cost.

If your code starts to feel complex and hard to keep track of, it is a sign that you are probably doing something wrong. And if you are not careful, you may lock yourself in, so that when you write the next version of the system, you have to recreate all that complex behavior in your new, simpler system. You have to deliberately make your code uglier.

The old version of Flow had a way of “folding” nodes. You could select a number of nodes, group them, and then “fold” the group, collapse it to a single node.

The system had a lot of really hairy code for dealing with this. The code takes a bunch of nodes and creates a new node from them, with connectors matching only the external connectors of the collapsed nodes. it also keeps track of the internal nodes and their connections so they can be recreated if the node is later “expanded”.

As you might imagine, this was complicated further by the need for connector names to be unique (see bad decision #1), which meant that some of the external connectors in the new node had to be renamed (since they could come from different internal nodes that had connectors with the same name). So a mapping table was needed to keep track of these renames. Obviously a bad idea, but once you have started down the path of wrongness, it can be hard to turn around.

The new version handles this a lot better. Collapse and expansion is just a visual feature. There are no new nodes created and no other strange things happening to the data, the visualizer just chooses to draw the data in a different way when it is collapsed. In retrospect, that is a much better choice.

That is all, four simple lessons
  to guide your future coding sessions
  now let your code be light and merry
  until its time for Charon's ferry

This has also been posted to The Bitsquid blog.

Using the Internet for free-samples gaming

Original Author: Colt McAnlis

Business /


Why Free Samples Work

Every week or so, I walk into my local Costco and talk to Meredith, who politely offers me a taste of whatever food she’s providing free samples of that day. Luckily for me, last week was chicken nugget week, and Meredith’s food cart was conveniently standing in front of a huge display of chicken nugget bags. Within 4 feet, I could try the free sample, and if I liked it, grab the bag to purchase.

Costco has used the free sample approach for as long as I can remember, because they understand the need to entice shoppers to new products. Shoppers generally walk into a store with a shopping list, and they are numb to discovery of new products that are not on their list. This lack of interest makes sense from a consumer standpoint: Why should someone invest money in a new product that they know nothing about, especially when their old chicken nuggets taste just fine? purple cows:

Consumers don’t care about you at all, they just don’t care. Part of the reason is that they have way more choices than they are used to, and way less time; and in a world where we have too many choices and too little time, the obvious thing to do is ignore stuff.

Game development today is dominantly focused on mobile, and with a total app footprint topping 1.4 million, it’s safe to say that most users have too many choices and too little time. This is why mobile app stores are so fervently fought over: They tell users what to pay attention to, and without that prompting, apps can easily languish.

The question for you as a game developer, then, is how to get noticed in these ecosystems and make your app rise above the noise. In this context, many developers have come to the realization that cost is an added barrier to entry. This realization has led to the development of shareware roots. The proof is there: Users are more willing to try something if it’s free.

As a game developer, then, you should be providing free samples of your game, not just in app stores, but to every human on the planet. For years, game developers have focused on making their apps available on as many platforms as possible. Digital distribution services do offer an opportunity to provide a free version of your content, but silo barriers still filter out many of the potential users that would otherwise seek to discover your content. Supporting multiple platforms also comes with an implicit resource cost, which at some point raises the issue of Region of Interest.


The Ultimate Free-Candy Platform: The Internet

As a platform, the web provides an unbounded opportunity for game developers to reach out and engage with potential users. The viral nature of the Internet hasn’t diminished with time; in fact it has accelerated. Consider as an example the launch of the game 10000000. Eli Hodapp, the editor-in-chief of TouchArcade, quickly found and fell in love with the game. As was reported:


The speed of all this is remarkable: It only took a few hours for the community to begin talking about the game, which alerted Hodapp to its existence, and he gave it a shot and played through the day. His review went live that evening, less than 12 hours after the game had been released, and before anyone else in the industry was aware of it.

Hodapp then went on to quickly tell his friends about the app, even buying some a copy so they could try it.

research study that analyzed how mobile users discover new content. Not surprisingly, the two dominant sources through which users found out about new content were social channels and friends groups; on-mobile stores were in 3rd place in the study.

This trend has been confirmed by other studies as well. Google’s own case study showing that game players are more attached to the web for their discovery/purchasing options. They also retain the connection to the web post-purchase, looking to extend their experience through multiple channels.

As an industry, we’ve seen web-based success stories play out frequently. Minecraft started as a $700k in user-contributed funds to help finish the game (a task done way before Kickstarter was around).

The HTML5 game case study shows that the web version of their game not only generates revenue, but also gives them the ability to leverage the reach and ease-of-discovery aspects of the web to help drive users to the mobile versions of the game.

Other games, like Don’t Starve, have taken advantage of the web’s reach and ease-of-access to offer early beta builds of the games to a large user base, iterating and making improvements before doing bigger launches in other digital distribution locations.

And on a personal note, I quickly backed funding support for lightweight version of it in HTML5. Which I highly suggest you do too.


How to Make Free Candy

Creating a web version of your game is not an easy engineering task, but it’s far from impossible. Modern web technologies are easily capable of running high quality games in a browser. With a little effort you can put those technologies to work for you.

Overcome the Language Hurdle

Converting C++ to HTML5 is one avenue that simple 2D games like emscripten, which help maintain a game’s look-and-feel while providing decent performance.

For more complex games, you can use new technologies like Lara Croft and the Guardian of Light is one example of a full console game that runs right in Chrome—Native Client let the developer leverage their existing code and content in their migration to the web.

Native Client eliminates the need for users to install anything.

New languages like C++, Objective-C, JavaScript, and Flash. With Haxe, you can write your entire game in one meta-language, and generate platform-specific builds as you see fit, each one optimized for performance and features post-Haxe-conversion.


Optimize for the Web

Once you’ve addressed the initial issues in creating a web build, you must make sure that your game translates over to a web experience properly. Specifically, make sure that you:

Once your game is live on the web, make sure that you allow users everywhere to experience it, and give them easy and incentivised means to share the game with their friends.

Most importantly, make sure that you take full advantage of your web presence by adding collect information about how users play your game. With that type of information, you can gain enough statistical data to determine which design elements in your game work, which ones don’t work, and which ones do the best job at funneling users from free-candy samples to premium  purchases.


Start Making Candy!

The Internet is all about free content, social channels, and going viral. By using a few key pieces of technology, you can quickly generate a web-based build of your game to help drive user adoption and provide a base platform for marketing and viral social media. Give users some free candy, and they will happily buy the Kobe steak.

Marketing Outside the Box

Original Author: Alex Norton

So, as an indie developer new to the scene, the thought of marketing my game has proven to be a daunting one. There are many avenues for marketing available through third parties, but indies rarely have the money for that sort of thing.
posts before have gone into the various ways in which an indie can get their product out there on the cheap, but I want to talk about going a little bit deeper, and tell how you can use gamer psychology to your advantage to do a lot of your marketing for you.

But before we go into that, the first thing that an indie developer really needs to do is to have their product displayed in as many places as possible. When starting work on BlogSpot account and did all of my updates on there. Guess how many people cared? None. And why should they? How could they even FIND the blog unless they were told about it?

Take a search engine like Google. It has a “crawler” that goes around the web, finding pages, and finding all of the links on those pages. It analyzes where the links link to, and finds which pages have lots of links heading to them. If a page has hundreds of other pages linking to it, and lots of visitors, then it must be important, right? Well, to make your game more visible, you need to have lots of people visiting your page – a bit of a catch 22 – but you can help it by having a presence in many different places. Oh, and good news everyone… The Internet has many, many viable, justifiable places where you can put your game on show.

For Malevolence, the first big step after BlogSpot was to create a profile on ModDB (creating a profile on one creates one on other other, too). They get quite a lot of traffic on there, and it will actually rank your game against others (a library of about 6000 games) in terms of how much traffic you get. It also rewards your dedication to the public by putting you on the front page whenever you write up a new update post. Given the way it works, and the attention that it gets, it’s very much worth taking the time to make your profile page attractive and thorough. That’s where a bit of the psychology comes in. I have noticed that gamers who browse ModDB for new indie games are a little bit like channel surfers. They flick through profiles quickly – bam bam bam – until they find one that appeals to them very quickly, and then they’ll stop and take a deeper look. So having lots of nice, bright screenshots, thorough videos and lots of clear, solid information about your game readily accessible for them will entice them to stay and take a proper look at your game.

Once you notice that you’re getting more traffic, you can make a move towards putting links on your IndieDB/ModDB profile to other networks that you’re operating on. Some examples of which include YouTube channels, Facebook Fan-pages, Twitter accounts, etc. Any and all are good. Just be sure to make the links subtle. Some nice clean icons, perhaps. Gamers, I have found, dislike feeling like they are being bombarded. Do some research, take some time, look at successful pages and the way they’ve done things. It pays off.

The social media avenue was the next step for me with Malevolence. It started with a YouTube channel where I would make a point to do screen-captures fairly regularly showing the progress of the game’s development. Many people either don’t enjoy or don’t have the time to sit down and read lengthy blog posts (he says in a lengthy blog post) and a nice, quick video can get the whole point across much faster and with more of a sense of interaction. Even taking the time to narrate the video can easily double or triple the amount of information translated in the same time frame. Things to think about there.

After that came the Twitter. I actually expected these to be the most active of the network avenues for promoting the game, but in the end they fell into roles of keeping CURRENT fans up to date, and didn’t really do much to draw new fans. Though it seems obvious now, it took me a while to work out why this is. Most people on Facebook and Twitter these days use them on their smartphones, rather than their computer. While it IS possible to go browsing for new content via the smartphone interfaces, they are much more designed to just keep up with what their already follow. That’s not to say that you can’t still make use of these avenues though, as they offer quick and easy mini-update portals for you to address your current fan-base en-masse, and quickly spread links to any major blog updates you do elsewhere.

For the longest time, Steam was one of the holy grails of indie games “making it” and a profile for Malevolence on there thinking “wow, I might be in for a chance”, and things went fairly well for a time, but then started petering off quick quickly. Valve kept altering and adjusting the vote process for getting games approved and it was quite drastically affecting my game’s ability to get noticed on there. It’s been quite frustrating until it got me thinking… How WOULD you make an unbiased system for gauging a game’s popularity in the middle of a firmly established community of over 50 million users? The more I think about it, the more complex it becomes in my head. Sure, I have lots of problems with the way the Greenlight process works, however, since I can’t come up with a better one myself, I’m happy to leave it up to them to sort out. I’ve had many heated discussions with fellow developers about how the system should work… Mainly about the apparent pointlessness of having a “no vote” button (which I’m sure will create some lovely ‘discussions’ in the comments) however, as I said, I’m happy to leave the process up to Valve, as they would certainly know best. Of all the networks I’ve gotten Malevolence onto, that’s the only one that hasn’t really gone anywhere yet. As the owner of it I can watch the percentage of votes go up and down, and I can’t really make sense out of it, so I’ll just keep doing what I’m doing and hope for the best. The only advice I could give to other indies attempting it would be to make sure that all of your avenues (Facebook, IndieDB, dev blogs, etc) point to your Greenlight so that you can funnel as much of your traffic into it as possible.

HOWEVER, all of that only depends on how badly you want to get onto Steam. I’m aware that some people don’t. Some because they just don’t like how Steam operates, others because they’re making mobile games and it’s kind of useless to them. I, personally, am trying to get on there, but that doesn’t mean that everyone SHOULD.

But I digress. What about the psychology mentioned earlier? Well, that is where your marketing plan comes from. Just sticking your product on some blogs and social network sites isn’t really a marketing plan. It’s just a means to give your game a ‘presence’ on the Internet. A solid presence is a powerful thing, but it takes constant maintenance. It’s not something you can set and forget until you have a large, strong, dedicated community to do it for you. As an indie, that’s just not something that’s likely to happen straight up, so it’s something you’re going to have to do yourself. KEEP your blogs updated. RELEASE lots of screenshots. RECORD lots of videos. ANSWER lots of questions, and above all, MAKE SURE that your community is reminded regularly that you are still working on your game, lest they lose interest.

But what about expanding your community? That’s where your marketing plan comes into play. You’ve got your presence sorted out, you’re maintaining it well, but how do you bring new people in? That, in itself, depends on many different things:

TARGET AUDIENCE: What is the target audience for your game? You can’t just say “gamers” because not all gamers like tower defence games. Not all gamers like FPS games. Not all gamers like RPGs. And then, even within the types there are sub-types. In the RPG player genre there are gamers who like first person RPGs, but don’t necessarily like isometric RPGs or turn-based RPGs. So it’s a matter of specificity. Take the time to work out precisely what your target audience is with your game and market mainly towards them. There’s not much use in wasting energy trying to talk to people who aren’t interested in listening!

ANALYZE: Take the time to analyze the way your target audience acts. Do they talk amongst themselves? Do they operate vocal communities? Is theirs a community of sharing, or of bragging? As an overly abrupt stereotype, FPS gamers tend to have communities that are much more vocal and aggressive than communities of RPG games. I realise that’s a massive generalization, and it is most certainly not ALWAYS the case, but if you look into how the communities of your target audience operate, you can use it to your advantage when creating your marketing plan.

ACT AND REACT: As an indie, much of what you learn, you will learn on the fly. If you make a marketing faux pas, you will learn about it pretty quickly. Try not to be too stubbourn about things. While it can be trying at times, an indie game without fans/players, is nothing. It’s like owning a coffee shop that has no customers. Don’t be too hard-headed to change the way you operate if it’s something small and it keeps people happy. You need to be adaptive, you need to listen and you need to communicate.

So, with these things, you can create your marketing plan. As an example, my marketing plan for Malevolence was to make use of the RPG communities idiosyncrasies. I did my research, joining forums and following blogs, doing the whole Jane Goodall thing and “living with the apes” so to speak (not calling RPG players apes, by the way. Just using a metaphor) and I found that a common trait among them is that they are excited about indie RPG development and will quite often share links to interesting indie RPG projects that they find. BUT, at the same time, while there is a lot of link sharing going on, there isn’t much response to it. Many RPG forums will have an entire section just for sharing indie RPGs that people have found. These sections are often filled with lots of posts with links, but the posts won’t often have many responses. That doesn’t mean that people don’t follow the links, but it means that there is more excitement about sharing the links than there is about the games themselves. RPG fans seemed excited about the IDEA of new RPGs, which is cool.

I made a note of this and built my strategy around it. I planned to start my marketing push at the same time that Skyrim came out. Sounds crazy, right? Well, there was reason behind my madness. I started pushing the links to my various blogs, etc, on forums and other hubs while people were busy getting fussy over Skyrim. The community saw my links and shared them around, but, as expected, not much action happened other than the spreading of the links. Because of this, there ended up being many, many sites with references to this infinite indie RPG. As it spread, more people heard about it, but they didn’t focus on it because… Hey… Skyrim… But that was precisely my plan.

The excitement over every game, no matter how groundbreaking the game was, eventually wears off, and once the attention for Skyrim had started to dim, I was in the position where links to my game were ALL OVER the Internet, and a vast portion of the RPG community had heard something about it. Even if they couldn’t recognise it by name, when someone mentioned “Have you heard about Malevolence, that infinite indie RPG being made” more often than not they would be met with a reaction of “I think I heard something about that, yeah… Can’t remember where though.”

This is where the psychology of my marketing plan came in. Having another person bring it up makes them remember seeing it somewhere which inspires them to look for it again. They hit the search engines and start typing in the word “Malevolence” since they have no idea how to spell “Ahkranox” and, since I have made an effort to have a VERY strong web presence, they see this:

They barely have started typing the word Malevolence, and it shows up. Marketing plan complete. That being said, they may go to the site, look at it and hate it. I unfortunately can’t help you with that. Marketing is one thing, but your product still needs to stand on its own. I was lucky enough to have this strategy work quite well for my game, but sometimes even the most well thought out strategy will fail. Not having a strategy at all, however, will pretty much guarantee that you’ll fall short, so start early!

But that’s where I’ll leave off, I think. In conclusion, when marketing your game, you need to take the time to establish a web presence, develop a marketing plan based on research and analysis of your target audience and attention to detail when looking into the psychology of the way they act as a community. Stick with it. If you believe in your game strongly enough, you won’t have too much difficulty in translating that to your viewership!

Game Mentor Online

Original Author: Lisa Brown

I have discovered that I have a passion for helping students and aspiring game developers learn more about the industry. Part of this is because I occasionally feel like I stumbled into this career, and feel compelled to educate young people about game development in hopes of inspiring other people who were like me (potentially saving them 8 years of figuring out what they want to do with their lives).  So far, my favorite outlet for student outreach has been Game Mentor Online, an online service that matches up aspiring developers with industry professionals and facilitates one-on-one mentorships.

About the Program

Game Mentor Online is an initiative that was kicked off by Women in Games International.  Originally concocted by Karen Clark and Sheri Graner Ray in 2006, its first form was a mailing list where mentors and mentees were able to link up and communicate.  The program was able to raise funds with the help of the IGDA Women in Games SIG to convert to an online mentoring software solution, which is how it has appeared since 2011.  Game Mentor Online is entirely volunteer-run and donation based.

We have over 100 proteges and more than 60 mentors from all over the world, and we’ve had more than 100 mentor-protege pairings since moving to the new system

-Karen Clark
GMO Admin

The main function of the site is as a sort of matchmaker, trying to pair up mentors and mentees, though there is a community area with member-posted articles and questions from proteges that any mentor can answer.  As a freshly signed-up mentor, you first fill out a profile with your skills, discipline, experience and match preferences (such as how many proteges you would like to mentor at a time).  It is the responsibility of the proteges to search through available mentors, though the system does suggest potential matches based on your profile information.  A protege will then contact a potential mentor, and the administrators can set up the mentorship.

Once a match is made, a mentoring area is created on the site for the connection, where you and your protege can post messages to one another and set goals.  At this point it is up to the two of you to decide how the mentorship will proceed.

My Experience

TRACED, a hacking-themed game, is my protege’s side project

My protege is an aspiring designer named Kaylin Norman.  He and I plan to meet and chat about every 2 weeks, give or take depending on both of our schedules, where we dedicate at least an hour to chat over Google Talk.  These sessions can range broadly in topics, but it can be anything from answering “Day in the Life of” questions, helping with his resume, giving feedback on his game projects, discussing design tips, and answering any question that Kaylin might have encountered in his most recent game design adventures.

How often and what form through which you mentor your protege is decided by both of you depending on your particular circumstances.  Some mentor/protege pairs prefer to do regular Skype sessions while others carry on their mentorship primarily through email exchange.   It’s very flexible, and the online site serves mostly to facilitate the mentor relationship and get it started in a natural direction.

What you bring to the table

Mentoring a student has given me a lot of insights of how much knowledge I have gained (and subsequently taken for granted) since working in the industry.  There have been several times in a discussion when I would answer a question or make a suggestion of something that had become so commonplace to me that I assumed it to be common knowledge, only to find that it provided an amazing insight and learning point for my protege.

Besides your own experience, you also indirectly provide your protege the advantage of your professional network.  A few times Kaylin has had a question or had a situation that I wasn’t sure I could give a lot of information on from my own experience, so instead I would take the question to my other friends and colleagues in the industry.  I’d often return to my protege with responses from multiple industry veterans that he would find invaluable to his own development as a designer.

As far as what you can get out of mentoring relationship, I’ve found mentoring Kaylin to be incredibly rewarding.  It’s made me very proud to see him grow as a designer, see him achieve academic goals and watch him work towards others.  On days where my job has been trying or I’ve been frustrated by a design problem, chatting with Kaylin and seeing his enthusiasm about design and hearing how he is progressing proves to be quite renewing.

A Growing Program

Game Mentor Online in its current form has been around for 1-2 years, and one of their most admirable traits is how open they are to feedback about the program.  Any time I’ve had a suggestion, the administrators have responded promptly with a plan on how they could incorporate the feedback.  They are very passionate and eager to grow and improve the program.

As I mentioned before, Game Mentor Online is very good at facilitating the beginning of a mentoring connection by providing a formal structure through which the mentor and protege can find their footing with one another.  But it seems to be common for pairs to move to other more standard means of communication once they establish a relationship.  I think this is certainly a good thing, but it does mean that the population that actually interacts on the site appears to be kind of low.  There are occasional articles, links, and questions posted in the community areas of the site, but the activity there is minimal.

I don’t think this trend is necessarily a bad thing.  Afterall, if mentors and proteges are finding more natural ways of carrying out the mentoring relationship, that means the site has done its job of kicking off that connection.  However, it would be good to grow the culture of mentors posting articles and proteges posting questions to create value for proteges on the site who have not yet been connected to a mentor.

Tips for Mentors

If you decide that you’d like to mentor an aspiring developer and sign up for Game Mentor Online, or any other mentoring program, here are a few tips I’ve picked up along the way:

  • Communication of expectations is critical.  When you get started, make it very clear what kind of time you’ll be able to commit.  Encourage your protege to share his or her expectations for what they hope to get out of the mentorship and be honest on how you think you can help fulfill those expectations.
  • Be really specific about times you are available.  If you start a habit of chatting every two weeks, and then something comes up that may disrupt that pattern (like a conference or a big milestone), let your protege know early so they can expect the change.  If you have to miss a session or expect to be late, inform your protege as soon as you can.  Establishing and maintaining trust is really important for a good mentorship
  • Don’t hold back sharing experiences or stories because you feel they are mundane or routine.  What your mentee may not know may surprise you, and you probably have a lot more to offer than you realize.
  • There is some element of luck of the draw as far as your compatibility with your protege.  I was extremely lucky in that Kaylin and I forged a strong connection right off the bat, but it’s possible that you and your assigned mentee don’t click. I would advise not to get discouraged and to keep at it.  The default length for a mentor connection is 4 months (though you can extend it for as long as you like if you and your protege are hitting it off) and the next protege you get paired with could be a completely new experience.
  • Meanwhile, the program has an FAQ for proteges to get an idea of the frame of mind your mentee will be coming from when you get matched.

Other Opportunities

I love Game Mentor Online because it is easy and convenient to incorporate into my busy designer life, and because I feel very comfortable with remote communication.  But there are other opportunities in our industry that I’d recommend checking out if you are interested in mentoring.

  • If you like to do your mentoring face-to-face, check out the IGDA mentoring program, where professionals are paired up with IGDA scholars at GDC, E3, and other industry events.  You can go to talks with your scholar, meet up and discuss different talks that you’ve seen, answer their questions in person, and introduce them to a greater professional network.
  • MentorNet has a similar online structure to GMO, but is more generalized for engineering and tech careers and students.  I found I didn’t have as prosperous a mentoring experience here, but part of that could be that I didn’t click with my mentee there in the same way as Game Mentor Online
  • Schools and educational institutes might have opportunities  to connect you with a student that you may be able to help.  Some schools have alumni networks for advising in career services, and sometimes it’s as much as emailing an old professor to say you’re available to answer any student questions about game development.
  • LinkedIn’s Video Game Careers group has a lot of student posters and is very active .  It creates a lot of ways to give feedback to students by reviewing portfolios and giving feedback for their projects – a good way to advise and help many students in very specific ways versus a single relationship with one person over time.

If any readers know of other good mentoring opportunities, please let me know in the comments and I will add them here!

My Protege’s Perspective

I asked Kaylin if he would like to write a bit about his perspective on the program as a mentee.  Here is what he had to say:

For the longest time, I’ve been teaching myself the aspects of game design from a young age, unsure of whether or not I was forging down the right path to reaching my goal of working in the games industry. Living within the sheltered life style that I did live in, television and the internet were the only mediums I had to explore the games industry, or at least what I had perceived to be the games industry at that time. With game schools posting commercials exploiting starry eyed aspiring developers from their funds by making them believe that the industry is this “easy place to carve out a name for yourself” along with the exclusivity of access to developers of any established company, from small studios like 5th cell and Flowplay all the way up to 343 Industries and Bethesda, there was no one in my life to tell me how the game industry really functioned and what the experience was like, until that one defining moment when I got the message the hard way –from a veteran who was very disgruntled with my misguided passion.

Upon meeting Lisa through Game Mentor Online, I’ve been not only enlightened about the experience of working in the games industry, but also how to think and act like a game designer—a crucial yet often taken for granted thing when the majority of students already have a network with other designers in the industry. Because of Lisa and her connections, her willingness to answer my various questions, show me certain processes that I would otherwise have to learn through private schools and simply helping me when I’m in a hard spot, I’ve transformed from a shy sheltered boy to a confident designer. Her feedback was crucial to getting my side project—TRACED off of the ground, Without her overall input over the concept and her introducing me to the process of play-testing, concept documentation, etc. I would have never managed to find the three other teammates I have working on this project and keep them working on this project for a full year.

Game Mentor Online and my mentor/protégé relationship with Lisa have transformed my thinking! I would recommend it to all of my aspiring friends who want to also become game developers some day! I’d rather get it from the professionals rather than school commercials!

– Kaylin Norman


I know that our lives as professional developers are extremely busy, but we have so much that we can offer to the next generation of developers.  Game Mentor Online’s flexibility and online focus is a great opportunity to connect with a student in a way that can fit into a very full game dev life.  Even if you are new to the industry, you still have more to offer to an aspiring developer than you may realize.  If you could spare as little as an hour a month to connect with an ambitious, excited, and curious protege, I suspect you may come away from the experience feeling inspired and renewed.