Tuesday, December 31, 2013

Multiplayer Logistics

How do we get players to play together in a manner that fits their schedules? This is a key logistical challenge a designer faces when building multiplayer games.

The promise
We are seeing a blossoming of innovative multiplayer systems. In previous eras there were a handful of default models that games might use (matches, play-by-mail). Games today exist on a spectrum from fully concurrent to fully asynchronous and everything in between. A game like Dark Souls is predominantly single player, but includes interactions that are asynchronous (the leaving of messages and deaths) or fully concurrent (the joining of another player into your game for PvP or Coop.)

We are entering a golden era of multiplayer gameplay. Server costs are falling dramatically with the advent of cloud computing. Broadband internet and always on mobile connections are spreading rapidly across the globe. Business models like in game payments, crowd funding and service-based gaming are evolving to the point to financially support a broad range of long-lived communities. Designers are playing with these new capabilities to invent new forms of multiplayer gaming.

The challenge
However, multiplayer is both expensive to build and has a high risk of failure. Often teams invest 50 to 100% of their development budget into creating a multiplayer mode. It seems worth it. During development, the team plays every Friday and has so much fun they are convinced that multiplayer is what will turn their game into the next League of Legends or Counter Strike.

The real test occurs when the game faces a live population of players. Upon launch, multiplayer games often see only a few weeks of active multiplayer activity. Too many people show up. Then not enough. Players visit sporadically and the player experience is deemed unreliable. The active matches trickle down to nothing. The traditional matchmaking lobbies (a design from the 1990’s) are left empty and will never be full ever again. The multiplayer portion of the game dies a sad sputtering death.

I see this as a challenge of logistics. There were players who wanted to play. However the way that the game put those players together results in weak community that was unable to self sustain.

Are there atomic elements of multiplayer logistics that lets us approach the topic of inventing new systems in a more rigorous fashion? Simply copying multiplayer patterns from previous eras works poorly. To invent new multiplayer modes, we must have conceptual tools that let us clearly and concisely manipulate topics like logistics, concurrency and interaction schedules.

Concepts when talking about multiplayer

Here are some concepts I think about when designing a multiplayer game.

Interactions

You can break up any multiplayer system into a series of interactions. An interaction is anytime players interact with one another via a game system (be it chat, hitting one another, etc.) These are the multiplayer verbs of your game. Usually a game has a set of single player verbs (move, quit, etc) and another set of multiplayer interactions mixed in. Interactions have a wide range of multiplayer properties such as frequency, scope, mode, etc.

If you map an interaction onto time, it looks something like this
  • The player starts the interaction
  • They end the interaction
  • They wait for a response.
  • If no response is forthcoming, they leave.
Interactions aren’t a new thing. The structure is identical to that found in atomic game loops. However, instead of a single loop you have something closer to a figure 8 with at least two participants. These concepts go back to communication theory that Chris Crawford adapted to games design theory in the 1980’s. This is fundamental stuff that all professional game designers should know.


Initial loop:
  • Model A: Player formulates an action and a target player or group.
  • Action A: Player performs the action.
  • Rules: The results of the action are mediated by the game logic.
  • Response A: Player A sees the immediate results as generated by the game.
  • Response B: Player B sees the immediate results as generated by the game. Note that what Player B sees is likely different than what occurs for player A. This naturally leads to divergent mental models and enables gameplay concepts such as hidden information or Yomi.
Reciprocating loop
  • Model, Action, Rules, Response B: The target players tries to understand what happened and formulates a response.
  • From here the loop ping pongs back and forth between participants.
Frequency of interaction

What is the frequency of interaction necessary to yield the impression of concurrency? You may find that you need to interact once every 5 minutes in a strategic game like Civilization while you need to interact every 200 ms to create the same impression in a twitch-based action game like Counter-Strike. See the article “Loops and Arcs” for a more detailed explanation.

In general, the higher the frequency of interactions, the more information being communicated between players. This can increase the pace of relationship formation.

As with many interaction variables, there are distinct phase changes in the players perception as the frequency hits a threshold. Simply by changing the spacing between interactions, we get radically different forms of play (and associated logistical challenges):
  • Real time: Players perceive interactions as ‘real-time’ when the frequency reaches the point where: A player starts and ends an interaction and then sees a response before they move onto other tasks; interactions overlap. Chat, for example, can feel real-time despite there often being more than a minute between responses. Real-time systems have less need for persistence but are often more expensive to run and build.
  • Asynchronous interactions: The frequency at which a player can start an interaction and end the interaction and then quit the game without seeing a response is seen as asynchronous. Generally you build in some sort of persistence so that a player that logs in later can see the results of the interaction and formulate a response.
Types of interaction
There are a variety of interaction types. Think of these as ‘how’ players interact. For a much more in depth description of all the various multiplayer interactions, see Raph Koster's seminal talk on social game mechanics.
  • Spacial avatar interaction: Two or more avatars interact with one another. Shooting players in Quake is the classic example. Following a player in Journey is another.
  • Spacial environment interaction: Players also interact through the intermediate environment. In Minecraft, players build castles that other players then explore. For a higher frequency example, in Bomberman, players place bombs that open up passages or do damage to others.
  • Decoration and Display: Players signal status, affiliations and history via what they wear or how they decorate their weapons, pets and houses.
  • Economic: Players give, trade or pay for various resources to transform or transfer to another player. This can be a typical sale of a sword to another player for gold. Or it can paying mana for a buff that boost the health of a nearby player. See Joris Dormans work on internal economies for more on this topic.
  • Text: The most common method of introducing language into an online game is through text. It tends to be low cost and there’s a rich set of tools (spam filters, stylistic conventions) for dealing with common issues. It tends to work best with a keyboard.
  • Voice: Voice offers additional nuance including emotions, age, gender and more. It has limits for group size, bandwidth and is notoriously weak when it comes to filtering.
  • Body language: In local spaces like on a couch or around a table, we pick up on high bandwidth communication such as facial expression, posture, body height and physical presence. When a tall pretty boy looks you in the eye and asks that you trade your rare treasure with him, you may be getting signals that go far beyond what is found in other types of interaction. This creates rich emergent multiplayer gameplay. However, it is also hard to mediate and incorporate explicitly into the game systems.
