Category Archives: Game Business

Open Source and Game Development

LBP_PSP_2_zpsf5435119

Game makers compete to make the best games. However, we don’t compete to make the best tools, whether they are content creation tools, pipeline tools, analysis tools, or testing tools.

We’d all reduce our development costs and make better games if we could share the cost of developing great tools. In turn, better games should attract more gamers and more gamer money, which would benefit all of us. We all lose when bad tools lead games to crash, stutter, or otherwise leave gamers disappointed.

Unreal, Unity, and others have excellent tool sets, but they can’t solve all our problems. If they did, we wouldn’t need to hire programmers.

What opportunities do we see for open source collaboration in the game industry?

To start, I know we all need to make tools. Professional tools can have a daunting list of features:

  • Cut, copy, paste
  • Undo, redo
  • Search and replace
  • Source Code Management (SCM) integration
  • Bug tracking integration
  • Ability to push updates
  • Crash reporting
  • Skinable
  • Keyboard shortcuts
  • Testable and Scriptable (say using Python)
  • Syntax highlighting
  • Spell checking
  • IntelliSense
  • XML import and export
  • Docking and window management
  • Standard UI controls
  • Session recording and playback
  • Multi-document editing
  • Support localization

Media or Game specific tools would add even more features:

  • Timeline controls (A lot of media has a time component)
  • Statecharts (like Visio) (A lot of media has states)
  • A variety of 2D, 3D or audio controls, meters and widgets (think Maya or Sound Forge)
  • High performance 2D and 3D viewing
  • Audio and video capture and playback. Variable rate playback.
  • Metadata extraction (All media has useful metadata)
  • Control via multi-touch (A single slider may not be ideal for media manipulation)
  • Layers (to allow multiple content specialists to work on the same ‘objects’ at the same time)
  • Separation of target and host (when you develop on PCs and target consoles or less capable devices, or multiple devices with varying formats)

Unlike throw-away tools, professional tools are hard to write (from scratch). Luckily, most of these professional features are common from tool to tool. Users want common, or better, identical functionality across their tools. They hate relearning variant UIs for each tool. Programmers adding new features to old tools also don’t want to have to learn a unique code base before they can be productive. The solution to making professional tools quickly and inexpensively is a high quality, modern tools framework.

