February 24, 2008

p

XNA takes a step in the right direction

Filed under: Game Industry — Joe @ 1:42 pm

Last week at GDC Microsoft made a bunch of announcements related to XNA, but the biggest one was that they are adding a new service that allows anybody to create and distribute a game on Xbox Live without Microsoft acting as a filter. From the FAQ:

Starting with the beta launch of the Xbox LIVE Community Games service later this spring, subscribers of the XNA Creators Club will be able to submit their own game creations for self-distribution through to Xbox LIVE Marketplace via the http://creators.xna.com website.  A community of their subscriber peers will be given a chance to download, play and review the game and its content for appropriateness and conformance to the service’s TOS.  Should it pass, the game will then be added to the global games catalog on Xbox LIVE Marketplace and available to gamers worldwide connected to Xbox LIVE.

They’ve obviously been heading in this direction since the initial launch of XNA Studio Express and the XNA Creator’s Club, but it’s nice to see that they’re sticking with it. I really thought that they would get cold feet and continue to use the standard (and expensive) certification process as an excuse to not provide a truly open platform. Of course they still control the hardware and the distribution network, but at least they’re letting the developer community itself decide what games get to go live on the service.

In my mind the biggest remaining question is monetization. How will a developer who writes a game using XNA Studio make money? Microsoft is talking about two completely different approaches there. The first way to make money is that if your game makes enough of an impact on somebody at Microsoft, they might decide to promote it to full XBLA status. Obviously this isn’t an approach that scales very well, and it won’t work for the vast majority of developers.

The much more promising avenue is that Microsoft is starting to talk about revenue sharing with developers.  They aren’t saying much yet, but just acknowledging that sharing revenue is on the way is a big step.  This is all they’re saying on the subject for now:

Q: Can I sell my game on Xbox LIVE Community Games? What is the revenue split?
A: We are still finalizing the business models and revenue sharing details of Xbox LIVE Community Games at this time. More information will be available closer to the retail consumer launch this holiday.

Hopefully Microsoft will follow through with this. There are many ways they could screw it up, though. Any of these things would restrict the Xbox Live Community Games to being a playground for amateurs, and keep anybody with any business sense far away:

  • Require that all downloads be free
  • Keep 90+% of the revenue for themselves
  • Only pay developers in Microsoft Points instead of actual cash

As long as they avoid these obvious pitfalls, this is all big big news. The ability of random people to make and sell games on early PCs in the 80s is the reason we have a game industry today. As XNA evangelist Dave Weller said in his post on the subject, “Oh, so THAT is what a paradigm shift feels like…”

January 6, 2008

p

From Beta to Live

Filed under: Day Job, Game Industry, Production — Joe @ 7:04 pm

The other day I was on a conference call with SOE and said something like, “That build will go to testbed on Monday and to beta a week later.” Since we are going live tomorrow, they were confused by my calling anything “beta”.  I meant “live” of course, but we’ve been in closed beta for two years and just finished a month of open beta. Old habits die hard.

It did get me thinking about the difference between the two and the big change we’re going through when our first paying customers log into the game. The shift in vocabulary is really the least important change that launch day will bring. The biggest change is that we shift from doing players a favor by letting them play to them doing us a favor by being our customers.

When you’re in closed beta you have a huge pile of applicants begging for a small number of beta slots. They have to play by your rules or you will kick them out, and those rules are pretty draconian.  They can’t let anyone know they’ve been accepted to beta. They can only play during select hours. Their characters could be wiped at any time. They work for you.

When horrible bugs or completely broken builds happen in beta, people are upset, but they understand that such things are what they signed up for. The people who rant about stability problems in the beta forum are invariably attacked by other testers with cries of “It’s a beta!” These “beta-cops” have much more tolerance for downtime than the developers do, and often need to be reined in.  Extending downtime to debug a serious server problem is a frequent occurrence in beta. Beta downtime is often unpredictable and usually not announced more than a few hours in advance. You also tend to push the limits of your systems to see where they break, even though the breakage means hardship for players.

