Tuesday, August 24, 2010

Tutorials in Social Games

If you've made games for a while, you have likely faced the frequently forced, painful and cramped narrative-on-rails that is the in-game tutorial. For reasons that aren't entirely clear to me, many game devs (including me) decided that we'd work as hard as we could to make the tutorial a part of the game story. The result is often garbage like this:

Grab that gun! Let's go! They're after us. Oh, and if you need me to give you ammo, press CTRL A.

And if you are a player right then, and this is the first bit of tutorial-speak you hear in the game, you tolerate it, because you have grown accustomed to such weirdness. I vividly remember this one game experience where I was regularly jolted out of the game by these messages as the ramp progressed.

So, it's an interesting and refreshing change to see tutorials in social games.

See that star? Click on it to increase your earnings. The more stars you collect, the more you'll earn!

Or the deliciously simple:

Follow the yellow arrow to learn how to play.

Social games, casual games, board games and sports have all embraced this simple "tell it like it is" approach. There is the explicit understanding between designer and player: you need to learn how to play, and I'll tell you how to do it. Part of the reason social games do this is clear: we can't afford any potential disconnect between the player and the rules in the roughly 30 seconds (literally) that we have their attention before they decide to either keep playing or move on. This is compounded by the constraints of narrative exposition. Must I explain who I am, what I am, what I am doing here and the player's relationship to me? Must I set the stage in some weird way by first giving an explanation about why the player's here in the first place? In board games and social games, the angst is very much up front and the tutorial or the ruleset in board games delivers the goods straight:

Object: To acquire land through purchase, trading and takeover.

So much of the fluff falls to the floor.

It's refreshing, I think, this simple and direct means of explaining play.

Saturday, July 31, 2010

Meet the team: Brenda Brathwaite

Ever once in awhile we like to introduce an employee at Lolapps. We've only done a few of these, so look forward to more!

This week we'd like to introduce Brenda Brathwaite, our Creative Director

Brenda is a game industry veteran. She is an award-winning game designer and has worked on titles in the Wizardry®, Jagged Alliance®, Dungeons and Dragons® and Def Jam® series and has published on virtually every platform from tabletop to console to Facebook. Her non-digital game Train recently won the Vanguard award at IndieCade "for pushing the boundaries of game design and showing us what games can do." In addition to making games, Brenda is also a voracious game player, has her own d10s and plays well with others.

Below is our own internal Q&A with her:

What do you do at Loplapps?

I am Lolapps Creative Director and a game designer here. It means that I am one of the luckiest people I know. Making games, playing games and setting general director for a company's products is an amazing opportunity.

How'd you get into gaming and game design?

I got into the game industry in 1981 when I was just 15 years old. It was a rather chance meeting between me and Linda Currie, a fellow classmate in high school. To be polite, she struck up a conversation which turned into a job interview:

"You play games?"

Yes, love them.

"You hear of Sir-tech Software?"

No.

"Wizardry?"

No.

"Have you ever played D&D?"

YES!

I showed up at her house the following afternoon and played Wizardry for the first time. It was then and remains now and utterly magical moment in my life. I was with Sir-tech for 18 years, and consider that time in my life truly formative and wonderful. I was able to apprentice with great game designer and work on many award-winning games.

As far as gaming goes, I don't remember a time when I didn't play games. I am always playing some game. Always.

What are your favorite applications on facebook?

This changes so rapidly. The answer I give you today will be different than the one I'd give you next week. I think what fascinates me most are particular mechanics and watching how they propagate from game to game. I really enjoy it when games do something that I haven't seen at all. I recall how Frontierville really upped the ante with the amount of activity per visit and how Nightclub City made your typical friend grind longer and more genuinely entertaining than many, many other games. I probably play three new Facebook games a day and return to maybe one a week for a regular sessions.

What games have you played recently?

Apart from social games, I play WoW a lot as well as Civilization Revolution. I am also a voracious consumer of board games. Ticket to Ride, Family Business, Container and Dominion are my current favorites.

What do you do in your free time?

This is going to sound tragically geeky, but I play games and work on building my board game series, The Mechanic is the Message. My partner is also a game designer, so it tends to occupy a lot of our time. When I'm not doing something with games, I really enjoy taking rides to wherever in my car (a convertible), visiting restaurants, exploring little towns and watching great films.

What you enjoy most about working at start-ups?

Lolapps feels different to me than a great many start ups. The personality of the owners is infused in the business, and their sense of humor carries through the whole place. So, it's super fun to come to work, even when we're working hard to hit milestones. Overall, the space feels very competitive to me, and I like that I can directly talk to and influence the people making the big decisions here. I've worked for bigger companies as an employee or contractor, and I my prefer the feeling of family that comes with having direct access to the powers that be.

