Friday, December 23, 2011

Learning to Program

I just finished teaching the senior seminar in Advanced Game Design at Digipen University here in the Seattle area.  For those who do not know, Digipen is an accredited four year university that offers BS, BA, and BFA degree programs.  The unique thing about the school is that they focus the curriculum and career counseling entirely around the video game industry.   Now that the class is over, I have been thinking about how to teach game design to the current group of students.

When I first accepted the Digipen position, it had been several years since I had taught anything, but I actually have a long history of teaching.  The first job I ever got a paycheck for - back in 1983, when I was only 15 - was teaching computer programming to kids.  It was considered peer instructing.  Classes were taught on the Atari, in Atari Basic, and mostly involved PRINT, GOTO and FOR/NEXT as I recall.  In the advance class, I also taught video game programming.  You couldn't do much game-wise in Atari Basic, but I did have them make a little ASCII tie fighter (|=0=|) that was chased around the screen by two  space mines (*).  It was simple, but it had all the basics.  Reading user input, updating the enemy, detecting collisions, keeping score, and the notion of levels.  A week of classes for a kid was around $40, I recall, taught at the local computer store (EBM).


This was enough to make most kids happy, but some kids really wanted more.  Unfortunately, doing more on the Atari meant jumping into 6502 Assembly language.  There was no such thing as C or other high level languages at that time so it was assembler or nothing.  And for kids that merely wanted to move some sprites around the screen, learning the ins and outs of accumulators, registers, display lists, ANTIC, CTIA, and so forth was way too much of a wall to scale.

I didn't have that problem.  My life in computers started at a much lower level indeed.  My first computer was a Bell Labs CARDIAC.



The CARDIAC was a computer made entirely out of cardboard.  In fact it wasn't much of a computer since it essentially used YOU as the CPU, and you programmed it by first writing and then decoding machine code yourself.  I am not sure how old I was when I got it - probably like 8 - but I know I loved it.  I actually created a tic-tac-toe program for it, which I would be willing to bet is the most complex program ever created for this "device".   I remember spending weeks trying to figure out how to "encode" the state of the tic-tac-toe board, and that first amazing rush when I came up with an encoding which worked not only for storing the game state but which could also support the game logic.  That was probably the thrill that led me to continue my pursuit of programming in the first place.

I begged my parents exhaustively for a computer, and eventually I got my wish.  My dad bought me a HeathKit ET-3400 microprocessor trainer.


Because this was a HeathKit, the first thing I had to do was solder all of the pieces together.  I got this for my 4H electronic projects, so I was meticulous with my soldering.  I remember when I entered it into the local fair, one of the judges thought that it had been soldered by machine!  I was very proud.

You programmed the HeathKit by entering the machine code instructions in Hexadecimal using the keypad.  It sounds almost crazy now, but this was so much more high tech than the CARDIAC that I was in heaven.  After getting all of the self-tests and everything working, the first thing that I did was write a program that would like the user enter any two numbers and present the sum of them.  I proudly showed it to my Mom and sisters and asked them to try it.  My first sister entered "16" and "34".  She was not impressed when the answer came back as "4A".  Apparently she was expecting "50".  I quickly tried to explain hex vs. decimal, but the moment was lost and she wandered off.  My mom was still a good sport and suggested "200 + 100".  I quickly converted to hex (C8 + 64) and entered them for her.  The answer came back as "2C", which I translated to "44" for her.  Again, she was not impressed and was apparently expecting more like "300".  I again quickly explained that the maximum number I was displaying was 255, and anything more than that would wrap around again.  300-256 is 44, so the answer was correct!  Again, the moment was lost.  My mom smiled in a sort of pleasant yet distant way and went about her work.  In the years and decades to come, I would see that smile many more times.

I guess I am thinking about all of this now because I wonder what it is like for kids nowadays who want to use computers.   On the one hand, it is so easy now to get something on the screen.  There are lots of tools - from Kodu to Codea - that let people make games with little or no programming.  No more sweating over the hot assembly language.  But when it is so easy to get beautiful graphics on the screen, are people still going to be motivated to learn how things work under the hood?

