All about multiplatform and game development

In the last few weeks i was reading many articles about writing games on different platforms. Each platform has their own frameworks, restrictions and so on. As C# is my main programming language i want to talk a bit about writing C# games on multiple platforms.Platforms: - Windows – one of the most established platforms is and will be windows with DirectX. Since XNA is out creating games for windows is easy as pie and everything is based on C#.

- XBox 360 – Same as windows this platform can be programmed with XNA and C#. So very simple. Problem for hobby developers is that you need a Creators Club Premium Membership to test your games on the Xbox.

- Linux – now a very unusual gaming platform but very easy to program! Using the mono framework C# code can be run on unix based systems e.g. Linux or Mac. For OpenGL graphics we can use the OpenTK framework which runs very well with mono.

- Zune/Zune HD – a very new platform is the microsoft zune. But it’s also easy cause XNA supports this platform as well.

- iPod Touch/iPhone – these are not that easy but important cause the apps you can buy on the internet are selling very well. The problem is that apps for these two platforms are normally written in objective-c and it’s more ugly than c++ in comparison to C#. Cause of this a new framework came up called MonoTouch. Okay this makes it possible to run C# code on the iPhone and you also get a special version of OpenTK with it but it only compiles on Mac. That makes it very hard to create and build your games on windows. You can write a little tool which sends the code to another tool on the mac which compiles it and sends it back but this is very time consuming and ugly. Hope there will be an other way soon! In addition you must be aware of that OpenTK for iPhone and MonoTouch is very new so many stuff is still missing.

Not tested: I never tested this but i was reading about it that you can run C# games on Wii and Android with mono as well. Hope i can test this sometimes in the future.