What new initiatives and games are you most excited to see at Lolapps?

I am always excited to see a game release and see how people respond to it. I can't wait to get our current games out and focus on a brand new title. There's nothing like that.

Thursday, July 29, 2010

Some Forming Social Game Theories

I started this on twitter (@bbrathwaite), but moved it here. Feel free to add to this list, disagree or discuss.

The player should:

  • Return to the game to good news (game progress, new content, visits from friends, mail, gifts).
  • Return to the game with a problem to solve (wilted crops, empty supplies, shifts to start).
  • Have short-term problems to solve (in a session) and long-term problems to solve (multiple sessions). Longer term problems/desires may be aspirational goals, collections or quests to complete.
  • Always be able to make progress on longer-term goals and complete short-term goals.
  • Always know precisely what they need to do to solve all problems in the game. These things should never be nested or “discoverable” if you’re clever. That’s not to say that there shouldn’t be discoverable things and surprises. There should be (Pocket God comes to mind). However, the player shouldn’t be confronted with a problem that has no obvious solution – that equals a block and goodbye.
  • Always have an aspirational goal on every screen, if possible (something they want – item/action gated by $, lvl, quest progress), and a clear understanding of what they need to do to reach it.
  • Have genuine motivation tied into the core of the game which makes them want those aspirational goals (if I get X, it will help me do Y faster or will earn me more $)
  • Be rewarded for every single click either visually, through XP, coins or some other measure of progress.
  • Clearly understand how and why every change state in the game occurs. If an NPC suddenly becomes happy, why did that happen? Is it visually obvious? Is the transition from normal state to happy state clear? Is it rewarding? Does the player know what they did (or something in the game did) to make that happen?
  • Feel like they have agency in the game. Through their direct action, something happens. Without them, it doesn’t happen. If you never plant crops, you never get results.
  • Understand your UI instantly. If you need to explain it, you need to redo it.
  • Have a pre-existing mental model of the game before they even play it. I know how a farm, a nightclub, a bakery and a restaurant run, at least at an abstract level. The less you need to teach people about the game, the better. This information should be pre-grokked before they even enter the game.
  • Feel good about posting something in their feed. They believe what they’re posting will help them and help their friends playing the game, too.
  • Have a “feel good” endgame state for a session. This is appointment gaming, and people want to feel like they’ve tidied up this session before moving on to the next. That means that they can finish or, in some cases, optimize until it’s not really optimum to continue anymore. If they leave feeling like the game didn’t really let them leave (because there was always something new to do), they leave in a sub-optimal and unsatisfied state and thus are less likely to return.
  • Have clear dailies including friend grind, playspace grind and bonus progression, if applicable. What do I do everyday when I come back to the game? Do I know that I have finished what I needed to do? How do I know that I need to do it (and no, your last play session isn’t enough).
  • Be reminded of what they need to do. They’re playing for 2, 5 or 10 mins at a time, and are possibly playing dozens of social games simultaneously. They need visual reminders of what they need to do to progress play in your game. Give them explicit and constantly visible goals, badges, or visual reminders of some kind.
  • If you nerf their playstate or playfield, the player better understand why and feel like they could have prevented it (keeping their appointment, getting an item by x time or it expires, etc).
  • Players want direction. Give it to them everywhere: tool tips, quests, pop ups, etc.

Monday, July 26, 2010

Choosing a Restaurant 2.0

Everyone who has ever worked at a start-up knows that the most important decisions are always about food. Especially when the choice concerns more than just one person. After all how are going to survive all those all-hands meetings or special events such as python meet-ups without good food? Of course there is always the alternative: a golden nectar, commonly referred to as "Beer". After all, the world's largest software company was built with the fundamental knowledge of the Ballmer Peak. But since we can't rely on beer indefinitely, back to food:

Most companies have one person who is responsible for picking the right stuff to order in and making sure that the majority is satisfied with the food. Most likely, that is the right decision from a management point of view. However, start-ups are here to innovate and that is precisely what we did. Since we are a social media start-up, we needed to make this process more social. However, we're also a tech start-up and nothing works without a proper Product Requirements Document. Enjoy!

Monday, June 28, 2010

Monitoring and the Art of Sleeping Through the Night

One of my goals at Lolapps is to be as bored as possible. Not in the manner of ignoring site issues, but rather in creating automation to do my job for me. You've seen my earlier post on the load balancers we utilize so that we aren't rushing to fix up our webservers, but what about getting the system to repair the webservers for us.

Here's where Nagios comes in.

Nagios is a system that allows you to monitor and alert for site related issues. It's a highly flexible system that allows you to write code in any language for checking on the health of your site. But, for the purposes of this article, we're going to talk about a powerful feature of the system that probably doesn't get as much use as it should, support for event handlers.