Since those early days at EBM, I have taught many students in a variety of different roles.  In working at Microsoft Research, I would often teach classes in interaction design or game design for students in China and Japan at a variety of Universities.  I rarely found a student who had a deep understanding of how computers worked.  That is, how you can make a machine that can compute something.  For all intents and purposes, it is all just magic to them.  I even meet many supposedly hard-core computer science graduate students that cannot describe how to make a full adder out of logic gates, or really explain how a computer can talk to another over a wire.

The real question is - does it matter?  We can accept that a composer does not need to know how to play an instrument, or that a pianist doesn't need to know how to make a piano.  But does a pianist even need to know how a piano works?  I honestly don't know.  It bothers me when I see people who spend all day working on computers but who fundamental treat them as magical devices.  But a lot of people treat flush toilets the same way.  Does it really improve the experience to know how the sewage collection and treatment system works in a major metropolitan city?   Does it matter for the user?  Does it matter for someone creating a better toilet?  Perhaps not.

Japanese are way more advanced than us in the toilet department


But perhaps so.  I mean, people with more knowledge of the sewer system probably use less water.  They probably are less prone to dump harsh chemicals or strange objects down the drain.  Maybe it just makes them more responsible.  Maybe you need to have a deep knowledge of the sewer system to design a better toilet.




Thursday, December 15, 2011

The Protector Universe

For the last decade or so, W. and I have been kicking around the idea of a massively multiplayer game designed for female players.  The high concept is that most traditional video games are designed to appeal to the base instincts of males - killing things, gaining power, and collecting treasure - and have been very successful as a result.  Most games targeted to females, however, have tried to pursue their noble qualities -things like cooperation, art, and nurturing.  I think this is one of the major reasons that these games have failed.  What if instead we designed a game for the base instincts of females?  With this thought in mind, I started working on a game where the primary gameplay involves looking beautiful, gaining the attention of high-status males, and stabbing your friends in the back.  Our working model for the game is "Protectors" - named after the high-status males whose attention - and whose protection - you are pursuing.

I will discuss the gameplay in more detail in future posts, but for today I wanted to share some of the work   I have been doing on the background environment for the world.

Genesis of a new World
Originally my plan was to set the game in the modern world.  This seemed easy if for no other reason than there is a lot of content all around us to use.  In addition, a modern setting has the potential to have tie-ins to the game for real products.  I mean, maybe gucci would want to place some paid content into a world that is based on fashion, right?  But there is a problem:  the modern world is no longer a place where females can pursue female power.

This is not the feminine mystique I had in mind...


Now when I say "female power", you might think that women have never been more empowered than they are now.  And if by "empowered" you mean able to have freedom of choice and opportunity in their lives and have personal control over their destiny, than you would surely be right.  But while feminism has been fairly successful at this, it has done so at a tremendous cost to the sort of female power I am talking about - what we might call, the power of the purely feminine.  One of the ironies of feminism is that it really just allows women to act like men.  They can take care of themselves, have jobs, and be the man of the house.

But what about a woman who doesn't want to work?  Who wants a male to take care of her?  This is just no longer culturally acceptable.  To be fair, the pampered and powerful female has always been something of a myth - not unlike that of the Rambo-like uber-warrior.  But with feminism, it seems that even the aesthetics of this have fallen from favor.  Just compare the girls in the James Bond movies from the 60's with those of today.  In the 60's, girls were delicate objects of beauty that needed protection.  Nowadays, the woman act just like the man - shooting guns and doing kung fu.  There is no place in modern society for the sort of female fantasy I wanted to pursue.

So I started looking at historical periods to see which of them might be the best match for this.  I considered many - from ancient China to French Court - but in the end there was not a good match to be found.  Each period had some advantages and features but just as many disadvantages.  Was it really the case that history had more periods that leant themselves to male fantasy than female?

That was when it occurred to me there was also no good period for male fantasy.  That is why most of the video games are not set in real times, but are in fact in some alternative universe that is more suitable towards this sort of extreme role-play.  Games like World of Warcraft or Lord of the Rings take place in earth-like fantasy worlds populated by elves and dwarves, by dragons and ogres.   Even if they are like other places or based in real places, there is still a tremendous amount of fantasy added in.