Size of community
There are also massive phase changes that occur as you increase the number of participants in a community.
  • 1 player: Mastery, progression, exploration, narrative are available as design tools.
  • 2 players: Communication, relationships, status, gifting, trade, cooperation and competition become available.
  • 3-4 players: Alliances, politics, gossip, othering/stereotyping become available.
  • Small group (5+): Group vs group interactions, Official leadership, role specialization, official punishment
  • Medium group (12+): Factions, barter economies, and banishment
  • Large groups (40+): Hierarchy (leaders and sub-leaders), Currency-based economies, role enforcement. Adhoc systems of government, public codification of social norms.
  • Very Large groups (200+): Merchant classes, market-based pricing, codified systems of government, underclasses, celebrity, propaganda. This is the point at which a players is guaranteed not to know everyone and official systems are required to make social norms work. (see Dunbar's Number)
  • Massive groups (1,000+): Polling, city-scale production efforts. There are very few dynamics that happen at this scale that aren't also explore with 200+ or even 40+ groups.
I'm defining these groups in the context of player interactions.  The actual game population may be much larger.  For example with trade in Realm of the Mad God, we saw simple trade interactions happen with as little as two people even in populations that are in the thousands.  Two good rules of thumb when considering group size is to ask:

  • Who does this action impact or target?  This gives a rough estimate of the group size your system needs to support. 
  • Is a larger group size necessary for this behavior to emerge?  If not, you can usually get by by targeting your design at multiple instances of a smaller group size. 

The actual transition points fluctuate around these numbers based off contextual factors. For example, the transition to the dynamics of a Very Large Group can occur as soon as 60 or 70 people if there are weak communication channels that stress a player’s ability to maintain relationships.

Also, large groups are inevitably composed of smaller groups. So as systems are added, the dynamics of lower number groups are still present.

The dangers of large group sizes: It can be tempting to make epic multiplayer games with thousands of interacting players that could theoretically all fit in the same room. However, the technology and design costs are high and the benefits weak. Past 150-250 players, your game is in territory beyond Dunbar’s theorized biological limit on maintaining meaningful relationships.  All those extra people end up just being treated as number or abstractions by your players. A simple sim or polling system can often capture the major benefits of the next highest group size. 

Realm of the Mad God was completely playable as an MMO with action sequences of 40-80 players and trade / hub interactions of 150.  Players did not miss the 1000s of players. 

This reality raises serious questions about the need for designs that emphasize ‘massively multiplayer’ experiences. Just because a concept sounds exciting (“a million people building a new society!”) doesn't mean it is a smart design. Human social capacities are limited and we can (and have!) over-engineer multiplayer systems.

Scope of interaction
How many people does a single interaction impact? A player can interact with a single individual or they can interact with one of the group sizes listed above.

  • Targeting a player interaction at small groups: With smaller group sizes you get communication similar to a conversation. There is a clearly defined interaction loop that can stabilize on a set of shared vocabulary and social norms quickly.
  • Targeting a player interaction at larger groups: With larger group sizes you see more broadcast scenarios and interactions are broader, less tailored to individuals. When interacting with large groups, it is common for the massive response to flood the recipient with too much information. Extreme reactions are also more common as people talk over and past one another.


Degree of interaction
  • Parallel: Players can behave independently from one another. A ghost racing car rarely impacts another player. Often the primary benefit here is a sense of presence though it can also tie into lower frequency zero sum interactions like a leaderboard.
  • Zero Sum: The action of one player blocks or reduces the interaction of another player. In Habbo hotel, movement is a zero sum interaction since the placement of one character blocks another character from occupying the same spot. This was famously used as a griefing tactic to box in players.
  • Non-Zero Sum: The action of one player benefits another player. In Realm of the Mad God, shooting an enemy makes that enemy easier to kill for other players. Killing an enemy gives XP to everyone on the screen.
Matchmaking
Matchmaking is the computer mediated act of introducing players to one another so they might interact.

This is a very broad definition of matchmaking, but is useful in the context of the wide range of multiplayer systems available. For example, a traditional console title might match players together by requiring players in a shared lobby to manually join a specific game. In Realm of the Mad God, players notice groups of players on a shared map and teleport to them. Both are forms of matchmaking, but they appear quite different in the player’s mind.

You can treat matchmaking abstractly as another interaction with a wait time.

Matchmaking window

The time you have to introduce a player looking for a multiplayer experience to another player. If the window is too long (and the player is not entertained during the window), they will leave.

Matchmaking failure
When a player comes online and there is not another player immediately online, the players will quickly become bored and leave. There is often an implicit promise of a fun multiplayer experience and if you don’t deliver that in seconds, your game is judged as a failure.

What can be frustrating to the developer is that another player pops in a minute later and experiences the same exact thing. If one players sticks around long enough, another player will show up.

Calculating daily failure threshold: If the matchmaking window is W in minutes, then failure will occur when the daily active population is less than Minutes In a Day / W. So for example if people are only willing to wait half a minute, you’d need a daily active population of 1440 / 0.5 or 2880 players. Actual results will be lumpy because we are dealing with a statistical process and player populations peak around specific times of day.

This may seem quite reasonable, but if you are matchmaking primarily with small groups of friends, players may feel like no one they know is ever on.

Fragmentation
When the player population is segmented by social groups, game modes, players skill levels, time playing and other factors, it becomes fragmented. This reduces the actual concurrent player numbers available to the matchmaking system and increases the chance of a matchmaking failure.

Example of fragmentation: Suppose a game has 3 multiplayer modes and matches players into 10 skill categories. If the daily failure threshold is 2880 (from the previous example), then in the worst case scenario, you’d need 3x10x2880 or 86,400 concurrent players for everyone to get their first choice.

Fragmentation creeps into a design. Someone wants to add another event or another game mode. The code is free, so why not? Surely the players will self sort. They do a little, but mostly they wonder why the matchmaking experience is so painful and then leave your game in frustration. Avoid fragmentation creep and put players together in big easily matched buckets when possible.

Concurrency ratio
Any game has a number of active accounts and a number of players that are online at once. Players cannot be playing constantly and are often offline For example, an MMO might have 100 active subscribers, but only 10 of those are on at any one time. This would result in a concurrency ratio of 10:1.

Some typical concurrency ratios:
  • MMO: 10:1
  • Online Console Service (like Xbox Live): 25:1
  • Individual Console game: 150:1
  • Flash game: 250:1
  • Couch multiplayer: 1000:1
The Active User Trap: One common mistake is that developers assume that high active player numbers will result in robust multiplayer communities. However you really need to look at actual concurrent users since many game types have extreme concurrency ratios. A game may have 1000 players but when each of those logins last 5 minutes and are spread over a week, you’ll average 0.5 concurrent players. If your matchmaking system doesn’t deal well with these sporadic, tiny populations, the game dies.

Relationship strength
Not all player interactions are equal due to unique relationships between players. Players build complex social models of other players both in game and out of game. Strangers are understood through simple, stereotype-based models. Close friends are understood through complex individual models built up over thousand or millions of minute reciprocation sequences.

Building mental models of another human is a biologically expensive operation. We seem to be able to keep 5 to 9 detailed models active at any one time though we can store many more at various levels of detail. Friendship is rare, complicated and built over long periods of time.

There are numerous benefits and trade offs that come from gaming with strangers or friends and friend-based play is often highly desirable. Games can help create friends by promoted repeated positive interactions. The higher the frequency, the quicker the relationship evolves.

Relationship strength is a spectrum, but there are two commonly drawn categories
  • Multiplayer with Strangers
  • Multiplayer with Friends
Multiplayer with Strangers
Let’s tackle multiplayer between strangers online first.

Pros:
  • Anyone playing the game can be matched with anyone else with little regard for existing social bonds.  This model becomes immensely attractive when there is a small initial player base. Often this means if 10 people are online, 10 people can be playing together.
  • Strangers, particularly young males, historically tend to compete with one another. This means that player vs player games that emphasize open conflict are an easy means of generate fun for some stranger populations.
Cons:
  • Strangers have weak bonds and will not naturally engage in prosocial activities like collaboration.
  • Skill differentials matter since players tend to compete. This forces developers to focus on segregating experts from newbies and fragments the population.
  • Not all player populations thrive on overtly competitive gameplay. Some players prefer to collaborate. Others compete quietly for status by manipulating social relationships. These are difficult in stranger scenarios.
Multiplayer with Friends

Pros
  • Players are much more likely to schedule time together to play.
  • Cooperative and communication heavy activities are considered fun.
  • Mentoring between divergent skill levels is more likely to occur.
  • Competitive play is still valid.
Cons
  • There’s often little overlap between existing social groups and interest in a specific game.
  • There’s often little overlap between existing social groups and share scheduled.
  • Friend groups are small. Engaged players typically have 5-9 close relationships. Casual acquaintances may be higher in number, but in practice may act more like strangers. If you have 10 friends and the concurrency ratio for a service is 25:1, you will essentially never stumble upon them online.

Tools for dealing with multiplayer logistics

So far I’ve just talked about the concepts behind multiplayer. Now we’ll dig into some common patterns that make use of these. There are three broad architectures:
  • Match-based games
  • Room-based games
  • Asynchronous games

Tools: Match-based games

Due to the long history of event-based matches in sports and board games multiplayer computer games often are organized into matches that start at a specific time and stop at a specific time or win condition.

Matches are the default logistics model used for many console and PC-style online games. They are immensely problematic. The matchmaking interaction has a very narrow window during which it requires a full set of players to show up in order to enter the game successfully. If you don’t get in, you need to wait till the next match starts. If this time is longer than the wait window, you’ll quit. Considering concurrency ratios, fragmentation and the burden of a tiny matchmaking window, it is not surprising that only the most popular match-based online titles survive.

Scheduled Events
Ask people to show up at the same time. This essentially shifts play times so that they are on at the same time. Scheduling is an expensive planning activity on the part of the player. You’ll get a low overall engagement rate but those who do participate are likely to find others to play with. A special Halloween boss encounter in a MMO is an example of a scheduled event.

Events can be scheduled by the game developers or they can be scheduled by the players. Player scheduled events have the benefit of stronger social ties in play. Folks that get together for a board game night are such an event. The downside is that arranging meeting is a convoluted process (as anyone that tries to set up meetings with more than 6 people can attest). It often requires leadership or persistence, attributes that are often in low supply for lightly engaged players.

Regularly scheduled events
If you can make the event regular, people will get in the habit of being at a particular place at a particular time. This reduces the cost of planning for the player and they can just reliably show up at a specific time instead of worrying about conflicts. A standard Wednesday game night for a guild is an example of a regularly scheduled event.

Short matches
If matches are short enough (2 minutes? 30 seconds?) players that don’t get into the current match wait less time than the matchmaking window and thus are still around when the next match starts. Online word games do this, but it could be readily applied to other titles.

Spectating on matches while waiting
If you can keep players entertained by letting them watch the game in progress, you can lengthen the matchmaking window. Games like Counter Strike do this upon entrance into a server and upon death.  Chatting is often tossed into this mix since it is a nice downtime activity that can build relationships.

Bots during matchmaking to fill waits
Instead of putting players in a queue where nothing happens, put them directly into a match with bots as the opponents.

Getting bots that act like humans is often a tricky Turing test to pass. Not letting players talk and having a very narrow window of expression helps.
When players learn this is happening they will start to distrust the game and question if all opponents are bots.

Mechanical Interdependencies
Create activities that require multiple people to show up in order to achieve success. Not showing up lets down the group and thus increases the social pressure to show up. This can take the form of explicit roles or by limiting resources so that players can’t accomplish large goals independently.

Tool: Room-based games

Ultimately match based games result in often insurmountable logistical issues for smaller games. A favorite alternative is room based games. Unlike a match which has a distinct start and exit, room-based games create a persistent playspace that players may independently join the game in progress (or leave the game in progress)

Rooms have a maximum number of ‘slots’ or spaces for players to join them. Once the room is full, no more players may join. This dramatically reduces the load on matchmaking. All you need to do is find a room with an empty slot available and dump players into it.

The downsides to rooms is that they eliminate certain game types. Group starting times are obviously out which eliminates most traditional sports. Games with progression arcs result in players that start at different types having differing levels of progress. You need to get creative.

A game like Journey is essentially a room based game with join and leave in progress. The max slots was 2 and as long as there were two concurrent players you could have a multiplayer experience.

Most MMO’s are room-based games with very large rooms.

Join In Progress, Leave in Progress
One reason why rooms offer such improved logistics over strict matches is that players may join or leave at any time.  Since it is highly unlikely that everyone will leave at once, especially in games with a predominance of parallel interactions, shortly after one person leave another person will join and you'll get a consistent average population in the room.

Pure match-based games are often quite rare because many popular games treat the individual server as a room and the match-based elements are merely scoring atop a dynamic population of players joining and leaving in progress.

Elastic Room Instances
Create and remove rooms to fit that maximum currency. Given a room of maximum size N, you create new rooms so that the number of rooms equals Concurrent Player / N. So if 10 players are online and your default room size is 4, you’ll make sure there are 3 rooms to join.

To collapse a room, just wait until it naturally empties out as players leave the game or kick people out due to some in-game event intended to free up the instance. Once the room is empty, delete it. By giving rooms priority, you can fill the highest priority rooms first and kill off the low priority rooms. The result is that almost all rooms are constantly full and only the remainder are left alone.

We used this when creating world shards in Realm of the Mad God. The world generally felt full even when the concurrent population fluctuated dramatically.

Default to single player gameplay for rooms with one player
Room-based games have the ‘remainder’ issue. A given maximum room size rarely divides evenly into the concurrent population. If the room size is 2 and there are 3 players online, there will be 1 player placed in a new room by themselves.

To deal with this scenario, it helps to have a game that is playable as a single player game until the next player joins the room.

A retail game like Dark Souls assume very low concurrency and plays almost entirely as a single player game (with light async ghost interactions) The concurrent matchmaking is a silent parallel interaction that happens without interrupting the single player adventuring. Since having a second player in the right place at the right time is uncommon, the game instead treats it as a special occurrence. (Note that since Dark Souls promises a single player game, they make the concurrent multiplayer experience opt-in through the use of soapstones. The soapstones signal that a successful match has occurred and the player must accept it. Respect your initial promise when you mix single player and multiplayer interactions.)

Asynchronous techniques

Play-by-mail
A player completes an interaction and then the game signals to them that they have a very long period of time before the other player responds. The next day or so, the other player sees the first player’s action and composes their response. This can take place over days.

Words with Friends is a modern example of this technique, but the practice goes back decades if not centuries (if you include play-by-mail board games). It is an intimate method of play that works well with text communication much like instant messages or email. Play-by-mail is very amenable to play between friends.

A downside is that players are deeply impatient. A single turn may not be all that satisfying and then having to wait multiple days for a response has a major drop off in retention. There are still matchmaking issues if fragmentation is too high but the explicitly long wait window ensures players don’t get too worried that the system is broken (they may just not like the system).

The other downside is that in turn-based games, the non-response of one player may block another player.

High Capacity Play-by-mail
One solution is for a player to start a large number of play-by-mail games. Given a response time of T days and a desired average wait time of W days, then the optimal number of games going at once is T/W. (So if you want a game popping in every hour and it takes 24 hours to response, then you need 24 games going.)

One added benefit of all this is that player response times are semi-random. This acts as a random reinforcement schedule and can result in very long term retention.

The downside to the technique is that it requires players to start up a lot of games in order to reduce the wait window and motivating players to do so is tricky. Automated game matching may be an answer.

Inviting
You can leverage active players to invite new players to the game. These players often have strong relationships with the player and can potentially act as a source of new players into the game.

Match with friends
Since async forms of multiplayer rely heavily on players to come back later, their game designs often relies on social connections outside the game as a form of additional pressure. If you can get people to invite or match with friends (as in Farmville) a lack of reciprocation in interpreted as putting their existing relationships at risk. The threat of being rude or seeming like you don’t care to someone you like is often enough of an incentive to encourage returning to the game.

Systems that play off existing relationships run the risk of alienating players. Players not invested in the game tend to find mechanical interactions annoying. Authenticity and intentions matter when it comes to human relationships.

Visiting
In building games, you may create a persistent structure such as a town that other players can then visit independently of your presence.

Clash of Clans uses this when players attack your town. The town is a persistent structure that then acts as a level for the other player to conquer.

Visiting usually boils down to a simple resource exchange despite the trapping of being something more meaningful. The issue comes from questions of what happens when multiple people visit at once and the solution is to spin up different instances.

Jason Rohrer’s The Castle Doctrine uses the unique design of making visiting a blocking interaction. This opens the possibility for permanent changes being made to the visited location. One can imagine more complex versions of musical chairs as the foundation for some innovative designs.

Ghosts
Record players behaviors and then play them back alongside the player in a similar environment. This works particularly well with parallel interactions like you see in racing games. It can also work with the rare non-zero sum interactions like you see in multiple time track games like Cursor 10 or Super Time Force. Ghosts gives a sense of presence but removes the matchmaking time constraints.

The downside is that ghosts usually works poorly with blocking or zero-sum interactions. The other downside is that if the ghost data and the environment get out of sync, then the ghost data becomes invalid. These can be alleviated slightly by either skipping blocked actions or falling back on AI behaviors that manage exceptions

On a more abstract level, ghosts are just tracks of player data that can be replayed on any sort of trigger. They can be triggered at the start of a race, when the player comes onscreen or when the player uses the special amulet of Ally Summoning.

General practices

This essay has covered a lot of ground (and is still incomplete!), but I’ll leave you with a few quick recommendations.
  • Don’t fragment your matchmaking population. Be very wary of the point at which your concurrent game’s matchmaking fails due to high concurrency ratios.
  • Use room-based methods where possible, not match-based play.
  • Persistence is your friend since it enables asynchronous interactions.
  • Relationships are your friend since they increase retention. Try to build them where possible.
  • Prototype early and deal with low populations density issues during the prototyping phase.

Conclusion

I remain quite excited about new multiplayer games. When I look at the theoretical advances being made with game grammar via Joris Dormans internal economies and some of the multiplayer concepts in this essay, the unexplored space for new forms of game seems vast. If you want to make your mark on our modern world, make a great multiplayer game. Solve the logistical issues that prevent people from playing together and build a game that spreads quickly and easily throughout communities.

take care,
Danc.

Notes and references

Topic for future investigation
Concurrency is a statistical process; there’s a chance of a player being on at a given time. This whole topic could stand to be dealt with in a mathematically more rigorous fashion.

Essays and books

Wednesday, October 23, 2013

Prototyping Challenge: 3D Modeling Tool for 2.5D RPG Art


I was creating some 2.5D art for an game jam recently in a perspective similar to a 2D RPG like Zelda. Naturally my next step was that I started thinking about how you might recreate this style using a custom 3D modeling tool. Yes, another art tool design challenge. :-)