So, what exactly is an event handler? An event handler is a command that gets run whenever the state of a service changes. This change can mean that it switches between any of the following states, OK, WARNING, CRITICAL, UNKNOWN, as well as substates. By substate, I refer to SOFT and HARD problem states, as well as when there is an increment in the check attempt during one of the problem states.

While this does add complexity to the options, it also gives you the ability to fine tune when your response commands get run. Let's look at an example of an event handler script:


#!/bin/sh

# define nagios command as:
# restart_service.sh $HOSTNAME$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $ARG1$

case "$2" in
WARNING)
# Service is going warning
# We only want to take action if it's the 20th attempt

case "$4" in

20)
ssh $1 "/etc/init.d/$5 stop ; sleep 2 ; /etc/init.d/$5 start"
;;
esac
esac

As you can see, this command takes 5 arguments. They are:
HOSTNAME - this is the hostname where the service is running
SERVICESTATE - This can be one of OK, WARNING, CRITICAL, or UNKNOWN
SERVICESTATETYPE - This can be one of the problem states of SOFT or HARD
SERVICEATTEMPT - which check attempt we are on
ARG1 - the name of the linux init.d service that we want to restart

Go ahead and setup the event handler command as suggested in the comments:

define command {
command_name restart_service
command_line $USER2$/restart_service.sh $HOSTNAME$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $ARG1$
}

Then, all that's left is to hook it into your service definition:

define service {
... [your service definition go here]
event_handler restart_service!httpd
}

Done! You now have Nagios automatically restarting the httpd service after it shows problems 20 checks in a row. Admittedly, this example is far from complete and requires many more pieces, but I'll leave that as an exercise for the reader.

For more information on Nagios, go to their website (http://www.nagios.org)

Tuesday, June 8, 2010

Visualizing the Lolapps Codebase

As Lolapps has grown and our products evolved, our code base has followed suit. So, I thought one of the more interesting things to do would be go visualize the changes that have taken place over time.





In the video, each node represents files in our code repository. The little dots zipping all around the map are engineers making changes and working on the code. You can certainly see that we've grown over the years and can only imagine what will come next.

(btw, we're hiring)

Thursday, April 1, 2010

Gender and our Games

Here at Lolapps, we try make our games appeal to both men and women, but some themes naturally attract one gender rather than another. Since women are from Venus and men are from Mars, it's not surprising that there are measurable differences to account for when comparing how genders approach game play and monetize in games. In our games, we noticed some particularly intriguing differences.

Of our current titles, two are very gender-centered - Band of Heroes is a game where players assume the role of a soldier in World War II, while Diva Life allows the player to experience the life of a rich and multi-talented Diva. As we expected, the former appeals mostly to men, while the latter found its audience mostly with women. However, we were somewhat surprised to find that the fraction of men playing Diva Life is much smaller than the fraction of women playing Band of Heroes (see the figure below). This is a trend we have observed in other titles as well: men object heavily towards playing a female-focused game, much more than women object to playing a game traditionally thought of as "male."



Another gender-based aspect of game play we've been tracking relates to player performance within the various games; i.e., at what rate do players progress through the game content and how much content do they engage with. When considering Diva Life, about 2% of men "finish" the game - that is, unlock all realms and finish all missions. That is exactly the same percentage reflected for women who play this game. Fewer men play Diva Life, but those who do play, advance with the same rate of game completion as the women players. When considering Yakuza Lords or Band of Heroes, only half as many women finish the game as men: 3% of men finish the game, while less than 1.5% of women manage to finish it.

This asymmetry is also present when considering the number of actions taken per user in each game, as in the figures below (we only consider two of the many actions that a player can make in the game). Actions taken are defined as: any feature or mechanic in the game that requires the player to actively engage with the content.





In Diva Life, men take just as many actions as women on a per-player basis. In Band of Heroes, women take much less action than men - completing about half as many actions per player. Hence, even though the ratio of women /men in Band of Heroes is higher than the ratio of men/women in Diva Life, these women are less engaged.

This is an interesting asymmetry - female-oriented games attract far less men, but those attracted to them are just as engaged as the women in them. On the other hand, male-oriented games are able to attract a fair share of women, but these women are much less engaged than male players. They will join the game and play, but are seemingly never as interested as men are.

This means that, at least for our games, men are more selective towards which games they will play, but when they choose a game, they will put in more effort to do well in it. Women, on the other hand, are less selective and may play more diverse types of games, but will only excel in those that they are really interested in. Therefore, in an environment where there is an equal number of men and women, having a male-oriented game will attract more users in total, but engagement will be lower among women.

We are still investigating how a gender-neutral game behaves. The recent Dante's Inferno is proving to be such game, with a very balanced number of men and women in it. Since it is very recent, very few users have actually finished the game and we'll leave this to another post.