This fantasy is important in another way.  It establishes a morality and a set of social norms that allow for "heroic" action.  Whereas in real life killing strangers and robbing their corpse would be unimaginable, in the world of the game such things are rewarding.  This lets the males fully indulge their fantasy without feeling guilty or fearful of judgement.

With this insight firmly in mind, I began to develop a new sort of mythic fantasy based on my notion of female fantasy.

The World of the Protectors
Like Tolkien and many others, I based my world on an exaggerated extrapolation of our own.  Since I already studied world history looking for different aspects of feminine power, I already had many of the components.  I just needed to composite them together into a single form.

For my basis, I took our current world with our approximate current land masses and countries, but moved them into an alternative universe.  This could be a parallel universe to our own, or it could be our world but a thousand years in the future, where some things have advanced but others have gone retrograde.  I actually prefer to think of this latter case, but there are advantages to leaving it ambiguous.

In this new world, most of the countries have collapsed, leaving 8 large nation-states:


  1. The Tang Dynasty - being present-day China.  Their core value is perfection, and they will spend enormous effort for the ultimate piece of silk, porcelain skin, or perfect way to prepare a cup of tea.
  2. Neogami - being present-day Japan, Korea, and some Southeast asia.  Their core value is technology and the power that comes from controlling it.
  3. Saint Stephan - being Russia and most of Central Europe.  Their core value is occult power.  They worship deities that are ancient and secret.  Here is where you find bondage and discipline, witches, warlocks, and vampires.
  4. The Trade Federation - being most of Africa, India, and a few other areas.  Their core value is wealth and making deals, and nothing is worth more than a beautiful woman.  They have an elaborate caste system which makes everything more complicated.
  5. The  Nöords  - being northern Russia into the Arctic, Norway, etc.   Nöords are the magic users of the world.  They keep mostly to themselves in their frozen domain, where their perfect the study of anima - a strange kind of nature magic.
  6. The Merovingians - being most of western Europe and England.  There core values and chivalry and wit.  This is an area filled with Kings and their courts.  Being well-educated with sophisticated taste and razor wit is crucial if you want a seat in the parlor.  
  7. Valenti Style - being most of Portugal, Spain, Italy, Greece, and Morocco.  Their core value is fashion, and the power in this area is in the leading fashion houses which create almost everything people see, hear, read, watch, and wear.  Life is a party and anything goes - as long as you don't do it wearing anything from last season.
  8. The Holy Kingdom of God - being most of North Africa, the middle east, and swatches of Southeast Asia.  The core value here is the Will of God, which dictates everything else in life.  They practice a single religion called "the Faith"which is the supreme power in the country, beyond any secular institution. 
Here is a loose sketch for reference:



Each of these regions has its own history, culture, fashion, and morals.  Each also represents a different aspect of feminine power.  Just like in World of Warcraft I might have the agile elfs vs. the strong dwarves vs. the clever humans, in Protectors we have the ultra-sophisticated Tang, the playful Valenti, and the earthy women of the trade federation.

Over the days ahead I will share more details about each of these societies - their history and fashion.  Feel free to share your comments and tell me what you like and don't like.








Wednesday, December 14, 2011

Relationship Archeology



A few days ago I got in touch with Q., my former girlfriend from college.  Normally this is not something that I would recommend.  After all, what good could possibly come from stirring up old feelings, especially 23 years on?  But in this case, it was not done out of an attempt to rekindle long-lost emotion per se, but rather to gain some understanding of who I am based on who I was and where I came from.

Lately I had been feeling disconnected from life - closed down and suppressed, and generally without passion.  I knew that part of it was from my job - for the previous year I had been involved with a project at work that was slowly dying from extreme management dysfunction.  And part of it was just moving back to Seattle, which is just a huge step down from the global stage.  After spending most of the previous 7 years in Beijing, Seattle just feels like a provincial backwater.

But there was more to it than that.  Many of the most passionate pursuits I had over the years - from writing to performance to art - were just not there anymore.  I found myself in engaging in fewer and fewer meaningful activities and more and more emotionless time-fillers, such as watching TV or playing video games.

