Sunday, February 14, 2010

Why you should invest in Applications like Cedega

After I had published the City of Heroes guides I had started passing them around to the companies whose products I had used, notifying Transgaming, NCSoft, and posting on the City of Heroes forums. Another City of Heroes player responded to the effect of, thanks, but the game works under WINE, which is Free. After bashing my head against a brick wall, I tried to communicate to the player why subscribing to Cedega is a better option for the future of City of Heroes on Linux. The fact is, Transgaming uses the same engine in their Cedega and Cider software. Improvements and feedback from both sides of the engine can help Transgaming locate and address problems with their engine, or determine if the problem is with the game or application itself.

Now, last year I published an editorial detailing an approach that would make gaming on Linux viable and profitable to Game Publishers. I used Valve as an example of a company that could use it's influence as a major publisher to address many of the issues that hamper "gaming on Linux" today. The synopsis is that as a publisher, a company like Valve would be responsible for dictating the API's for game development to the developer, as well as providing a static game distribution method. In return, Valve, as a publisher, would handle conflicts on the users end. I used Cedega as a model as Cedega maintains 6 different versions of their Cedega Interface: Debian, Red Hat, Mandriva, Novell Suse, Gentoo / Slackware, and Apple OSX. However, Cedega only maintains one gaming engine. As far as installed games are concerned, they are presented with a unified and identical interface, regardless of what the actual base operating system is.

I still stand by my statements from that editorial. I still do think that a publisher like Valve, or EA, or Activision, or Take 2, isn't going to have a choice in moving into the Linux market. Right now, economic times are tough. The wider audience a software vendor can access, the more chances they have for a sale. The more chances a software vendor has for a sale, the more likely a sale is going to be made. Ignoring the Linux market hit Epic Software in the knees with Unreal Tournament 3, and Raven Software didn't fare well either with it's Linux ignoring Wolfenstein.

Bringing this back around to Cedega, or it's main competitor, Crossover Gaming, increased subscriptions can actually help improve the state of gaming on Linux. The term I'm looking for is market leverage. Lets say Transgaming has 10,000 6month subscribers. That's 10,000 people that Transgaming can take before a company like EA or Activision and tell them is a potential market. The larger subscriber base Transgaming, or Crossover has, the harder it is for game publishers to ignore the numbers. If Transgaming walked into EA's office and told EA that they had 500,000 subscribers, you can bet that EA would be putting Cedega Compatible stickers on every software product they sold.

Which brings up the killer point on WINE. Game Publishers do not like WINE. As an Open-Sourced project, WINE cannot be tracked. Nobody knows how many installs of WINE there are. If everything works properly, a Game Publisher would not be able to tell that a player is not using Windows.

The perception problem with WINE is further complicated by the usual F.U.D. springing forth from Microsoft. Microsoft has successfully convinced many publishers that Linux users are a bunch of free-loading pirates who don't pay for games. Microsoft's statement actually does have a nugget of truth. Many games that use rootkit like security methods, such as Securom, won't work on Linux. However, cracked or pirated versions of these games without the rootkits... will work perfectly. For this reason, Game Publishers like applications like Cedega and Crossover Gaming, as these proprietary applications largely try to leave a Game Publishers security system intact. WINE's free and open-source status, actually harm's the state of Linux Gaming.

There's also another complication involved between Cedega, Crossover Gaming, or just plain native clients. That complication is that most Game Publishers don't understand Multi-platform development.

The case in point here is FireFox, OpenOffice, Opera, and just about any product by Google. All of these popular and well known Open-Source products are built with a cross-platform focus in mind. When FireFox is updated, it's generally updated across all platforms at once. When OpenOffice receives an update, it's across all platforms at once. When Opera releases a new version, it's generally across all platforms... at once.