All of that changes when you go live. Once your game is live, yours is just one of many ways your customers can spend their time and money. You are lucky they picked you, and if you want to keep them, you will treat them well. You can’t tell them what they can say or when they can play. You can’t ever delete (or lose) any of their data without serious repercussions.  You work for them, and can’t ever forget it.

Your game must be up as much as it possibly can be. If another half hour of downtime will let you diagnose a problem that will take two days to figure out otherwise, tough.  (Obviously exceptions can be made if the half hour of debugging will save you a hour of downtime down the road.) Planned outages have to be announced at least a day, and preferably a week, in advance. Major changes can’t be on the test server for a few days, they need two or more weeks. Nobody gets check-in permission on the closest-to-live branch(es) unless multiple high-ranking staff members have signed off on the change.

Some things don’t change when you go live. Communicating honestly and frequently with your community remains essential. In fact, communicating with the community gets much more interesting after your NDA drops. They start to have an idea what they’re talking about when they can see what game you actually made. Of course keeping them involved in your decision making process is just as important in beta as in live, the audience just gets larger because the whole world can see the discussion.

At least I think that’s how it will go. I’m still 14 hours from launching my first MMO. Maybe those of you who have done this before can tell me how far off I am. :)

January 2, 2008

p

ION Game Conference call for speakers

Filed under: Game Industry — Joe @ 2:43 pm

OGDC was the best conference I went to last year, which is why I asked what I could do to help when I ran into Peter Freese at PAX. Well now I’m on the board of advisors… guess that’s what I get for opening my big mouth. :)

The conference is changing its name this year to ION Game Conference. It’s the same people putting on the conference, just a rename. Personally, I think it’s a much better name.

The conference is looking for speakers, and is accepting proposals until January 21st. All tracks are accepting proposals, but I’m mostly involved in the selection process for the programming talks. If you feel qualified to give a lecture about any of the following, please submit a proposal!

  • High performance networking
    • Techniques for handling extremely large amounts of latency-sensitive data
  • Moving from development to operations
    • Deployment procedures
    • Tips for debugging live problems
    • Recording crashes
    • Alerts for exceptional conditions
    • Dealing with huge numbers of logs
  • Build systems for big projects
    • Managing the entire asset pipeline as well
    • Injecting new content dynamically
  • Using scrum for big online games
    • Organizing cross-functional teams to get programmers to work more effectively with artists and designers
  • Tool chain postmortems
    • What worked and what didn’t on tool pipelines for artists, designers, and operators
  • Building highly concurrent systems
    • What techniques can be used today to take advantage of 4-8 core systems
    • Distributed processing across separate processors
  • Security Considerations
    • How are games commonly exploited?
    • What are the most common programming mistakes that lead to exploitability?
    • What methods exist for detecting exploits?
    • How secure is good enough?
  • Artificial Intelligence
    • Pathing algorithms for dynamic worlds
    • Emotion and behavior in NPCs
  • Character Visualization
    • Creating customizable characters without sacrificing performance
    • Hiding latency with autonomous character state machines
  • Programming and scripting languages for online games
    • Using Python, Lua, Ruby, et al for servers
    • Using Python, Lua, Flash, Javascript, et al for clients
    • What other languages should developers be seriously looking at?
    • What experience have developers had with managed code in games?

December 30, 2007

p

2008

Filed under: Game Industry — Joe @ 8:51 pm