My wife had notices as well - the passion was slowly draining away.  But other than observing that it was happening - that there was a difference between NOW and THEN - neither of us could put our finger on why. The discussion went to when was the time in life when I felt the strongest passion, and that in turn led to those years in college when I was with Q.

Youth is wasted on the young
College of course is an easy time to be passionate.  You are in a new environment, with little in the way of commitments or supervision to direct your emotions.  You are young and full of energy, with nothing to lose and seemingly everything to gain.  Of course, you have no way of knowing this at the time.  It is just your life.  It is like those stories of children growing up in war-savaged lands.  They tend not to think of their childhood as traumatic - it is just their childhood.  They have no other point of reference.  But even taking all of this into account, the relationship with Q. was pretty dramatic.

Q. was my first Chinese girlfriend.  I have since accepted that I have an extremely strong preference for Chinese females, but at the time I had no such notion.  She did seem a bit exotic.  I grew up in Sacramento, CA, which was not exactly a big city.  We had horses and goats and chickens.  Q. was from San Francisco.  She was the first person I ever met who had multiple ear piercings or tattoos.  She had an amazing tattoo on her back of a dragon fighting a phoenix.  It looked something like this:


We had an extremely tumultuous relationship.  At the start I treated her very badly and eventually broke up. Later we got back together and she returned the favor.  Eventually we broke up again, but I maintained a slow-burning lust/obsession about her.   On the one hand, I really felt we had something special.  She had a powerful muse affect on me, and I was sure we could be great.  On the other hand, I couldn't stand to be with her in a relationship.  I wanted more commitment and exclusivity, but she was just not able to be that person.  It was very frustrating, and we were never able to reach a stable state.  She was the inspiration for a lot of poetry back in those days:

Multi-Facet Lust
If I could only touch you
so that it would feel for you
how it feels for me to touch you
then I should

If I could only reach you
so that I could try to teach you
what your touch has taught me
that your destiny is not me
doesn't please me
but it ought to, for it must be
If you could only trust me
like I trust you
which I don't
but I will

And if your lips should kiss me
Maybe I could make you miss me
Like I miss you
which I mustn't
But I do

And if your flesh should know me
and your colors should enfold me
maybe I could thus inspired
be a prisoner of desire
and do things that I must but shouldn't do

In this future that I long for 'til my mind is 'most insane
All our sins they are forgiving but our longing still remains

For after all the yearnings
the mind-games, the enfoldings
the teaching reaching touching timid trust
After all the writings
the rhyming- threaten- frightenings-
Behind them lurks my multi-facet lust

Of course, I was different then as well.  Here is a photo from that time:

Me with my 1964 Impala, around 1990 I think


Later Days
After college, we moved apart.  She still had a place in my heart, I think, although I think it was more like a wound than a room.  Later, when my first marriage was falling apart, I used that relationship for a lot of my own comforting.  Rather than face the terrible emotional truth, I leaned on Q., spending the emotional capital that had been built up in those previous years.  In retrospect, that was a terrible mistake.  Not only did it distract me from dealing with my bad marriage in a meaningful and mature way, it also destroyed whatever meaningful connection Q. and I might have had.  After the divorce I was in very bad shape emotionally, and Q. really was helpful to me at that time, getting me back together and re-finding my worth.  I will always appreciate her for that.

The last time I spoke the Q. was about 10 years ago.  That was after a divorce and an eventual remarriage to W.  I initially tried to keep her as a friend, but at the end of the day whatever relationship we had was not of friends, and was fundamentally incompatible with being married.  Q. was either a 100% or a 0%.  There was no comfortable spot in-between.

Take-Aways
Once I made the decision to contact Q., it actually took a few days to figure out how.  I didn't have an email address or phone number, and she didn't seem to be on any of the common social networking sites.  Eventually I found an old email in an archive and we were able to connect via AIM.

Instant messaging is actually a pretty good format for that sort of conversation.  It is emotionally neutral - not as intense as a phone call, but not as generic as an email.  I talked to her at work over the course of a day, adding another line of conversation when I had a free moment.