I’ve played with voxel editors in the past, but I’m not completely happy with the blocky results that they produce. So where's a quick and dirty minimalist 3D modeling tool design with the following goals:
  • Enable artists to make beautiful 3D models that include curves, ramps, intersecting shapes, and other sophisticated elements.
  • Make a 3D modeling tool that is as easy to use as a pixel art editor. In particular, I’ve realized that this editor can avoid a lot of the messiness that usually appears when you include 3D rotation.
The result should be art that is still stylized, but has still has an immense range for a talented illustrator. I've made other attempts at this in the past, but I think this one has legs. :-)

Target style

I put together a set of 2D art for a future game jam. The resulting 3D modeler in this essay should be able to easily create everything in this image, plus a whole bunch more.


When making this art, it occured to me that there is a rather magical property of the traditional 2.5D view that I don't think has been well tapped before. Once you adopt a forced 2.5D perspective, most 3D primitives are possible to be represented in a 2D plane. This makes a ton of traditional 3D operations dramatically simpler. You can think of a 3D space being reduced to a couple of 2D controls
  • Top Plane: The top of a cubic volume enclosing the primitive. 
  • Front Plane: The front of a cubic volume enclosing the primitive. 
Here's an example with a cylinder and the planes made explicit

With these, you can do basic moving and scaling of the object. The trade off is that you lose rotation.  My bet is that like voxel editing, you can lose rotation and still end up with a vast visual play space.