Everyone else is doing it, so why not… Here is a post full of stuff definitely going to happen in 2008. If it doesn’t, you’ll forget I ever wrote this. If any of these things actually do, I’ll be sure to link back here so I can look like a genius.

  1. Pirates is finally going to launch. Our pre-order head start begins next week, so as prophetic declarations go, this one is something of a no-brainer. I think we’ll do pretty well, but I’m far to close to the game to be objective. :)
  2. Warhammer Online is going to launch late in the year. Yeah, they’re saying spring but they’re going to slip again. It will be the second “traditional” MMO to crack one million subscribers between the US and Europe, but isn’t going to approach WoW numbers.
  3. Age of Conan is going to ship too. Unfortunately they are going to launch before they’re ready and are going to have a rough first couple of months and disappointing numbers.
  4. NCsoft Austin is going to downsize in a major way. They will have significant layoffs and cancel a bunch of projects. Hopefully none of the folks I know who depend on NCsoft to pay the rent will be affected.
  5. Game journalism will suck in 2008. Mark my words.
  6. Microsoft will announce some sort of marketplace where games developed in XNA Studio can be played without requiring the $100/year Creator Club membership. If they’re smart the game-makers will even be able to charge for their creations. Unfortunately they won’t be able to let go of the “we must have the final say on what games get made” neurosis that platform-holders seem to all have and will strangle their own marketplace to death.
  7. Bioware Austin will finally tell us what they’re working on. My money is on Dog Online– a game where you can only communicate with other players via your sense of smell. Red 5, NC Orange County, Space-Time, King’s Isle, that thing Scott and Sean are on at NC Austin, and 38 Studios will also announce what they’re working on, but the Bioware announcement will generate more buzz than all the rest of them combined.
  8. Somebody is going to put out a game on a social network (via Facebook Platform or Open Social) that makes eleventy billion dollars. they’ll do it by actually taking advantage of the social network’s strengths instead of just using it as a user-acquisition strategy. Lots of talks at GDC and AGDC will bring up this game as the Hot New Thing. Many companies will ignore what’s actually good about the successful game and simply try to use Facebook as part of their user-acquisition strategy. (2009 prediction: Backlash against games on social networks, and maybe against social networks in general.)
  9. Metaplace will launch around mid-year and will start to pick up a little steam by the end of the year. It will take a while to reach critical mass, though, so the Metaplace story will be a lot more interesting in 2009.
  10. 2008 is the year that World of Warcraft’s subscriber base will peak. Some people are saying they’ll hit 10M first, which seems likely. It’s all downhill (slowing) from there.
  11. The failure of the “let’s get a bunch of VC and make a couple MMOs at once with our brand new studio” approach will continue. Perpetual was the big 2007 demonstration, but at least one more will happen in 2008.
  12. Valve will begin work on an MMO using the half-life IP. They won’t tell anyone about it in 2008, of course, but when it finally ships in 2013 it will be awesome.
  13. There will be no significant new products in the AI, Nanotech, or Flying Car industries in 2008.

And speaking of 2008, whatever happened to 2000s two through seven? Have I been living in a cave the past 5 years, or is this just how it feels to get older?

November 11, 2007

p

Will Facebook bring back PBM games?

Filed under: Social Gaming, Game Design, Game Industry — Joe @ 5:55 pm

Earlier this year Facebook announced their new Facebook Platform that allows developers to add applications that users can add to their profile and share with their friends. All these networks let you embed flash into your page, but in Facebook’s case applications can take advantage of all the features of the network itself: news feeds, friend lists, profile details, etc. And Facebook happily allows you to run advertising or charge the users of your application, so you can monetize your users. Developers have created 7782 applications as of this writing.

Not to be outdone, Google announce a new API last week that is sort of the open-standard equivalent to the Facebook Platform. It’s called Open Social and a bunch of non-Facebook social networks and application providers (including MySpace… remember them?) signed on to support it. Network effects work like crazy on this kind of site, so it remains to be seen if Open Social can boost these other social networks, but to the application providers it doesn’t really matter. As long as both APIs support some of the same basic functionality, a developer might as well port their app to both standards.