In the end, I think it was useful.  I was having some difficulty thinking about what was true passion and what was just my own youthful exuberance or desperate illness.  Based on that conversation, I came up with a few action items for coming out of my emotional slumber:


  • relentlessly pursue what you love - in the name of being practical or safe, I had been neglecting this in a big way.  I compromised my goals in the name of career safety, financial gains, stability, etc.  In the end, I didn't get any of those things either, so it was all really a false bargain.
  • don't shy away from who you are - this was the big one.  W. had mentioned this as well - that I had developed a habit of confusing who I wanted to be with who I actually was.  After talking with Q., I feel that a big part of the passion I had at that time was because I was fulling accepting who I was, and not apologizing about it.  That doesn't mean that you should not change or grow or otherwise work to improve - rather, it is that you must not deceive anyone - inlcluding yourself and those close to you - about where you are now.  
  • stay closer than close - the final insight was that for someone like me, who likes to be "on the edge", it is really important to stay extremely close emotionally to the people in your life.  I think I got in an extremely bad habit of trying to protect W. from the risk of my choices.  Of course, she is with me so this is not possible.  All it did was confuse her and put a distance between us.  Now I have a better sense that the proper action is to understand that wherever I go am I taking everyone with me, and to consider that carefully before taking action.
W. asked me later if she thought I would be talking to Q. again now that we have re-connected.  Honestly I don't think so.  I have more of a sense than ever that the person I was, and the relationship I had, was unique to that time and place.  But we are both different people now, with different lives.   There is no future.  But - to paraphrase Rick in Casablanca - we will always have college...








The Design of the Portal for HadoopOnAzure.com

My team recently released a preview version of our project, an elastic Hadoop service on Windows Azure.  You can check it out here:  hadooponazure.com (you will need to follow the directions to get an invitation code).

In designing the site, we had a few goals:
  1. Dead simple - we really wanted to make it extremely easy to get going.  We know that a lot of Microsoft customers had heard a little about Hadoop but didn't know too many details.  We wanted to get them started running jobs on their cluster as soon as possible.  
  2. Full functionality - At the same time, we wanted to make sure that experienced Hadoop users could access the full power of Hadoop in an convenient manner.
  3. Show our value-adds - Finally, we wanted to showcase some of the value-adds we are providing for Hadoop - things like our interactive javascript and our Hive connector for Excel.
Simplicity is usually achieved by limiting features, so we started by really thinking about what is the minimum # of features we could expose.  This led us to a short list of things:
  • create and release clusters of different sizes
  • create and monitor jobs
  • set up external storage from Amazon S3 and Azure Blog Store - this is especially important for the elastic service.  When a cluster goes away all of the data on the cluster will be lost.  We know people who want to save their data will want to move it to cloud storage.
  • connect to get data in and out via FTP and ODBC
  • make sure their cluster is not out of storage space
  • allow the user to RDP into the head node for any additional advanced functionality
With this list in hand, we quickly built a web service that exposed these functions and connected it to a rough and ugly UI so that we could test end-to-end scenarios as quickly as possible.  This web site was just basic un-styled pages that looked like this:


Doing things in this way allowed us to decouple the web service and back-end programming from the front-end programming.

Once this was done, we could focus effort on the client experience.  A major part of hadoop is waiting for jobs to finish.  So a primary design requirement was to be immediately glance-able.  We wanted you to see how your jobs were doing immediately.  We also knew that we wanted to make it look very clean and modern.  A lot of hadoop's native UI is extremely busy.  For example, here is the task tracker:


As you can see, this page is full of information that 95% of the time is not needed.  Most of the time, all you want to know is "is my job done or not?"  

In addition, we wanted a UI that would scale nicely across devices.  This is especially important with a cloud service.  Since you can access your data anywhere, from any device, you should make a UI that works on any device.

After sketching ideas on paper and the whiteboard, we settled on a design that used Live Tiles as the primary element.  Live Tiles are part of Microsoft's new "Metro" design language and are probably most familiar to folks from the Windows Phone.  A Live Tile is basically just a large square navigation button that has a summary of the information it will show on the button itself:


