Porting Osmos to Linux: A Post-Mortem (part 1/3)

Posted by on May 17, 2010 in Dev, Linux, Osmos | 26 Comments

A couple of weeks ago, we announced the release of Osmos on Linux. Even before I had finished the port, we had been invited by a few members of the Linux community to do a post-mortem on our experiences. We were asked, “What would have made the port easier?” It was pointed out to us that while some indie developer forays into Linux had resulted in drama (viz. John Blow’s inquiries into Linux back in August 2008 as he was considering porting Braid to Linux), it was hoped that more indies would “take the plunge” and share their experiences with the Linux community, to work together towards developing Linux into a platform for gaming.

Our response was, “Great idea!” Last week, when I finally had time to sit down and begin writing, I discovered there was quite a lot to say about my experiences — more, I think, than fits comfortably into a single blog post. So, nearly three weeks after Osmos’ launch on Linux, allow me to present the first of three daily installments of the Osmos Linux post-mortem!

In this post, I’d like to lay a bit of groundwork by describing where we’re coming from. First then, three main points:

1) As a studio, we are (and continue to be!) open-minded and hopeful about Linux as viable platform for games.

AAA shops have essentially stopped porting games to Linux (viz. the latest positions of long-time Linux proponents id and Epic). Conventional wisdom in the games industry is that you can’t pay the bills making games for Linux because the market isn’t big enough relative to the cost of development. Hemisphere Games, however, is an indie studio, and our development costs are much lower; we don’t have as many mouths to feed, and our aim is for smaller-budget titles. So, it isn’t as obvious that this wisdom holds in our case.

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! We had a nice sales spike our first week, but it’s trailing off fast; we’re waiting to see what the tail is like, as news about the availability of Osmos on Linux gets around. In a few weeks, we’re going to publish some sales stats and share our analysis on the prospects for the various platforms from the perspective of game development. This post-mortem can therefore be viewed as a sort of prequel to the sales and market analysis still to come.

2) Our goal in these articles is to help the Linux platform, not to condemn it.

The word criticism literally means “to discern the value of a thing”; criticism a good and essential part of growing. In continuity with my first point, our objective with these articles is to help the Linux folks learn about their platform, to offer perspective about where its strengths and weaknesses lie. We want to be open and honest in our description of our experiences as game developers working with Linux for the first time. The intent of my feedback is to share what Linux is like for first-time users and developers, where the barriers to entry lie — essentially, what works, what’s broken, what’s attractive and what’s a turn-off!

Please let this be abundantly clear: we want to provide helpful insight into what Linux looks like for game developers — to constructively critique Linux as a gaming platform, for the purposes of improving it, not tearing it down.

3) Our hope is that the experiences and opinions we share will be carefully considered, given our position as seasoned game and engine developers.

Leading up to this post-mortem, I’ve already shared a bit of my perspective with members of the Linux community in a couple of contexts. I’ve found there are three common ways my perspective gets dismissed without engagement:

  1. “These comments are coming from a terrible game designer… If you’re a good developer you get things done”;
  2. “id and Epic port their games successfully to Linux, why can’t you?”
  3. “You should have hired a Linux-pro to do the port rather than attempting it yourself”

Let me respond with two comments. Firstly, observe that the final Osmos Linux port is very polished and successful from a technical standpoint, as evidenced e.g. by the favourable reviews, warm comments on our forums, the wide number of configs supported, the smooth package installation process, the excellent performance even on low-end machines, etc. Secondly, I invite our critics to examine our credentials. For the sake of this post-mortem article, note that I was at Epic as one of the handful of people on the Unreal Engine, and therefore 1) I have a bit of perspective into how things are done and what attitudes are like at shops like these; and 2) I’ve written a bit of code on one or two platforms in my day.

So, I hope it’s clear where we’re coming from; we’re friends of Linux, not enemies!

Let me also say a few words about the Osmos codebase itself.

A Brief Overview of the Cross-Platform Life of Osmos

From very early on in the project, it was decided to build Osmos from-the-ground-up with cross-platform compatibility in mind. Before I joined the project in September 2008, Eddy had (very rightly) decided that OpenGL, OpenAL, libvorbis/libogg and FreeType would be the core libraries on which the game was based (SDL was not an option for us for a variety of reasons; while useful in some contexts, SDL is fairly high-level and not a friendly solution 1) for the kinds of low-level processing that many games need to do, particularly with sound and input; and 2) when considering portability to consoles). The game was initially released on the PC in August 2009. Shortly to follow, we simultaneously launched two ports in December 2009: a version of Osmos for Mac/OSX (ported by our resident Mac/iPhone specialist Aaron Barsky) and a multitouch-and-D3D version of the game for Win7 launch and the new ‘Games For Windows — LIVE’ platform. There have also been iPhone and iPad versions of Osmos in production since January 2010, as well as other dark and mysterious initiatives afoot (more details on these soon!)