Of course games are a common application that people write for the Facebook platform. The application tagging on Facebook is pretty crappy, but “gaming” accounts for 879 of those applications. The most common games are trivia games (which seem to exist for every NFL team), games where you “attack” other players and get a news item with the results, simple arcade games with leaderboards, and turn-based board games. Many games give you benefits in the game for inviting people to play, which helps to spread the games through the network very quickly.

The one thing that all these games have in common is that they’re incredibly shallow. That lets people get into them easily but it also keeps them from being particularly sticky. I haven’t seen any metrics on the subject, but it seems like most people tire of any given game within a few days or weeks and remove it from their profiles. The Vampires/Zombies/Werewolves/Slayers game is incredibly popular with more than 900,000 daily active users total, but even more people have moved on from the game to other things. An October 28 article on Free to Play reported that Food Fight had 36k active daily users. It now has less than 23k.

The way people use Facebook puts some serious restrictions on the type of game that can be integrated with Facebook. While millions of people use Facebook every day they don’t spend a huge amount of time there each day. Games that require all players to be online at the same time have a serious disadvantage over games that work asynchronously. You might see FPS and RTS games on Facebook at some point, but they will never be as popular as “throw stuff at your friends” games simply because they have to be real-time to work.

One type of game seems to be entirely non-existent in the current crop of Facebook games: turn-base strategy games. There has always been a community of people playing these games flying under the radar. Back before the web these were called Play By Mail, and Flying Buffalo sold many of them. These days they are more likely to be web-based daily turn or action-point based games. These games are perfectly suited to a platform like Facebook:

  1. They are asynchronous
  2. You can play them in minutes a day
  3. They are deep enough to retain players for months or years

The big question is whether or not someone can design a Play By Facebook game that is easy enough to get into to succeed. Most of the PBM and turn-based strategy games have been pretty intricate simulations of something or other and are generally not for the feint of heart. To succeed on Facebook a game needs to be something that a total novice can learn to play in minutes, because that’s all the time somebody’s friend is going to give the game before they move on to something else. Very few games can manage that while staying deep enough to keep players engaged long-term. There is an opportunity here for someone that can pull it off, though.

October 27, 2007

p

Outsourcing

Filed under: Game Industry — Joe @ 10:53 am

I’ve been thinking a bit lately about outsourcing. Specifically outsourcing the programming on a game. You see, I have a boss who thinks it’s funny to talk about how we programmers ought to be careful not to demand too much in the way of salaries or benefits or all our jobs are going to go to India.

I’ve decided he has basically no idea what he’s talking about. There is no risk of any significant amount of game code work moving offshore. Unless he’s going to move the entire studio to India my department is pretty secure. (Or at least as secure as anyone can be in an industry where there’s news of a studio going under about once a month.)

Rands in Repose posted on the subject of outsourcing a while back. He wrote that “Cogs get outsourced” and included a list of questions that help you evaluate your offshore risk factor:

  • How much process is there in your job? Do you follow a proscribed rigid work regimen? Do you know what you are going to be doing every single hour of every single day?
  • Can you see a flow chart from where you’re sitting right now?
  • Can you see a work-provided clock (not yours) from where you’re sitting right now?
  • Do you work in customer service or technical support?
  • Are there big black binders which describe the work that you do?
  • Is there a glossary for new hires?
  • If you work in software development, are you handed specifications from nameless, faceless designers? Do you NOT have a relationship with the people who are responsible for testing your work?

Let’s see how we game programmers do:

  • Our jobs contain a moderate amount of process; we are somewhere between artists (lots of process) and designers (almost no process) on that scale. Our process tends to be in the form of best practices: code reviews, unit tests, checkin procedures, naming conventions. We never perform the same task twice.
  • No.
  • Yes, but no one pays it any attention.
  • No.
  • Nope.
  • Yes, sort of. There is a lot of vocabulary for a new hire to learn when they join the team, as well as the best practices described above.
  • Hah! The designers have a good idea what they want to see in the game, but will freely admit that they will need to adjust things once they see their designs in action. The artists have basically no idea what they want and require constant high-contact attention. Of all our customers, only Operations is able to write a detailed spec of what they want. We interact with every customer on a daily basis.

