I am currently building stuff under Windows and was thinking of how to port to other desktop operating systems like OS X, Linux and Atari DOS. Possibly even Android and iOS (although I doubt it, but I am interested in hearing how it would be done). If I had a macbook or something it would be fairly easy to mess about getting stuff to run on that system, but I don't. I was wondering what the best method is for porting and testing the ports work given that I have an aversion to effort. I came up with a list of a few possibilities but how do other people do it?
1. Write the game in a cross-platform language in the first place where you don't really have to bother (eg Java) about testing it on other platforms because it should just work, or something.
2. Cross-compile the game for other platforms but never test that it works on those platforms. Ask other people familiar with those platforms to test it for you, or even let angry players inform you it doesn't work. As soon as someone reports it does work then continue with the philosophy that it will continue working as long as you only make changes to the game code not the setup stuff.
3. Actually buy hardware (!!) or dual boot for different platforms and learn (!!) those platforms, eg how to use the desktop, how to compile on them, how installers should work on them, etc (this would take a long time? or is this a case of "tough shit, just get on with it")
4. Create virtual machines for other platforms. Will virtual machines come close enough to the real thing (eg graphics acceleration if I use a framework that uses opengl or directx to render tiles?). Same thing though, you have to learn all these other platforms, eg how they tick at a basic level.
5. Don't bother porting unless people complain there's no Mac or Linux version. afterall what's the point in porting if people don't ever play the port? but then there's a chicken an egg, they can't play it if you don't port it.