If you get fancy, you can flip an object 90 degrees forward so that:
  • Front Plane: Extrusion, XY position
  • Top Plane: Scale, XZ position

The basic flow of modeling

Here's what you do to make a model. 
  • Add primitives to an object
  • Arrange (scale, position) and color them.
  • Combine these tile-like objects together in a game to create complex scenes.

List of Operations

Here's the list of features that a simple prototype of the editor would support.

1. Add a primitive
You can add a primitive to the scene
  • Cube
  • Cylinder
  • Arc (half cylinder)
  • Ramp (NSEW variants)
2. Select a primitive
Click on a primitive in the scene to select it.
  • 6 dots appear
  • The bottom 4 define the front plane.
  • The top 4 define the top plane.
3. Move in XY plane
Grab the front face of a primitive to move in the X,Y plane

4. Scale in XY plane
Grab the corners of the front face of the primitive to scale it.

5. Extrude in Z
Grab back corners or edge of the primitive to extrude it.

6. Move in XZ plane
Grab the top of the primitive.

7. Select a color
Once you have selected a primitive, click on a color from the color palette to change the color.

Constraints

There are a variety of limitations enforced that make modeling far easier and closer to pixel art.
  • Snapping: All operations snap to a 16x16x16 grid.
  • Primitive budget: Each object is made up of a total of 32 primitives.
  • No rotation of primitives. Again, this is a hard problem in 3D. So we avoid it.
  • Limited colors: All primitives use the same 16 color palette. This allows us to appear to make complex objects out of multiple primitives by simply connecting simple shapes of the same color.
  • Surface details are generated using other primitives. Primitives whose surfaces are coplanar are rendered cleanly as 2D textures. See bricks in the example above. Use creation order or order in the selection list to determine what shape is on top.

