Slashdot Mirror


Best Way to Port a Windows Game to Linux?

cliffski asks: "I have a Windows game that may benefit from a port to Linux. It's a complex politics sim based on a neural network, (think NationStates with complexity) and is probably right up the street of many Linux gamers. The problem right now is that I don't have the knowledge or the time to handle a Linux port, myself. What's the best way to arrange for a commercial port of games software to the Linux platform? Is it worth talking to lone enthusiastic hackers about collaborating? Would I save myself a lot of hassle by selling the porting rights to an established Linux games company?"

5 of 67 comments (clear)

  1. Boot CD. by SanityInAnarchy · · Score: 3, Interesting

    However you do it, you'd do well to distribute the game as a boot cd. You can have common content, an autorun-powered Windows installer, and a bootable Linux environment for those who don't want to install it, or have disk space, or like Windows, or want to wait to boot it.

    Of course, you'd also want a Linux installer to pull the game off the CD, but that (obviously) needn't be autorun, or even very sophisticated. You'll probably end up being supported by the distros themselves anyway, if it's a good game.

    --
    Don't thank God, thank a doctor!
  2. Re:Getting a Port Done by abandonment · · Score: 2, Interesting

    i second step 6 - we have a game that was fairly popular in a certain crowd (won an award at the indie games festival this year) - and had volunteers step up to offer to port the engine & game to Linux

    not only volunteers, but extremely talented coders that were able to not only port the game, but improve the codebase by fixing compiler-specific issues that were not apparently until trying to compile under gcc.

    what it comes down to is - if you have written your game using directx (anything) then the game is most likely NOT going to be able to ported to anything but windows - unless you use wine or something similar (and this isn't really porting, it's just hacking until your game runs).

    if you want to have a portable game (or a game that is ported), you need to plan this into the code base UP FRONT - trying to hack it in afterwards is a nightmare even for those that have platform specific knowledge.

    in our case, the game was written to be cross-platform & was ported to the mac os (9 & osx) already, so most of the compiler-specific issues had been solved previously, making the porting job considerably easier than it might have been previously.

    the final point i have to make is this: not knowing much about linux desktop distros (even having used linux for all of our servers for the past half-decade), even trying to figure out HOW we might port the engine & game to linux took us way too long.

    the linux community is so fragmented that it seriously kills any chance of getting applications ported to the platform, let alone something as complicated as a game.

    we decided that we'd get the game running under one specific distro and leave it at that for now - and even that ended up with us taking almost as long to get the graphics drivers for our hardware accelerated nvidia card installed and running as it did to actually port the game.

    linux as a desktop application platform has serious issues - as much as we wanted to support the platform, until shit 'just works', it isn't work supporting for the fragmented userbase and broken software system.

    every distro has it's own 'install' process, it's own update process, etc - this is unsupportable for a large company, let alone a small one that is trying to port a game...

  3. Slightly off-topic, but anyone played the game? by EvilMagnus · · Score: 3, Interesting


    I downloaded the demo, and it seems to be a total policy wonkage. Very pretty, and some good ideas, but apparently flawed. For example, the *absence* of Policy does not appear to have detrimental effects to any group of voters (I just killed the NHS, because the slider told me that would piss the least number of people off!)

    It also doesn't have a very good financial component; no granularity for income tax / personal allowances, etc (policies I'd like to tweak would be 'personal allowances' and tax bands, for example - the BBC has a budget simulator that does this). And the sliders are biased : the choices range from 'very fair' to 'scandalous'. Mmm yeah. Well, if you're a Socialist, a really high tax on rich folks wouldn't be considered scandalous. ;-)

    So, to conlude : Absence of policy should impact voter groups, much, much better handling of the economy, and less bias in the slider descriptions. "very low" to "very high" would probably work fine for most things.

    --
    -EvilMagnus
  4. Use cross-platform libraries by mwvdlee · · Score: 3, Interesting

    There are a number of cross-platform libraries which handle pretty much everything that can be platform dependant: Graphics, audio, networking, file-system, GUI; find the best one for you (sufficient platform abstraction, enough support for the platforms you want) and port to them first (keeps you on the platform you're familiar with).

    For the rest of the code not supported by standard platform independant libraries, try to create your own library-like structure so the platform-dependant stuff is seperated from the generic code.

    Porting the whole thing should now be a lot easier.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  5. Make sure that the game runs correctly under Wine by oliverthered · · Score: 2, Interesting

    Or you could help to fix or identify the parts of Wine that still need some work (Like Corel did for their port) or you could use winelib like Borland have done.

    Currently, support for games under Wine is a little bit mixed but there's a lot of heavy development going into Gaming at the moment so expect things to improve at a rapid rate.

    Using Wine to port the game would, in theory, be the fastest way and performance and stability should be very close to a native Linux application. It's also very good for the comunity because it will help Wine come up-to scratch for gaming support allowing more native Windows games to be played on Linux which can only be good for everyone (well unless you want to port to Linux because of lack of competition!)

    The guys at codeweavers provide commercial support for applications under Wine, so it may be worth dropping them an Email

    --
    thank God the internet isn't a human right.