Bill Budge came to Sony Worldwide studios nine years ago to create a tool to make tools, especially game tools. We called this effort ATF, for Authoring Tools Framework. We open sourced ATF on GitHub at GDC 2014. Although ATF offers most of the features listed above, this post isn’t a review or description of ATF. (For information on ATF: https://github.com/SonyWWS/ATF. Also, see ATF’s extensive wiki at https://github.com/SonyWWS/ATF/wiki)

We open sourced ATF, not only to do something nice for the game development community, but in the hope that ATF might be the start of something bigger. We want ATF to be a foundation for a long-term, open source effort enabling many game (and game platform) makers to work together on valuable (but non-proprietary) technology.

We aren’t the first company to open source tools or game technology. But game developers lack a place where open source contributions are vetted by a community of top developers. As Linux or LLVM have taught us, it’s not enough to upload some old tools or modules to GitHub and claim you are supporting open source.

Your contributions must be useful to many game developers. They need to pass code review, so they need to be well architected, documented, and include robust automated testing (so it’s easy for others to continue development). They should be modular, flexible, and efficient. They must pass all build or continuous integration tests. They should leverage common frameworks. Breaking changes should be minimized (and work arounds documented). New components must work with existing components and be non-duplicative. Like any ongoing software project, refactoring will be needed on occasion.

We believe game companies can collaborate if we focus on non-proprietary pieces, the stuff your top programmers don’t want to do, the boring stuff, if you’d prefer. Stuff like:

  • Automated testing
  • Performance Analysis
  • Common content editing tools (level editor, script editor, state machine editor, etc.)
  • Common networking components
  • Common social components
  • Common business components
  • Common pipeline components
  • Common asset management, asset workflow, and asset analysis
  • Analytics and Metrics

We want ATF to be an enabler for this long-term effort. If you’re interested, we hope you join our community, https://github.com/SonyWWS/ATF, and start contributing!

What to tell your boss about Open Source?

If your company is spending significant resources on proprietary software that―

  1. isn’t your company’s competitive secret sauce,
  2. would be interesting and useful to many programmers, and
  3. doesn’t duplicate other open source technologies,

―you should either commercialize it or open source it. You’re wasting your company’s money if you don’t.

This is good place to note that commercial software can also be open source―that these terms are not mutually exclusive. You can open some or most of your company’s source and require a paid license for commercial use (even if academic or non-profit use is free). You can keep just enough proprietary (even for a relatively short period of time) so that anyone who can afford it will pay for the whole thing, not just the open parts. You don’t even need to decide exactly what to do up front, just start with the safe (to open source parts) and see how it goes. That’s what we’re doing with ATF. 

Next Post: Open Source and Game Development

What costs are associated with Open Source?

Assuming you have one of those rare projects that may attract free help from other companies or individuals, what costs are associated with making it Open Source?

  • Legal: Every line of code should be vetted for proper licensing and being free of contractual, trade secret, patent and governmental restrictions.
  • Refactoring: You’ll need to cleanly separate your code into open source and proprietary repositories.
  • Start up costs: You’ll need to jump-start the open source community. Some minimal marketing, PR, and sales costs are likely before you get to critical mass.
  • Documentation: It will be easier to get adopters if they don’t have to read the source tree to figure out if it might be valuable to them. Existing documentation may need to be expanded, edited, or ported to a wiki.
  • Automated testing: As you add more developers, your need for automated testing increases, so you may need to add or enhance tests.
  • Oversight: Until you can recruit trusted open source partners, all outside check-ins must be vetted for bugs, utility, and foolishness.

These costs are small, but if no one joins your community, you’ll waste your company’s money.

For more on starting and running an open source project I recommend:

Next Post: What to tell your boss about Open Source? 

What should be Open Sourced?

What projects should companies open? Choosing which project to open source is just like any other work decision. Prioritize the work with the highest projected ROI. For open source, these are the projects that will attract the largest community (of free helpers, or more specifically, free programmers) without threatening your revenue.

Projects that appeal to programmers are the only ones that will recruit programmers. Things like:

  • Incredibly useful programmer stuff (TCP, email, HTTP, LDAP, Unix, etc.)
  • Projects that help programmers program (compilers, frameworks, IDEs)
  • Projects that minimize annoying tasks generally assigned to programmers (continuous integration, automated testing, setting up and monitoring machines, networks, environments, etc.)
  • Projects that give programmers access to tools and systems otherwise unaffordable (large databases, expensive instrumentation, etc.)

Just like commercial products, open source projects are competitive. If there is already a dominant, similar open source technology, unless yours is clearly better, you’re probably out of luck. Giving it away for free isn’t going to help, though a truly open license (e.g. FreeBSD) can beat GPL (because GPL is poison to commercial entities).

We open sourced ATF because it is incredibly useful to tools programmers, it helps programmers program, it minimizes annoying tasks, and it brings a variety of otherwise unaffordable bits into reach.  Making long-term success more likely, it has no significant open source (or even commercial) competition. If you want a tool to make tools, ATF might be your only choice. 

Next post: What costs are associated with Open Source? 

What should not be Open Sourced?

no-opensource

Google or Facebook would not be global leaders without the global standards of HTTP, Email, Hyperlinks, Unicode, JavaScript, HTML, and many other technologies. After all these successes it should be obvious that being secret or proprietary isn’t always smart. Only certain kinds of projects should be kept proprietary:

  • Your secret sauce. The magic elements that would reduce your competitive advantage by more than the savings and reach of open community development.
  • Information that, if disclosed, would cause more harm than the good open sourcing brings. Some source code contains trade secrets or information under NDA that cannot be disclosed. Happily, these typically can be excluded from open source distribution by simple refactoring, at some additional cost. Other source code may open the doors to a possible copyright or patent lawsuit or PR gaffes. (Oh my, the things some programmers type into the comment fields!) You’ll need to review every line of code, which unless you already do code reviews, has a cost . (And the benefit of a long overdue code review!) Additional refactoring may be necessary to minimize potential legal entanglements.
  • Lesser value projects that aren’t worth the trouble of converting to open source. No one wants to waste resources or reduce their ROI by staying proprietary unnecessarily. Unfortunately, very little of your (non-commercial) software has any value to anyone else. If you put it on GitHub as open source, no one would show up to offer free help.  Few enterprises bother opening their source code because they have nothing (non-commercial) worth open sourcing.

Thankfully ATF had been code reviewed, copyright reviewed, patent reviewed, and refactored. It wasn’t secret sauce. It did have substantial value to other tools programmers (and it doesn’t have any obvious open source competitors). Happily it immediately perked interest (#1 on reddit upon release) and our community is growing day by day. 

Next Post: What should be Open Sourced?

Why open source software?

logos_fullColor-atf

In honor of my group at Sony open sourcing ATF, the tool to make tools, and this week, the ATF Level Editor, I’m going to explain why open source makes sense for both individuals and companies (and especially game tool makers now that we can share a tool making framework, ATF) in a series of blog posts. I’ll start at the beginning.

Why open source software?

There are three kinds of software:

  1. Commercial
  2. Proprietary
  3. Open source

Many programmers work on commercial software, software made by one company and sold to everyone else. Its ROI is easy to measure: simply add up revenues and divide by costs. For instance, game developers make commercial software. However, not all software developed by game teams is sold. They also develop tools of all sorts, which are rarely sold. These tools are an example of proprietary software.

Most programmers develop proprietary software, software used within a single company. Proprietary software is built to reduce internal costs, not for resale. Unfortunately these cost savings are hard to calculate. Without a clear return on investment (ROI), businesses often treat proprietary software as a pure cost, best minimized, which might be penny-wise but pound-foolish. (To find the value of such software, an investment in analytics is required.)

A few of us work on open source software, software made by either individuals or companies and given away for free to anyone who accepts the license. Linux, Firefox, Chromium, much of Android, and parts of Apple’s OS X are well-known examples of open source software.

Why do individuals participate in developing open source software?

1)   Some programmers are passionate about some kinds of software and so work on these open source projects for fun and enlightenment. This is the same reason people play music, run, or paint. Also, like music or running, this gives people a chance to be part of a group of people who share their interests. We take great pride in being part of a tribe.

2)   Individuals can master their chosen specialty by working on open source projects. Their contributions are open to the world, displayed to any company interested in acquiring the skills demonstrated.