So, by the time we came ’round to the Linux port in March 2010, Osmos had already been ported a couple of times and therefore the codebase was mature, stable, and proven from a portability standpoint. We considered hiring out the Linux port, but were wary about it. We were unsure about how much revenue the port would bring in. All ports to date had been done in-house, and so our processes were ironed out and we knew what to do. And anyway, since we’d need to have a heavy involvement in the port for the sake of assuring quality even if it was contracted out, we decided in the end to simply do it ourselves. I was the only person on the port, and the entire process, including the closed beta took six weeks. I have no serious experience with Linux beyond being an end-user in the labs back in grad-school.

So, with all this as preamble, we’ll get on to the meat of my experiences with Linux in tomorrow’s post! Stay tuned…

Dave

26 Comments

  1. Linux Software Blog » Blog Archive » Download Osmos – An Indie Linux Game
    May 17, 2010

    […] It’s a great game, and they have blogged about their experiences of the porting process here. […]

  2. Nils R Grotnes
    May 17, 2010

    Looking forward to the next post, this was a very interesting teaser.

    I read an interesting argument about how Linux releases often come so late after the other releases that they don’t get the advantage of the original buzz. I bought during the “spike” (I suspect). Now that I have tried it, I will likely gift a few more of them later, to people I know.

    One thing I don’t see much of, even when game programmers talk constructively about Linux, is what they have contributed to Linux themselves. Do you report bugs and provide patches to (some of) the problems you find? That would be useful to know, because that is the true “payback” in FLOSS. You should be in a much better situation than the average user to make such contributions, and linking to them should give you much stronger standing when criticising FLOSS.

  3. Ben Selinger
    May 17, 2010

    I feel compelled to make an observation, no matter how obvious to most of us.
    The Linux release of Osmos was probably not terribly likely to stimulate a large number of additional independent sales from Linux users. Myself and everyone to whom I introduced Osmos, had already purchased before the Linux release. Every one of us (~40) ran Osmos under Wine (I even wrote a wee installer for this purpose).

    However!…
    Almost every one of us purchased the game in support of the promised Linux release. Osmos is a fantastically addictive game, and its addition to the Linux world would bolster a somewhat bleak lineup of Linux games, encouraging more developers to hop on the bandwagon.

    I don’t know anyone who waited until the Linux release, to purchase the game, but everyone I know who owns it, bought it for Linux.

  4. Liam Dawe
    May 17, 2010

    I also purchased the game due to the fact that you planned a Linux release, so you can count mine towards a Linux number as i’m sure you can with many others.

  5. Frank Earl
    May 17, 2010

    I’m interested in your perspectives on this. As one of those seasoned Linux-pro’s that you allude to, I am always on the prowl for _legitimate_ criticisms so that I can provide better answers for people when they have doubts and to help try to further the Linux platform as a destination for titles.

  6. Nanonai
    May 17, 2010

    This is going to be interesting. Supporting linux in its generic form can be a death march for ISVs, who thrive on platform rather than ecosystem. Easier, I think, when developers realize they can flip the middle finger to BackwaterVillage Linux and just build for Ubuntu and Fedora… but Hemisphere games seems more populist than I. :)

    > AAA shops have essentially stopped porting games to Linux (viz. the latest positions of long-time Linux proponents id and Epic)

    To be fair, id and Epic were basically the only ones. There was never a thriving Linux game market; in many fronts it’s never been better than it is now.

    > I have no serious experience with Linux beyond being an end-user in the labs back in grad-school.

    Ooh… this might be bad.

  7. Easily Make Ubuntu Linux Titlebar look and feel like OSX
    May 17, 2010

    […] Hemisphere Games Porting Osmos to Linux: A Post-Mortem (part 1/3) – […]

  8. Frank Earl
    May 17, 2010

    @Nanonai: Heh…I’m not thinking it will be all that bad. I know I’ve not had the issues that people keep claiming studios will have. You included.

  9. MaximB
    May 18, 2010

    Hello !

    It’s nice of you to write about Linux and your experience with porting to it.

    It’s wired to me that you begin by defending yourself although I personally did not see any accusations yet.

    I remember making an interview with another game developer that made the Mystic Mine game for the 3 platforms :
    http://lgn.linux-hardcore.com/interview-with-koen-from-koonsolo/

    He says that if you begin developing with the knowledge that you are going to create Linux and MacOS clients then the cost to port to those platforms is ZERO !
    Yep, you heard it right – it compiled and played for him on the 3 platforms without any issues.
    This no matter how much he sold on Linux and MacOSX (although he reports selling equally well on those 3 platforms – about 30% for each) he always won.

    Osmos was ported in less then a month, so the question is – did it even cover the “cost” of porting ? this one month ? (I hear it’s 2 weeks, but for the sake of the question).

    I don’t have the sales states, but I think it was worth it.

  10. GamingOnLinux
    May 18, 2010

    Maxim i am guessing you meant Weird? I don’t see a anything weird about this article? Dave is simply stating a few facts about Osmos itself and explaining a few general things.

  11. MaximB
    May 18, 2010

    Yeah Liam, I indeed meant weird (editing is not supported so I couldn’t fix it).
    The weird for me thing was not the article itself, but the need to defend before being attacked (or at least I didn’t hear any attacks on Osmos port).

  12. GamingOnLinix
    May 18, 2010

    Read point number 3 again, there you can see why from the typical stupid comments i see a lot from groups of Linux people.

    Also if it is weird to you that someone does a little defence in an article then you really don’t read too many tech/games articles….

    They are just trying not to get a backlash from the Linux community, which is fair enough i’ve seen many people get bashed to hell for tiny comments.

  13. helios
    May 18, 2010

    I think if there was any defensive verbiage, it probably stemmed from comments in some blogs that generated interest in the Osmos port. Dave was honest enough to say that he found the sound architecture in Linux a bit stodgy to work with and PulseAudio in particular. He was treated unkind by some for pointing this out. I’ve dealt with a few Indie houses in helping them spread the word about their games, even to a slashdotting so I’ve experienced other devs having problems with our sound structure.

    We should remember that the end result for Hemisphere has been a polished and extremely good game ported to Linux. Now I think we should give the man some room to be objective about the experience and drop our defense mechanisms long enough to hear him out.

  14. Meal Worms
    May 18, 2010

    Thanks for your comments all!

    @ Nils R Grotnes: your point about Linux games losing thunder by not simultaneously launching with the main release is interesting. One way we tried to work around this was to very vocal about promising a Linux port during launch last August. We announced that folks who purchased the game directly through us would be given free access to the Linux version, when available. And this resulted in some ‘advanced Linux sales’ for us (more on this below). So when we were ready to release the Linux port a couple of weeks ago, we sent mails out to existing Hemisphere customers announcing that Osmos was now available for download on Linux!

    @ Ben Selinger: Interesting point, but one way to roughly estimate the total number of Linux sales (including those that occurred at launch in response to the above-mentioned Linux promise) is to look through our records and see who has downloaded the Linux version relative to when their purchase was issued. Unfortunately the number of Linux ‘pre-sales’ is only a small fraction of the post-Linux-launch peak that I mentioned in the article.

    Eddy will have much more to say along these lines in a few weeks! ;-)

    Dave

  15. Frank Earl
    May 18, 2010

    @ Meal Worms: The only real problem with what you did is that Epic promised the same thing with UT3. Many are a bit gunshy from that in the Linux community for good reasons. I’m tickled pink you guys did the port and I’m trying to find time and cash budget to obtain the game.

  16. Frank Earl
    May 18, 2010

    @helios: I can see people mis-treating someone pointing out the issues within the sound subsystems- there’s a bit of that going on even now and with bits and bobs of the graphics space as well. Honestly, ALSA has several issues that should have been resolved at that level of code that Pulse and Phonon only sort-of fix (There…I’ve said it… ;-) ) and cause their own set of fun. But the truth of the matter is that most of the mainline sound middleware pieces are available on all the three main platforms (Some of them are even FOSS…). I wouldn’t suggest people use SDL/SDL_mixer unless there’s a specific reason (non-X86 Linux targets would be one of them until some cleaner OpenAL helper libs come about- or you implement fully against OpenAL…).

  17. blackbelt_jones
    May 19, 2010

    Post-Mortem?

    It may be that this is the traditional term for this kind of thing, but to the layman, it means an autopsy… picking over a corpse to determine the cause of death. The connotations are kind of negative, to say the least, and when I saw it (linked in “Linux Today”) I assumed that the article was about a failure. If Osmos for Linux was a success, I think you should use a more positive term, even if you have to invent one.

  18. Meal Worms
    May 19, 2010

    @ Frank Earl: Fair enough! I just hope it’s known that games won’t get made for the platform unless people buy ’em! ;-)

    @ blackbelt_jones: ‘Post-mortem’ is a term commonly used in the software world, essentially meaning ‘post-project analysis’ — basically what went well on the project and what didn’t. It’s a reflective “Here’s what we learned while shipping this thing” moment. The term itself isn’t a commentary on the success of the project; apologies if this was misleading! ;-)

    Dave

  19. Frank Earl
    May 19, 2010

    @ Meal Worms: Heh… That’s been a gripe I’ve had in the linux specific forums for a while now- if you don’t buy, how do you expect to get more titles?

    The drawback with the pre-release promises in the past has been that we’ve bought, but at least one AAA player failed to deliver on those promises. Quite a few people bought UT3 with the expectation they’d follow through with the Linux version they’d promised on their site, basically throwing the contractor (who everyone knows and knows it’s not just him that’s the problem…) under the bus as their reason it’s not delivered. That sort of thing leaves a bad taste in the mouth. If it was backed with a money returned on non-completion offer of a pre-purchase, you’d have tons of people sign up, I suspect.

  20. Meal Worms
    May 19, 2010

    @ Frank Earl: Ryan is good at what he does; ’tis surely no fault of his. In any case, I’m happy we’ve delivered, and hopefully this reputation will follow us forward! ;-)

    Dave

  21. Frank Earl
    May 20, 2010

    @Meal Worms: It definitely isn’t him after I caught wind of a recent rumor on the subject. It kind of clicks with what I know of him and the story behind what all went on with UT3. It’s a bit disappointing that they’re throwing him under the bus like they’re doing there. (I can’t confirm the rumor, but…) Other than this last little imbroglio on things, his record and rep is overall spotless and very, very impressive- I wish I could be able to make a living on this stuff like he’s done.

    As it stands, you delivered- and as long as there’s some assurances of not being done like Epic did a bunch of people, you’ll get takers. And I’m tickled pink you got it going. Can’t wait to see your assessment of things in the postmortem posts- and I’m waiting for a bit of budget allocation to buy the game. :-D

  22. Bugsbane
    May 22, 2010

    I’d like to congratulate you guys for making the port happen in the manner that is the sincerest. Sales.

    I just wiped out my gaming fund on The Humble Indie bundle, but rest assured I’ll be buying soon! I do suspect though that only a tiny fracttion of Linux users have heard of Osmos yet. I devour Linux gaming news ravenously, and I’ve only heard limited coverage so far. I’d suggest encouraging people to post on the appropriate section of their distro’s forums and on their blogs. If you can get someone who’s blog is on Planet Gnome / Planet KDE to post favourably, I’d wager you’ll see a few more good “spikes” yet.

    Good luck!

  23. American Dave
    May 23, 2010

    I purchased Osmos specifically because it was ported to Linux. It’s a great game that stands on its own merits but having it available on the only platform I use was worth saying “thanks” with my money.

    Best regards.

  24. Daniel
    May 27, 2010

    I played the demo on windows a while ago… the game was nice, but I bought the game when I saw the linux version, because I wanted to support the idea of paying for good SW, and not for some flashy os (they already forced me to pay for windoze once when I bought my laptop)… and of course to support your effort…

    To be honest in my country people don’t usually buy software, so this is probably my 3rd or so purchased game (by the time I actually started to make my own money and had a card that I can use on the Internet I stopped playing games in general). All of my purchased software is indie.

    In any case I enjoy Osmos very much on both platforms and I would make the same purchase again.

  25. Cooldown
    June 4, 2010

    Personally i thought he gave what was in his OWN opinion quite honest, he did seem to hint that for him it was easier than expected, most Linux users only have windows as a sideline just to play games otherwise windows would not exist for them, i use Linux myself and have to switch should i want to play games, so as far as i’m concerned “Thank You” to you Guy’s for considering Linux, I personally wish there were more like you.

  26. Georg
    December 27, 2012

    Let me start by saying that I am not a game programmer. I write simple programs for applied engineering and that is the extend of it. I do use Windows and Linux (Ubuntu) depending on what I want to do at the moment. I love both systems and if it weren’t for the fact that software manufacturers don’t write a lot of programs for Linux, I would have changed to Linux completely long time ago. I also play some graphic-intensive online games and don’t understand why game programmers would not love Linux. The fact that the Linux OS is free for anyone to upload and run in their machines should be a huge advantage for any game programmer. Let’s say that you port your game into a read-only Linux live-CD. The main advantage would be that Hackers can kiss good bye their expectations to screw up the game, destroying the business model of any serious software company that wants to succeed in this field. I personally have spent hundreds of dollars on online games and I also have stopped using some of the most hacked games out there because those “windows” games are pretty much useless and impossible to play anymore with all the hacks available. I seriously think that Linux can be a goldmine when it comes to its advantages as a stand-alone operating system that can be tailored to specific games. Do you need a special library or setting on the operating system with minimal side-programs wasting valuable computer resources? A Linux/game live-CD is one answer to that problem. Problems installing the game? No problem, you run the whole operating system with it, already tested and functional (so the computer becomes a gaming platform, not the operating system.) Of course hackers may try to use the computer memory, but without the ability to modify the code on a read-only hard drive, they are only bound to affect RAM and that’s it.