Bonus features

The above features are the minimal set.  There are other features you could add to flesh out the tool.
  • Selection list: A list of all 32 primitive in the object. Click on one to select that primitive. Thumbnails are a plus. Bonus points if you can rearrange these. 
  • Hiding/Showing primitives: There is an eye icon in the selection list next to each primitive and you can hide or show that.
  • Rounded corners: Give the selected primitive rounded corners. These are in 1, 2, 3 or 4 grid width rounds.
  • Flip Front / Top: Rotate the primitive forward or backwards 90 degrees. Example: A flat disc becomes a wheel.
  • Cutter object: The selected primitive now subtracts from the solid instead of adding. This lets you cut holes. 
  • Textures: In addition to colors, you can specify some simple textures.

Special rendering tweaks

There is a reasonable chance that objects will look like rather ugly without the right rendering. Play with this till you get something that works.  Here's what I take into account when drawing things manually.
  • Parallel Light source (think sun) from the top so the front is in slight shade.
  • Shadows on other objects. Slight ambient occlusion will tend to make the objects feel more connected. 
  • Shading objects darker near the bottom and lighter near the top help preserve a sense of depth.

Test cases

Making art tools without art samples is tricky. The following are test cases that you can try to replicate once you’ve built the basic tool.
House

Factory

Stone

Tree

Woodchuck

If anyone makes a prototype, I'll link to it here. 