The fact is, game programmers are not cogs. We work on something different every day. We constantly adapt to changing requirements from all of our varied customers. We don’t work from a script, and are probably the least compartmentalized group on the team.

A recent news item on Gamasutra seems to contradict this idea. It cites a study by Amritt Ventures that says 22% of developers outsource some of their programming work overseas. Unfortunately the study itself doesn’t seem to be generally available, so I couldn’t look up who participated in the study, how “programming” is defined. And like all studies of outsourcing I’ve read it’s full of apparently contradictions. When 27% of developers have fired three or more outsourcing vendors and 27% also complain about poor quality from outsourcing vendors, why is outsourcing still on the rise?

The answer might be found here. Amritt Ventures will help you to outsource entire games overseas. Moving the design alongside the programming certainly eliminates the communication problems that 12 time zones would cause. And at a very high level it’s relatively easy to spec out an entire game. For instance: “I need a tie-in game for this movie and I need it in 12 months.” or “I need a flash game to advertise this cereal.” If you really about the low-level details of the game you get, you’re probably at least partly a designer, and this kind of outsourcing isn’t for you.

There are obviously also home-grown game designers in India and China that want to build their own visions, that just doesn’t really count as outsourcing. :)

When it comes to US game developers outsourcing the code overseas and keeping the design in-house, I just don’t see it happening. And I don’t see Flying Lab’s leadership transferring itself to India any time soon, so design isn’t moving overseas either. Despite the FUD surrounding outsourcing in the larger high tech industry, it seems like one thing we game programmers don’t have to worry about.

September 15, 2007

p

AGDC 2007 - Day 3

Filed under: Game Industry — Joe @ 11:54 am

9:30am Friday - Coming to America: Nexon’s Microtransaction Revolution

Minho Kim - Nexon

This was the keynote for the third day of the conference and it was every bit as good as the Habbo Hotel talk.  The talk centered around Nexon’s experience bringing Maple Story to the US.  Gamasutra has an excellent write-up.

Unfortunately I was distracted during the talk trying to get my slides onto the laptop I borrowed.  Turns out that some thumbdrives, including mine and Brian’s, require a driver install that is incompatible with Vista. Fortunately Damion was able to read the thumb drive and the convention center WiFi was working well that morning, so the day was saved! Thanks for the help, guys.

11:00am Friday - Flogging: Data Collection on the High Seas

Me!

I think it went pretty well.  You can find the slides here.

1:30pm Friday - Massively Modernized Online: MMO Technologies for Next-Gen and Beyond

Shannon Posniewski - Cryptic Studios

Shannon is the technical lead for game play programming on all Cryptic titles. He described the architecture of the City of Heroes servers, and then went on to detail how they are simplifying things for Marvel Universe. I expect we will go through a similar process with our servers for whatever our next game turns out to be.

The big shocker in the talk is that Cryptic is writing its own database server for Marvel. They were dissatisfied with the performance they got from Microsoft SQL Server for CoH, so they are writing an object-oriented database form scratch. That’s one approach to the object-relational mapping problem, I suppose. It just seems like a risky move for something that’s so fundamental to the game.  I hope it works out for them though.  I loved CoH and I’m really looking forward to Marvel.

And that’s it!  While this wasn’t the strongest conference I’ve been to, there were some solid talks. It was also good to get down to Austin and see everybody. I’m definitely going back next year.

September 10, 2007

p

AGDC 2007 - Day 1

Filed under: Game Industry — Joe @ 9:30 am

I spent the week at AGDC 2007 catching up with people, attending sessions, having meetings, and eating. Lots of eating. This is a summary of the sessions I attended. I hear that you can pay tons of money for the audio to these sessions. IMHO, only four were really worth it.