Why do companies participate?

  • Razors and razor blades: We give away something up front to unlock future revenues. Phone companies give away phones (but not service contracts), razor companies (almost) give away razors (but not razor blades), printer companies discount printers (but not toner), game publishers give away ‘free’ games (but not micro-transactions), and companies that sell Linux services give resources to support Linux. They give away the hard to monetize ‘standard’ parts like HTML, JavaScript, or Linux, and sell high value services on top, such as Google ads or professional services.
  • Divide and conquer: Companies are banned from coordinating pricing, labor costs, or ‘unfair’ divisions, even when these would benefit the consumer. However, collaborating on open source software is legal and saves money. Instead of ten companies each building a proprietary compiler (for instance), ten companies can split the development cost for a ten to one savings.
  • Two heads are better than one: When companies’ experts work together, the result is better than if they worked apart. (When Sony shut down its proprietary tool chain efforts and joined the LLVM consortium, it ended up with a better tool chain and saved money.)
  • Trust, but verify: No company wants buggy software. To find more flaws, open software to more eyes. No programmer wants black boxes, as APIs and documentation may lie. Only source can be trusted. When something breaks, source is needed to find the problem. All software has flaws, and unless you don’t care about them, you want source.
  • Build community: A successful open source project will attract partners, potential employees, and efficient global PR, marketing, business development, training and support.  If you need a global standard to enable your business, choose open source.

Next post, what shouldn’t be open sourced?

 

A Stake in the Game

Stake-in-the-game

“ … skill or amusement games are not considered to be gambling in most U.S. jurisdictions… since they are ‘clean,’ the lure of gaming competition and prizes represents a powerful marketing tool with very substantial profit potential.

– From “Gaming Law In a Nutshell”, a summary of U.S. and international gambling laws written in 2012.

For-profit game competitions with real-world prizes are legal.

Prizes are everywhere. Simply take a look at your TV: Sports and motorsports, dancing and singing contests, game shows and reality shows. Beyond the TV there are more, poker, bridge and chess tournaments, even eating competitions. Prizes capture our interest, for killing terrorists ($25 million for Osama Bin Laden) and capturing common criminals.

People love prizes. They give us competition and drama. So why do the people who make video games ignore the dramatic centerpiece of our best-known games: The Prize?

What is stopping game developers?

It appears that lack of real prizes in computer games is based on a simple misunderstanding: if a game pays money to winners it must be a gambling game.

If I offered a $20 PlayStation Network Card to the winner of a game contest I’d be operating a slot machine, right?