*Update!* Angry Octopus has a prototype.  (The more the merrier, so keep making 'em.)


All the best, 
Danc. 

Saturday, July 20, 2013

A single game as a lifelong hobby


Do you finish one game and then move onto the next? This is the dominant pattern of play for gamers. What happens when players stop consuming and starts investing in a single evergreen computer game for years on end?

Players of traditional games specialize

Across the 5500+ year history of gaming and sports, players typically focus on a single game and turn it into their predominant hobby. A chess player may dabble in other games, but chess is their touchstone. They join chess clubs, they play with fellow chess fans and they spend 90% of their gaming time playing chess. Overall, players specialize.

Such players do play other games, but to a far lesser degree.

There are also communities that embrace the identity of being good at multiple games or sports. These are a minority.

And some are inclined to claim all hobbyists are 'athletes' or 'players' and thus unified in some common tribe. Such verbal gymnastics rarely provide much insight into a dedicated hobbyist's specific passions or the nature of their community.

Specializing in a hobby occurs for many reasons. Traditional sports or games often have the following attributes:
  • Evergreen activities: You don't beat them. You stop when you get bored. Usually they consist of nested loops that operate on time scales of up to a generation. Consider the nesting of Match : Event : Season : Career : Training the next generation.
  • High mastery ceiling: Most are nearly impossible to master completely. You can always get a little better. You can always get better at Go, Soccer or Poker.
  • Strong communities: There exist strong social groups of like-minded players that have their own group norms, hierarchies and support structures. To be a dedicated basketball player is to be part of an extensive basketball playing network.
  • Life long identities: Someone who excels in the game starts to identify as a member of that group. The game becomes source of purpose bigger than themselves. They can look back on their life and say "There were some ups and downs, but I'm secure in my accomplishments as a player of game X"
  • Grass roots or service-based business models: Any cultural structure can be fruitfully analyzed by understanding the flow of money. Many traditional games have extremely low barriers to entry. It costs little to access the initial equipment. Often items like decks of cards or chessboards are either communally owned or purchased by a family and one set of equipment serves multiple participants.

    At higher levels of play, cash flows into the ecosystem through purchases of more advanced or higher status equipment or various service, membership or event fees. In all cases, the businesses involved have strong financial and culture incentives to get you playing and keep you playing.

Players of digital games consume

The hobby of computer or console gaming follows a different usage pattern; gamers play a wide variety of games. NPD claims core gamers buy an average of 5.4 games in a 3-month period. In a recent discussion of Steam purchases on Kotaku, commentators chimed in that they had purchased 100 to 800 games. These are played for a period of time and then set aside so that a new game might get some play.

These players specialize far less. They may prefer a genre of games such as RPGs or shooters, but they'll still consume many games within that genre.

Why the difference in playing patterns? Commercial digital games have some distinct attributes that encourage serial play instead of evergreen play. Not all digital games fit this mold, but the trends are worth noting.
  • Complete-able games: Most computer and console games can be completed in 5 to 40 hours. It is rare that you find digital games that retain users longer than 6 months. Actual playtime is shorter than the official length since most players do not complete their games and even fewer play through a title more than once. Compare this to the generational nested loops of traditional evergreen games.
  • Narrative and Puzzle-focused gameplay: The majority of the gameplay is focused on high burnout single use puzzles or evocative narrative stimuli. Designers spend their budget handcrafting specific scenarios for maximum emotional impact the first time through.
  • Low mastery ceilings: Since the design goal is to move players through the content of a game as smoothly as possible, the game mechanics are generally balanced towards the average skills of first time players. It is rare and surprising when a single player narrative computer game offers examples of masterful play. All this leads to early burnout where players rapidly become 'bored' and put the title aside.
  • Weak player identities: It is difficult for a player to establish their identity around their excellence in any one game. To be a good Braid player just isn't that special. Lots of other people have walked the same path; there is little player creativity and outside the occasional Let's Play video, few people care.
  • Content-focused business model: Digital games businesses have a strong financial incentive to get you to pay upfront and then move onto their next title. Games are treated as a content or boxed product business. An optimal strategy is to put high quality boxes on shelf (either physical or virtual) and get people to buy as many boxes as possible. Since exciting content remains a large cost center, there is ever increasing pressure to make games flashier and more marketable on the front-end and shorter on the back-end.
Shortness of play is perhaps the key reason why players end up consuming multiple games. With gamers spending 16-18 hours a week gaming, it doesn't take long to burn through a single title. When a single game fails to entirely fill a person's leisure time, players buy additional games. Only a set of multiple consumable titles provides enough engagement for someone to make a full-fledged hobby out of content-based games.

This fits the general profile of a media hobbyist. As we shifted from evergreen hobbies to digital retail-focused games, we trained users to behave in a fashion similar to that of a reader who reads many books or a movie goer who watches many movies.

A media culture

To be a 'Gamer' is to buy into numerous requirements that only exist to enable the creation of easily consumable media products.
  • Reviewers exist to help players select their next media purchase
  • Critics exist to demonstrate how media conveys a message to society. They are trained (if they are trained) in other media-centric fields such as movies or literature. There is little systemic thinking since media is first and foremost not a functional system but an evocative stimuli.
  • The form of popular games is determined by whether or not it fits in a media box. Form is the standardized structure of a piece of media. The 2-hour narrative movie is a form of video. The 300 page novel is a form of writing. So too is the 14-hour adventure game or the level-based narrative FPS.
  • Stores and storefronts exist to sell the hobbyist a steady trickle of new media. Since media creation is expensive and the share of a player's time is small for any single piece of media, aggregators of content are typically 3rd parties that don't produce all the media themselves.
  • Communities are built around mass media that act as a shared experience for large populations of consumers. Big brands like Mario, Mass Effect or Final Fantasy form cultural anchors much like Star Trek or Star Wars. Comparisons, reminiscences and fan fantasies about future sequels or expansions are common.

Digital evergreen hobbies

Into this media-centric ecosystem we've seen the reemergence of major games that hew more closely to the traditional games of old. MMOs like World of Warcraft or MOBAs like League of Legends are services. A digital game like Minecraft ties into numerous communities and is often played for years. Some like Halo or Call of Duty cleverly camouflage themselves as traditional consumable boxed products all while deriving long term engagement and retention from their extensive multiplayer services. These games share many of the attributes of older hobbies:
  1. They attempt to be evergreen.
  2. They have high mastery ceilings and robust communities.
  3. Many, especially eSports, replicate the nested yearly loops of a traditional sport.
Each of these games is a hobby onto itself. People predominantly play a single game for years. In one poll of 5400 WoW players, 49% claimed to never actively play another MMO.

The rise of services

This shift to services is accelerating, driven by business factors and steady player acceptance. Developers are slowly coming around to the realization that an evergreen service yields more money, greater stability and a more engaged player base. Experiments of the past few years with social, mobile and Steam games suggest that microtransactions will likely become a majority of the gaming market. They already represent 70% of mobile revenue and continue to grow rapidly on other platforms.

This new revenue stream places new constraints on game designs.  Types of laboriously handcrafted content that was once feasible when your game was played 10 hours is no longer profitable if revenue trickles in over hundreds or thousands of hours of play.  Deep mechanics once again matter.  Communities you want to spend time in become a competitive advantage.

There are indeed manipulative companies scamming settlers in this newish frontier. Don't act so surprised. This is the case for any frontier and this is not the first time games have attracted disreputable developers.  Look beyond the flashy, inevitable crooks, just as you looked beyond the licensed games, the porn games and the gambling games that infest your typical game markets.  Look at the big picture and observe where the new opportunities for greatness blossom.

No, they won't cross over

These new evergreen players become hobbyists, but not media-centric gamers. This is most evident in the audiences that play 'casual' social and mobile titles. Many of these players never bought into the current gamer culture. It is common to see someone deep into Candy Crush and when you ask them if they are a gamer, they will deny it. They do not 'game', they never have 'gamed'. They don't share a common heritage of Mario, Zelda, COD, Halo or any of the mass media touchstones that unite current gamers. What they have is a wonderful hobby that in their mind has nothing to do with existing computer games.

There exists a fantasy that somehow new players will get hooked on one game and then transfer over to consuming other games. Since this assumes a play pattern of high volume serial consumption, I doubt that this will occur. Great evergreen games leave little room in a hobbyist's schedule for grand feasts of consumable content. You don't finish a great hobby and then look for your next dalliance. You keep playing the game for years or even generations.

 The perfect service-based game is one worthy of your entire lifetime of leisure.

If this seems an exaggeration and current titles feel unworthy of this high bar, wait a while. Developers are very talented. And the financial incentives to build the perfect service-based game are strong.

Not one gaming hobby but many

So where does that leave our understanding of 'gaming?'
  • Some people avidly knit in their leisure hours.
  • Others play a creative game like Farmville, Dwarf Fortress, Minecraft or the Sims.
  • Others participate in a social online game like World of Warcraft, Eve or Facebook.
  • And then there is a small but active community of proudly old-school Gamers that like consuming puzzles and story media.
What we currently think of as 'gaming' becomes just another hobby amidst a vast jungle of digitally augmented hobbies.

There are those who might see this as a threat, but that is mere fear talking. Existing hobbies tend to last for at least a generation. Those who've tied their identity to consuming media-style games as their hobby will stop participating in the hobby when they die. I expect to see 80-year olds still buying adventure games because that is what they were raised on and that is what they love. Niche producers can make good money serving these avid fans.  The rise of new hobbies thus do not invalidate a current hobby.  In fact, you'll have media-centric games for at least the rest of your life.

 Though each hobby likely will need to compete for new members.

Impact on the cultural ecosystem

With this shift comes change. The following may challenge your existing expectations.
  • Specialized interests, not shared experiences: The drop rates on defense potions matters little to your typical gamer. Yet it is of earth shattering importance to the community of Realm of the Mad God players, impacting hundreds of hours of their life. At a certain level of mastery, the language used to describe in-game concepts becomes indecipherable to casual audiences. This inhibits communication with external groups, but facilitates bonding within the group.
  • Deep systemic analysis, not broad media criticism and reviews. Hobbies are predominantly comprised of human systems and communities, not texts to analyze or boxes to sell. Political, anthropological or economic forms of discourse are more appropriate yet there are few game critics trained in these fields. Successful commentators are typically past players with a master-level understanding of the hobby. They are rarely dilettantes flitting from media event to media event.
  • Unique cultures, not mass cultures: A hobby can develop a set of inward facing social norms. This can be a negative if extreme viewpoints are allowed to fester. It can also be a huge positive and promote inclusivity, equality and long term positive relationships. Each hobby is a cultural petri dish that need not adopt dominant tropes or values.
  • Participation, not marketing campaigns: New players of a hobby hear about it from a friend or stumble upon a free trial. They participate first and see if they enjoy the lifestyle that the hobby promotes. Big bang media events can flood the early stages of the acquisition funnel, but they do not directly result in revenue or a sustainable community. 
One aspect that surprises me the most is the stealthiness of inwardly sufficient hobbies. A smoothly running process is barely newsworthy for those unfamliar with the hobby. Over 5 million people partake in Geocaching, one of the greatest modern games ever invented.  Yet other than the occasional human interest story, it rarely breaks into the public consciousness. What would a media-focused rag say?  "People are having healthy fun...still.  Just like they were last year." That's not news. There is no new box to hype or content to whinge about.  There's no advertising to sell. So silence is the default until you look inside the vibrant magic circle. Geocachers return the favor by labeling outsiders Muggles.

Let a thousand flowers blossom

The concept of one true gamer community will be less feasible as evergreen hobbies grow in popularity. Instead, we have a crazy mixing bowl of diverse, separate, long-term communities. Few will share the same values or goals. Few players will consider themselves having anything in common with players of a different game.

Social organizations such as PAX will still promote common ground, much like the Olympics promotes common ground between athletes. But day-to-day cross-pollination will be rare.

I personally value a wild explosion of diversity. We need less mass culture and more emphasis on vibrant, generative communities instead of passive industrialized consumption.

The existing society of players may be tempted to deal with those not like themselves negatively through shaming ("I can't believe you play Farmville, stupid person!") Here's how we might instead react positively.
  • Freedom of Play: Like freedom of religion, any player has a right to devote their life to any game even if it isn't something enjoyed by another player.
  • Mutual respect: Any player deserves your respect for their hobby even if you do not personally understand it. Avoid stereotypes and engage with the person.
  • Willingness to explain: Any insider should be willing to explain to an outsider how their hobby works. Proselytize by inviting them to play with you. An open-minded outsider should be willing to listen.
The fact that individual hobbies exist is not new. The shift comes from realizing that individual digital hobbies will soon to be the default play pattern. Adapt accordingly.

take care,
Danc.

References and Additional Links

Note: Gamers often wonder why Farm Equipment simulators sell.  Judged as mass media, they are horrible.  Judged however as an independent hobby, they have many of the attributes of an engaging lifelong interest.  If you laugh at them, it is because you are outside their tribe and ignorant. 

Wednesday, July 17, 2013

Coercive Pay-2-Play Techniques


Coercive monetization models are used by many of the large corporations that dominate the "Pay to play" (P2P) charts in retail, console and mobile.

They employ carefully engineered psychological traps intended to defraud ignorant players of their money. This shocking expose shines a light on their dark, inhumane practices. Be forewarned: Despite extensive examinations of opinions similar to my own, I am intentionally unaware of any company that manages to use these systems of coercion in a positive manner.

1. Purchasing sight unseen

The primary method is to get a player to purchase something without ever playing it. If you can get players excited about a new game, most will buy it with little more to go on than a box shot and a video. Many secondary techniques tie into this basic strategy of deceit.

Companies intentionally avoid releasing demos or providing free trials in order to increase the number of purchases independent of whether or not a player might enjoy the actual game.

2. Use of propaganda to artificially increase excitement

P2P publishers feed players videos, paid end caps, advertisements and canned previews. Often the marketing spend for a title is greater than the development budget. It is cynically assumed that if you shout targeted propaganda at an audience, they will buy in increased numbers.

3. Limiting information to prevent alternate opinions

Since no one can play the game, the publishers are able to keep any information about the game tightly focused on the most effective message that drives purchases. Heavy use of the captive fan press ensures that press releases are repeated verbatim.

4. Distorted game design

Since all that matters in order to make the sale is the initial propaganda, the actual game design is sacrificed. You make money by having a catchy theme, pretty graphics and the ability to turn out short sequential games rapidly. As a result, P2P encourages developers to short, consumable interactive sequences with shallow, low risk, well-worn mechanics. I hesitate to call them "games". Most are little more than a collection of puzzles or QTE that can be clicked through in 5 to 10 hours.

Also because all that matters is if someone buys the box, game designers need not worry much about retention or engagement. Most P2P games are built with little care given to the final few levels. It is common that 50-70% of players never complete a P2P game.

5. Targeting those least able to understand modern sales techniques

Though it might be a stereotype, most P2P titles target poorly socialized teenage males. Unlike women, an educated demographic that makes the majority of purchasing decisions in Western markets, these younger males are likely to naively buy into the pre-sales propaganda without critically questioning its actual purpose. Now if these were shopping savvy 40-50 year old women, you might be willing to say "Let the buyer beware", but can we really expect an audience that has difficulty buying fresh boxers on a regular basis to purchase games responsibly?

6. Bundling and time-limited sales

One of the more effective methods of psychological manipulation is to bundle multiple products together and offer them at an apparent discount. Players perceive they are getting a massive value when in fact they are just accumulating more games that they are unlikely to play or even enjoy.

This also preys upon those damaged individuals that possess strong hoarding inclinations. How many times have you seen players with vast collections of hundreds of uncompleted games? This is an obvious sign of mental illness which P2P developers are all too willing to exploit.

7. Skinner Boxes

Players end up treating game purchases like a slot machine. They may buy dozens of games in a year, but only one or two will be worth their time. This creates a random reinforcement schedule that sets up a form of psychological addiction. Players find themselves stalking the latest game sale in the hopes of getting a new hit of gaming goodness. Of course the system is rigged so that it is nearly impossible to know upfront whether the game in question is worth their money. So they press the 'buy game button' and spin the wheel. Oh, the Steam sales!

In the process a few 'whales' spend hundreds or even thousands of dollars a month on games. Some even purchase meaningless, ostentatious 'arcade cabinets' or inordinately expensive peripherals that retail dealers call 'consoles'. Most of these claim their purchases are part of a healthy hobby and have no regrets. However, I've gone out of my way to find adults with poor spending habits that have stripped their meager bank accounts to 'collect 'em all'. Some young men holding down minimum wage part time jobs were forced to eat ramen in order to continue their spending spree. This deceptive form of capitalist gambling, aka 'shopping', ruins ruined lives.

Other means of manipulation

This small sampling of techniques points to the deep corruption inherent in both making and selling P2P games. There are numerous other other manipulative practices:
  1. Use of fake tribalism: "Genesis does what Nintendon't"
  2. Collector's editions: Use of socially questionable materialism to artificially increase ARPU.
  3. DRM: The pay before you play model leads directly to DRM as a means of artificially blocking non-paying users from trying the game and seeing if they might like it. Piracy becomes meaningless if you provide a long term service or hobby, but that is not the optimal strategy for money-grabbing P2P firms.
  4. $60 price tags: If you are selling a fantasy product, you might as well take any willing mark for as much as possible.
  5. False console cycles: With a mere billion dollars on fresh propaganda, P2P companies know that they can artificially stimulate a mass of people to invest in a new console and then repurchase their old games all over again.
  6. DLC: Since P2P is essentially about churning out cheap, consumable content, these "games" only get upgraded if the expansions take the form of cheesy modular DLC. Mechanical upgrades that improve the core gameplay or social systems are rare since there is little financial incentive.
  7. Overemphasis of reviews instead of actual player behavior: Good reviews are just another form of message control and propaganda. This is why dev bonuses are tied to Metacritic scores instead of statistically valid player metrics.
There is a substantial human cost to these shenanigans. Through I have zero hands-on experience making P2P games (and honestly have no interest in them), several inexperienced indie friends attempted to make a P2P game. After one attempt in a crowded and competitive market, they failed to buy a Tesla. Since I personally enjoyed the prototype they showed me at a game jam, I think it is clear that all the blame for their game's failure (and subsequent public emotional turmoil) can be laid at the feet of the P2P business model. This is not the silver bullet you fantasized about as an inexperienced non-developer.

In closing

In the end, P2P hurts gamers and the game industry as a whole. I urge you as an ethical designer to reject this immoral practice. The egregious abuse of players by popular pay-2-play practitioners makes any use of P2P invalid. I question if it is even possible to make a moral P2P title. (Indies should especially distance themselves from this culture that is little better than legalized gambling.)

What we really need is to make great games where players can try the games for free and then make an informed decision on whether or not the game is worth their money. In an ideal world, games should be meaningful long term hobbies that enrich a player's life, not some cynical scam job reliant on engineered propaganda spam, sexed up artwork, forced sequels and a captive press.

Imagine games where players only pay their hard earned cash if they find the gameplay meaningful. They can try any and all of a game for free as long as they want. If they don't feel the game is adding to their life, then they can leave at any time.

Sadly, such an honorable course seems unlikely. No doubt that we'd see overblown rhetoric and misappropriated science denouncing such an idealistic experiment by those deeply involved in coercive, yet highly profitable, P2P businesses.

Yours truly,
Monsieur Troll

PS: When posting comments be sure to see if it passes the "I understand that this essay is satire" check. I'd hate for there to be any sort of embarrassing misunderstandings.

PPS: These are exciting times where business models and design problems are evolving radically and rapidly every month.  That multiverse some call 'free to play' is mutating along dozens of different variables. The old familiar retail 'pay to play' model is also fracturing into something new.  If you think you grok how any current business model works, you probably are several years behind.

The uncertainty and change can be scary. Maybe you recently played a game that was different than ones you played as a child. Or you heard some stories. And now you feel the urge to express your emotions via loud opinion spewed onto the internet. Oh look...more precious time passed while you were ranting and you learned nothing. 


Polarized views backed by mere opinions fails to move the science and craft (and ethics) of making games forward. What are you personally doing with code and art and functional gameplay in order to carve out a viable, sustainable future for great games? Let's talk about that.  Mere gnashing of teeth, often witnessed in the same form as the essay above, is noise that drowns out thought.