Game Publishers, however, approach similar, but different, platform as a separate projects. A company like Activision, for example, would allocate separate budgets for Playstation 3 and Xbox 360 versions of the same game. Despite the fact that the game engine is going to be shared, the content is going to be shared, and the development is largely going to be shared, the Publisher treats each version as though it were a separate game, with it's own separate sales data, and it's own separate budgetary allowances. So, when a product like Call of Duty launches, rather than simply checking to see how many units Call of Duty sold, Game Publishers look at the performance on different platforms. So if Call of Duty sold 3 million units on Xbox 360, and 1.5 million units on Playstation 3, and 2 million Units on Windows... what a normal person sees is 6.5 million copies of Call of Duty sold. What the Game Publisher sees is 3 million units of Game #1 on Xbox 360, 1.5 million units of Game #2 on Playstation 3, and 2 million units of Game #3 on Windows.

Some publishers, such as Capcom, realized that separated development was a bad idea and have reworked their internal studios to focus on a common source code build that can be easily ported into, then optimized, for various platforms.

This is why Linux is such a disconnect for Game Publishers and many Game Developers. Keeping with the Call of Duty example, rather than allocating the budget of the game to build a common source code version that could be ported into each architecture and then optimized for performance, and using Technologies that are shared across all potential platforms, the game is separated into 3 source code builds that are then worked on separately, and optimized separately. So when somebody asks about a Linux Client, an accountant starts figuring out the cost of creating a completely new source code build, and thus a completely new game, and comes to the decision that it just isn't worth the money. To a normal person, it's confusing as to why the Game Publisher didn't have the developer use Technologies that were multiplatform to begin with.

There is some hope on this multiplatform front. The success of the Apple Iphone and the various versions of Google Android have forced many publishers to redefine how they work with their mobile platforms. Suddenly using portable technologies like OpenGL, OpenAL, OpenCL, and the like, makes more sense than focusing on a vendor specific API. The hope is that the realization that using a common code base that's easily portable, rather than separated code bases, will strike publishers as a better development method.

Once developers and publishers wrap their heads around the fact that they can indeed create multiplatform content for not much more, if not any more, than it costs to create dedicated platform content, things stand to change. At that point, Publishers might realize that creating separate SKU's of their products for different PC platforms is just pointless. When creating the client for a game, go ahead and create clients for Linux, OSX, and Windows. Then partner with an online distribution client, such as Steam, and let the gamer buy the content. The online distributer takes care of making sure the gamer gets the right client for the game.

Until we reach that stage though, working with, and through, commercial companies like Transgaming, really is the best way to get the attention of publishers that their client base consists of more than just Windows users.

2 comments:

Unknown said...

Thank you for a very interesting analysis of the Linux gaming space.

Cheers,

-jon parshall-
COO
www.codeweavers.com

Dan Smith said...

I guess while I very much agree there should be a bit more uniformity to linux gaming, I really don't agree that paying a specific company is in any way going to 'Help the cause.'

Linux is built around an open manner of doing everything the other big companies can do, but possibly better and certainly cheaper. There will ALWAYS be developers willing to work on a project to improve linux in ways that it can match up with windows, and honestly? They do it because they love it, not because it's business.

I am right there with you when you elaborate on the mindset of the gaming companies when it comes to priorities in game development and reasons why linux is normaly overlooked, but I feel your too harsh on the true open sourcers with regards to using things like wine. You said on the city forums that if you don't support cedega, you don't support the game and as much as you have banged your head against the wall, that one had me going just as bad. We should be looking for a way to make playing windows games an INTEGRATED part of the linux experience, enough that the people who leave linux for a gaming pc may not need to go as far. Wine had been doing these things for much longer than cedega has been around and they didn't want anything back. Codeweavers worked and developed on top of that to make it cleaner and more reliable, but you know what? They are still wine developers and they still give back to the wine community. That is what I see linux is about. Not paying for a subscription to keep something sort of working, but working to make something right so you DON'T have to pay the extra. That is open source. When cedega returns the favors that the wine community did them, then I'll be more interested.

Sorry if this sounds a lil argumentative, this was a really well written piece friend! keep up the good work.