Saturday, May 08, 2010
It's simple. When a game developer ports their work to Linux, it's news. At least in the Linux World. Linux users are hungry for games. The slashdotting of our coverage of the Linux port of World of Goo and Penumbra should be an indication of the importance placed on Linux ports.
Or not...slow news days happen.
Regardless, one of those game companies had to resort to bit torrent downloads due to their servers cratering under the assault of downloads from the /. article.
No market for Linux games....yeah right.
But to quote Yoda, "Short of native game choices we are."
There's a reason for that...I mean aside from the myth that the Linux market is too small to support game development.
We've spent some time talking with Dave Burke. Dave is the originating author of Osmos. As we announced albeit a bit late Osmos is now ported to Linux and it's quite an entertaining game. Dave speaks with us about some of his history in gaming and why he ported it to Linux.
And possibly why others do or will not.
First we asked Dave about his initial foray into making a Linux port for Osmos:
This has all been a particular challenge because I'm essentially a rank beginner in the Linux world, and so that standard wisdom one builds up over the years is of little use on a new operating system. I used Linux a bit back in grad school, but only in a very end-user kind of way. Back then, I learned enough about the basics of emacs and gmake to get my code compiling. There was also the occasional Nethack diversion... but certainly as far as installing and maintaining Linux on a machine goes, my experience with porting Osmos to Linux has had me venturing into entirely new territory. And of course to do any kind of decent QA on Linux, you need to install and run multiple distros, WMs, 32bit vs 64bit, etc -- and so when each of these has unique problems with this hardware driver or that audio device, the whole process becomes quite a slog.
Audio device discussion will follow shortly. Helmets may be required.
But before it get's to that level, we asked Dave Burke about how he got into gaming...what were his influences and motivations:
I've been making games since I was a kid. With friends, we'd reinvent rules for crappy boardgames to make them more interesting. The earliest game that stands out in my memory is a space battle game using chess pieces on a board as ships (pawns for space mines, bishops for homing missiles, etc). We did a great version of Battleship, reworked on graph paper to have islands, movable units, different kinds of weapons, radar, recon... did you know Battleship started as a popular pencil-and-paper game, until Milton Bradley packaged it up in the 1960s, called it their own and started selling it?
The game programming started in BASIC on the XT. The first games were text-adventure; "You're in a room with an angry-looking ogre; he's eyeing you hungrily." Once I learned the PSET command, the games became more arcade-like with pixel graphics... one that stands out was a Pong clone with lasers and some interesting ball-paddle physics. Over time the games and the tech became more sophisticated; I started doing games with animated sprite libraries. One game in particular that I wish I still had on diskette was a 2D space battle game called 'Fighters' with rotating ships, special abilities, and between-round visits to the shops to spend your hard-earned cash to rearm. At the time, it was by best and most-polished multiplayer computer game (two players on one keyboard, mind you -- no internet in those days).
I became big into hand-made middleware for my games; their in-game level editors, sprite editors, resource loaders, ... For awhile, I'd spend more time designing the tools to make games than I'd spend designing the games themselves. I did a turn-based hotseat-multiplayer strategy game called 'Tanks' that looked and felt alot like the original Civ1 on the Amiga, and another BASIC game that was a splitscreen RTS/arcade hybrid with mechs.
I also did alot of pseudo-3D games with line art (think Tron, or Doom in wireframe with no textures). They were all a bit odd because I was in grade school at the time, and the maths were all hand-derived and therefore not quite right. This was before I knew anything about vector algebra or matrices. Then I pretty much hit the wall with what BASIC could do, and my game programming took a break until after highschool, when I learned C and the proper 3D maths in university. I did an undergrad in physics, a Master's in computer science, then went off to work at Epic Games for a few years.
You worked for a corporate gaming company and left. Why?
I left the games business in 2007, about a year before I first started working on Osmos. My reasons for leaving the biz had nothing to do with Osmos or starting a new project or studio. Rather, I left for personal reasons, during what can best be described as a sort of quarter-life crisis. I needed a break from sitting in front of a computer for 10-12 hours a day, and I needed some time and space to re-evaluate what I valued in life and what I wanted to spend my time and energy on. I figured some things out during my year away from the screen, and Osmos was a great project to come back to because it's something of a counter-cultural game. It's a game that promotes relaxation and thoughtfulness rather than aggression and violence, and I really love that.
Eddy Boxedrman and Aaron Barsky are the other full-timers at Hemisphere right now. Osmos is Eddy's baby; he's been working on the game on-and-off for about four years now. Most of that work has part-time hours on the side of other full-time work. In April ’09, however, Eddy left his job at an animation software company and moved from urban Montreal to a town called Nelson in the mountains of British Columbia where he now works on Osmos full-time. Likewise, Aaron left behind the stuffy environments of business and biotech software, packed up from Vancouver and moved up to Nelson to grow the Hemisphere Hive and work on the Mac, iPhone and iPad versions of the game (which we'll have lots of news about shortly!)
So, what are the real barriers to porting games to Linux...I mean from a dev's perspective?
The major problem with audio in Linux is, well,... audio in Linux!. It's 2010, and yet it's shocking how messy the whole affair is -- you can't even count on something as simple as simple non-streaming playback, never mind any kind of processing. There are a variety of standards (ALSA, OSS, PulseAudio, etc -- which does a developer choose?) which is another of saying this: effectively, there are no standards. Furthermore, for a given standard, some drivers are buggy and poorly configured by default, while others do horrible thinks like block on open when another process has opened the device. It's true that OpenAL hides all the audio mess behind a single stable API, but the fact of the matter is that the mess is still there. You can't count on anything runtime-behavior-wise as a developer; and so the situation is horrible.
Common wisdom in the games industry is that you can't make money making games for Linux simply because the market isn't big enough. That's why AAA shops don't do Linux ports any more. As an indie studio, however, we don't have as many mouths to feed, so for us it isn't as obvious that this is true. So, porting Osmos to Linux has been an experiment for us as a studio. Is it worth porting games to Linux? We sure hope so, but we'll have to see! In a few weeks we're going to publish sales stats and share some analysis on the prospects for the various platforms from the perspective of game development.
Regarding the trouble with Linux audio: I'm going to be writing a post-mortem on my experiences with the Linux port in about a week or so, from the perspective of a seasoned engine developer who's new to Linux. Keep you eye on our blog.
This isn't news to most people who write game code for a living. The 2d boy folks lamented the fact that the latency problems in Pulse Audio was a bugger to work around. Even desktop users who enjoy Linux have had to throw cold water on two audio devices fighting different audio modes .
I don't have the answers...I'm a hack blogger...
Maybe you do.
blather and mumbling provided by Ken Starks at 3:50 PM