PSNcard

False

The phobia towards giving real prizes has come down to us from the early days of pinball (games with both luck and skill) . It is time to fix this error, offer game players the joy of competing for dollars, and allow game companies the joy of collecting dollars.

How would game contests work?

Call of Duty (CoD), a game by Activision, is great first person shooter. Let’s take a look at raising the stakes with real rewards.

To enter a CoD contest players would buy a bandoleer of Special Contest Ammunition for one dollar. That single dollar purchase then becomes the contest entry fee.  The players’ money would enter into a pool with 100 other competitors, where they would compete against one another to win the challenge. The winning individual or team would split the prize money from the pool. For example, if 100 people bought the Special Contest Ammunition to enter the contest and a team of 10 won, the winning team would split the $50 prize, and earn a free ticket to the next, more difficult (and higher stakes) challenge. Activision would pocket the other $50.

Of course, the full price game would come with a few free tickets, to whet new players’ appetite for real competition. For the uninitiated in game design, loss aversion is a more powerful incentive than curiosity. To trigger this sense of loss, after players consume their free tickets, they either must buy more tickets or lose their ability to join real competitions — just at the point when they are starting to have a chance to win.

To make contests viral, winners would also be rewarded with free contest tickets to give to their friends. If game companies want to abuse social marketing, they could require winners to post their victories to Facebook to collect their prizes.

Isn’t this what Major League Gaming is already doing?

MLG-Infographic-2012

Yes and no.
Yes – they are offering prizes, made possible by a good-sized and quickly growing fan base.
No – they do not enhance game playing, except for a few hundred very serious gamers.

eSportsEarnings.com is trying to track the growing eSports market. According to them eSports has grown from $27k in prizes in 1999, to $14M (estimated) this year.

eSports Since 1999

They also report that while Major League Gaming is the largest eSports league, its competitors are close behind.

eSports Leagues

And that professional gaming is driven by the big, competitive games.

eSportsGames

Where Major League Gaming and the other e-Sport leagues uses world-class players to attract a large viewing audience, other companies hope to attract many levels of peer-to-peer competition, and monetize that broad base of players directly. There are many “bet against your friends” services in the USA. The oldest (still operating) is GSN, a joint venture between Sony Pictures Television (58% owners) and DirecTV (42%).

gsn

GSN has been in the cash-prize business since it bought Toronto-based FUN Technologies in 2007 and renamed it  GSN Cash Games. Unfortunately it seemed to have missed the social networking revolution.

In the more gambling friendly UK, King has been profitably operating games of skill since 2005.

King

King’s history shows that real world prizes alone aren’t enough. You need something people want to play, say Candy Crush Saga, to build an audience. King tried hundreds of games before finding the pot o’ gold. Perhaps if Facebook hadn’t barred P2P waging, King would have been content with simple P2P betting.

The second in the USA is Virgin Gaming, renamed from World Gaming after a 2010 investment from the Virgin Group. They take roughly a 10% house cut or ‘rake’.

virgin

One pithy quote on Virgin Gaming is from the prominent game analyst Michael Pachter, who in 2010 said, “It’s one thing to lose time playing video games, it’s another to lose your house. I am incredibly skeptical that this will work.” But by by 2013 Dean Takahashi could write: “Virgin Gaming now has 2.5 million players on the web. Gamers have won over $32 million in cash in 20 million tournaments. Cash games are up 280 percent from a year ago. Deposits are up 250 percent. Sponsorships are up over 900 percent. A recent Halo tournament, the Halo Infinity Challenge, drew 292,000 participants. They played 9 million games over three weeks.”

As more numbers come in, head-to-head betting is heating up.

Skillz received $5.5M in Series A funding on June 18, 2013. Skillz is “the US’s first platform for real-money gambling on mobile games“. “Skillz improves gameplay by tapping into gamers’ fundamental desire for meaningful competition.” And “Face-off against friends and rivals to earn bragging rights, cash and other prizes.” Sounds right to me.

skillz

From CEO of Skillz, Andrew Paradise: “We have a survey that shows 41 percent of consumers want to play in real-money competitions in their favorite iPhone or Android games.

Another platform newcomer is Cashplay.co, which went live June 27, 2013.

CashPlay

Even newer is cashbet.com, recently angel-funded by Fred Hsu and others.

cashbet