Day 1 was actually Wednesday of last week, and it’s taking me a while to get all my thoughts written down, so I’m going to go ahead and post the first day’s comments today. Two more posts to come on this subject…

9:30am Wednesday - How to Rule the World (of Warcraft): Ten Lessons

Michael Morhaime - Blizzard

This session was mostly a waste of time. Michael Morhaime told us a bunch of stuff everyone who pays any attention to MMO development already knows: test servers are a good idea, managing your community is a lot of work, you will want a live team that is separate from your dev team. Also, Blizzard loves to polish their games even if that means missing Christmas. Also, they really value their brand. The one useful tidbit was that they make no effort to localize games apart from translation. They don’t think it’s valuable to make gameplay or setting changes for a specific market.

11:00am Wednesday - Designing for Everywhere

Raph Koster - Areae

Raph’s talk has been live-blogged in a bunch of places. You can find the slides here. This was one of the worthwhile ones, so just go buy the audio or read the slides. Gamasutra has a pretty good write-up.

1:30pm Wednesday - Business lessons for Post-WOW Games

Gordon Walton - Bioware

I showed up at the start of this talk, but the room was full so I didn’t get in. I saw Rich Vogel and Raph Koster also not getting in. Rich and Gordon are both on the AGDC advisory board, so I’m guessing one of them caused all future talks in this room to move to the keynote room. This is one example of the overcrowding Scott Jennings described.

1:30 Wednesday - Embracing Web 2.0: Applying Web 2.0 Success to the MMO Space (try 2)

Rick Luevanos - K2 Network

Well I missed Gordon’s talk, but this was a close second choice, so I went upstairs to this one instead. What? I also can’t go in here because this talk is full too? WTF!

1:30 Wednesday - Familiarity Breeds Contempt: Building Game Stories that Flow

Patrick Redding - Ubisoft

This was really a game design talk masquerading as a writing talk. It discussed the need to integrate the story INTO the game rather than just layering it on top. This post on Patrick’s blog covers all the high points. After wandering all over the convention center looking for a lecture I could get into, I missed the first part of this one. What I did see was one of the better talks of the conference though.

Update: Patrick has posted his slides.

3:00pm Wednesday - World Class Networking Infrastructure

Ruben Cortez - Bioware

The speaker was head of operations for Ultima Online. From there he went on to be responsible for network infrastructure for Sims Online, Pogo.com, EA.com, and EA’s corporate network. This was a meaty talk full of operations goodness. After spending the last six months talking to our own operations people, none of it was strictly new, but reinforcement is always nice.

4:30pm Wednesday - The Latest Learning - Database Solutions

Doug Mellencamp - Bioware
Jay Lee - Trion World Network
Raphael Cedeno - Multiverse

The panelists spent the first half of the hour talking over the standard object to relational DB mapping techniques and what their companies are doing to solve the problem. Not much was in here that wasn’t in Doug’s talk from last year. This is a big opportunity for a middleware company. Every MMO company does a ton of work in this area.

September 9, 2007

p

Slides from my FLogger talk

Filed under: Engineering, Game Industry — Joe @ 1:06 pm

I think the talk went pretty well. If you attended the lecture, I’d love to hear what you thought. I’m trying to do a better job each time I do this, so getting real feedback is important to that process.

My slides are here. I’m not sure how much good they’ll be, but I’m hoping to record some audio to go with them and put them up on slideshare. We’ll see if that actually happens. :)

September 2, 2007

p

AGC Schedule

Filed under: Game Industry — Joe @ 11:35 am

This year at Austin Game Conference I’m giving a lecture about the flogger, which is the data collection system we use on Pirates.  My talk is at 11am on Friday, so come by and learn all our secrets! Jess and Troy from Flying Lab are also speaking in their respective areas.
I’ll be down there the whole week, and I’m really looking forward to it.  AGC is always a blast.

Next Page »