For example, the Outlook live tile shows the # of unread messages, while the People tile shows the images of the people in your address book.   We mocked up the entire UI in this way using PowerPoint.  Here are a few slides from the mockup deck:



PowerPoint is a very handy low-fi prototyping tool.  You can make screens very quickly, and you can even wire them up so that they can respond correctly to clicks.  It sort of reminds me of working with HyperCard back in the day.

Once we are happy with the PowerPoints, we go into visual design.  The key for the visual design was really making sure that the colors and shapes rendered well on different sized displays.  We did this work in Photoshop initially, and then coded it in HTML 5.  The web site itself is developed in ASP.NET MVC, using HTML 5 and JQuery.

Once the site was functional, we would do frequent reviews of the screens.  Personally I like to do these standing up, with all of the pages in front of me.  We have a wall in our our office where we hang the print-outs of the entire site:


These are up all of the time, and anyone on the team can mark them up or make notes on them.  We have red sharpies just for this purpose:



The goal is to make sure that everyone on the team can see the current state of all pages in the site at all times.  Any bugs or suggestions are captured daily and added to our issue tracking system (we are using JIRA).

We also do a lot of testing on devices.  This lets us catch small mistakes that might otherwise not be noticed until it is too late to fix them.  We tested on Windows machines, Windows Phone 7, iPhone 3, iPhone 4, iPad, and MacBooks, on IE, Safari, Chrome, and FireFox.   Because we committed to HTML 5, we only bothered to test browsers that supported that.  This simplified the test matrix dramatically.

iPad 2

Windows Phone 7.5

Testing on devices - especially the lower-resolution iPhone 3 - helped us to refine the visual design of the live tiles so that they were still readable on the small device.

In the course of testing, we actually found some significant missing features.  For example, we knew that many people who would want to check out Hadoop may not have sample data sets or map/reduce jobs just lying around.  So we created a built-in sample library.  The sample library contains sample programs and their related data sets all ready to to go, that can be deployed to your cluster in a single click.  Not only does this prevent users from having to surf around the web trying to find samples, it also lets the selection and deployment happen from a mobile device that does not have a file system.  So you can deploy a sample and experiment with different parameters all from your iPad.

Here are a few shots from the final portal:

Portal Home Page

Create Job page

Interactive Hive page

Hopefully this gives you a peak behind the design process of the portal.  I would love to get your feedback.  One of the great things about web development is that we can push out improvements on a much more frequent basis.  We already have lots of ideas for improvement, but I want to hear from you as well.










Tuesday, December 13, 2011

Search and Rescue