Here’s Fred’s take on it. “The only real-money platform that I have vetted from all aspects – team, technical, compliance (HUGE), marketing and distribution strategy – and have given a vehement thumbs up. A true platform not run by 25 year old kids. We are still very early on with real money platforms, this one is worth taking a look at.”

There’s Skillville from the fertile YetiZen incubator. “Since the official launch in April 2010, over 1 million tournaments have been played and over $500,000 in prizes have been won by players in the community. ”  And there’s GamerSaloon.

All the P2P betting companies pay lip service to fair play, including magic ranking algorithms and randomized matching. Since no one is offering handicapping yet, most gamers don’t want to wager against stronger opponents, so it makes sense for these companies to talk about a level playing field. However this is difficult. On a true level playing field, you’d always contend against a perfectly matched opponent in a perfectly matched game. In this case you’d win 50% of the time, lose 50% of the time, and thus end up always losing money, the amount equal to the house cut (~10%).

Of course, we’re not going to get perfectly homogenized opponents; we’re going to get, at each tier of skill, strong players preying on weak players, and sharks diligently figuring out how to masquerade as minnows.

As poker players know, collusion, not leveling, is the real problem of skill-based games. The only way to prevent colluding is to prevent playing with your friends or acquaintances. 🙁

Here’s Ned’s take:

What’s being overlooked is that we don’t have to focus on me-versus-you games: Gambling on skill is a zero-sum (at best) game. Games should be non-zero-sum, like life. To make a better game, we must invent contests that increase the average enjoyment of the average player.

That action is best which procures the greatest happiness for the greatest numbers.

–       Francis Hutcheson, 1725

Game designers should create contest rules that make people happy; aiding the weak, creating the most helpful (and viewed) videos, amazing speed runs, dying in the way that evokes the most schadenfreude (taking pleasure in other people’s pain, including virtual pain), and above all for creation of new, popular game scenarios or objects.

Another interesting approach is what World or Warcraft does: http://us.battle.net/wow/en/community/arena/

WOW encourages players to spend $20 to rent a “new level-90 character with full sets of epic gear” for 9 weeks. In addition, after playing 50 games, you receive a lovely “Armored Murloc” pet.

murloc

At their least inspired, game contests are a form of game rentals that increase game revenues, unlike Blockbuster or Game Fly game rentals, which cannibalize game sales.

What do I win?

In-game rewards, second chances, cash or $20 PlayStation Network Cards are easy to offer. Sponsors can provide additional rewards – the sky’s the limit. A good game designer (or neuroscientist) will tell you that unexpected rewards are best. On the other hand, cash rewards are ideal in return for hard work. If Joe Jones spends 400 hours making a Little Big Planet level, and the level is played one million times generating $100,000 in additional revenue, Media Molecule should be happy to pay Joe $10,000. Then Joe can quit his day job and go into business making Little Big Planet even more awesome.

Today, a runner can plop down $255 to enter the NYC Marathon for a chance to win some of the $700k purse. A student can spend $14 to take the PSATs to win a $10,000 National Merit Scholarship. Or, a gamer could take a quick walk over to the local comic book shop and spend six dollars to enter the local Magic: The Gathering tournament. A player with some extra coffee money should be able to have the same chance with Sony’s MLB: The Show.

Unlike old-fashioned contests, games with cash stakes should be designed so that average players have a real or perceived chance to win each time they play. It could be about half the time or once in every dozen tries. One in five hundred tries might even work if the perception is that anyone can win, and I should keep trying (“Next time it’s going to be me!”). The gamer, like the gambler, should feel that he’s only a shot away from something to brag about.

For-profit skill games with real-world prizes are legal.

I foresee a day, not too distant, when most games generate a nice chunk of their revenue from contests, tournaments and competition. On that day, some games are purposely built for tournament play and the prize experience. What I don’t understand is why contests and prizes aren’t already standard fare? Are we game makers afraid to grow up and make games a true adult pastime?

Even as a teen, I remember with great fondness playing in a two-dollar Diplomacy tournament, winner takes all. The inevitable loss of two dollars was insignificant to how much fun I had turning a mere game into something real. The thought of a real reward made the whole experience much more compelling. It engaged an entirely new part of my brain- the non-game part. How much sweeter would our games be if we could spend a single dollar to make the game real? As for the game maker, well, selling a $1 stake is much sweeter than selling the game for $.99.

Games are all about fun. I want more fun. I want a chance to win.

winner

Give me a stake in the game.

Comments?