Those who know me know that I am a volunteer with King County 4x4 Search and Rescue (4x4 SAR)  We work in conjunction with the Sherriff department and help with operations that require off-road vehicles, such as finding lost hikers or doing road searches.  (If you are interested in learning more about this, you can check out the website at http://kc4x4sar.org )

I got into 4x4 SAR about a year ago, and I immediately enjoyed it.  Part of it was that I drive a Hummer H2, and doing Search & Rescue work is about the only practical use for such a vehicle.    Another part was that it appealed to the side of me that likes to be capable.  SAR requires a lot of training in things like off-road driving, wilderness survival, and emergency first aid.   Skills that will be handy after the zombie apocalypse.  So with these two very manly seeming reasons in hand, I didn’t really think about it in any more detail.

Then a few weeks ago I was talking to W. about various emotional topics and she made the observation that I have a Search and Rescue personality.  This sounded very interesting, so I asked her to explain.   The theory goes something like this:

Some people take care of things.  They monitor things at a low level continuously and make sure that things never stray far from a certain baseline.  We can call these people care-takers, and they provide comfort.   

Other people solve problems.  These folks do not monitor things or prevent problems.  In fact, they only come in after a problem has already happened.  Just like my search & rescue team is not called in until someone is already lost.    We can call these people rescuers, and they provide drama or excitement.

In life, everyone needs both of these things.  You need someone to care for you, who can provide comfort and make sure you do not get into trouble.  But you also need someone who has your back, who you know that no matter how deep into the woods you get, will still come after you and rescue you, pulling you back to safety.  The question is whether one person can do both?    Or are they fundamentally in conflict?
 
Naturally some people need more comforting or more rescuing than others.  Maybe you are good at comforting yourself, or maybe you are just a naturally conservative personality and tend not to get into dangerous situations.   But for the typical person this is not the case.   So you have to have a solution.

When we think about this in the context of marriage, we immediately get to the connection between these personality types and how they relate to passion and romance.  What feels more romantic to you?  The handsome prince that rides into rescue the damsel in distress?  Or the constant protector that keeps the damsel out of distress to begin with?

Related – for those of us who are of a particular type, is there anything we can do (or even should do) to be better at the other?  For myself – as someone who is very good at rescue – what can I do to be a more comfortable person to live with? 

Sunday, December 11, 2011

Game Design for Humans (part 1)


I was having lunch with Tom Wang the other day on the Microsoft campus and the topic got around to game design.  Having just completed teaching the senior seminar in Advanced Game Design at Digipen University, I had a lot of thoughts on the top at the forefront of my mind.  After the conversation, it occurred to me that many game developers do not have a good sense about what makes for a good game – particularly in the realm of the more casual games so popular on phones and Facebook.

So, in the hope that at least one other game developer will find this information useful, I thought I would share it more broadly. 

Game Players are Humans
The first thing to remember is that games are played by people.  And people have complex lives going on around them.  They have hopes, fears, desires.  They are worried about what other people think of them.  And they have limited time.

The most precious resource – the only truly scarce resource - is human attention.  There is no one who has extra attention just lying around.  If you want someone to spend some time playing your game, you are asking them to NOT spend time doing something they are doing now.  So ask yourself, what is your player going to STOP doing in order to play your game?  And then really try to be honest with yourself on whether that is a reasonable ask.

For example, many MMORPGs tried to take on World of Warcraft and failed.  I’ve met many of these developers, and they really focused on the wrong things.  Their game had better graphics, or a better world, or more fun questing and level, etc.  And it was true.  But they didn’t properly consider that many of their users were people who were playing Wow now, and most of them do not have time to play two MMORPGs.  So they are implicitly asking their players to stop playing Wow in order to play their game.  And they hadn’t considered if their game was really a better deal.

Consider that Wow players had invested tons of time and money into their Wow characters.  They have friends there.  They have guilds or teammates that are counting on them.   Asking someone to give all of that up is a big ask. 

In addition, Wow has done a very good job of making Wow mainstream.  In most workplaces, telling someone that you have a character in Wow does not cause people to look at you askew.  This may not be the case for your no-name new game.

Humans only care about certain things
While every human is different, there are some broad classes of activity that appeal to people.  Not ever person likes all of these activities.  The problem that many game designers have is that they do not figure out which of these activities they are providing for their users, and thus they do not make them a completely compelling experience.

Here is a simple list of human entertainment passions:

·               Collecting – getting things that are rare, and/or getting a complete collection.  These are the people who like to get every pokemon, every collectible plate, or that rare superman comic.
·               Gambling – taking a chance and getting a potentially big payback.  Think slot machine, where the more you bet the more you might win
·               Perfection – doing something over and over until you get it perfect
·             Exploration/Discovery – finding new things, new worlds, etc.
·               Sharing / Helping friends

There are others, of course, but these are the ones that are easiest for game developers to exploit.

So the first thing to do is to figure out which of these activities is your game exposing?  You don’t have to have just one.  It is perfectly fine to have two or three or even more.  In Wow, for example, you can explore the world, try to perfect your combat, help your friends, or collect achievements.  There is something for almost anyone.

The second thing is to make sure that your experience completely leverages those passions.  For instance – if your game has a gambling mechanic, but doesn’t let the player control how much they are willing to wager, you will not have a satisfying gambling experience.

I am continuously amazed by the number of otherwise quite solid games that fall down on this simple point.  For instance, many people play social games because they enjoying sharing or helping friends.  And even though most of those games support in-game purchase via microtransactions, most of them to do not have a mechanism for meaningful gifting – buying things for a friend.  The companies that understand this simple desire and were able to make products to exploit it – such as TenCent with QQ – really made a mint.

Let’s keep the discussion going.  In future posts I will talk more about other rules of human nature that are useful to gamers.