Miguel de Icaza presented this weekend at AltDevConf where he heavily promoted Mono and using C# for game developers.
AltDevConf is a free, online conference where there is “free access to a comprehensive selection of game development topics taught by leading industry experts, and to create a space where bright and innovative voices can be heard.” Details can be found at AltDevConf.com.
To these aspiring game developers, Miguel de Icaza talked about his views on why Mono / C# is so great for game development. Of course, he’s the lead developer of this open-source project that seeks to re-implement Microsoft’s .NET stack on Linux and other operating systems. I was the first to break the news last May that Attachmate would be doing away with Mono following their acquisition of Novell, so Mono is now developed by Miguel and others under the Xamarin name.
Miguel de Icaza began by talking about how Mono can run on a variety of platforms with C# being the big Mono / .NET language. Among the platforms where Mono is available in some manner is Linux, Mac OS X, the PlayStation 3, Apple iOS devices, Android, and of course on Windows there is Microsoft’s proper .NET stack.
Another reason Miguel used for recommending Mono’s use within games is because “life is too short” to spend the time debugging memory leaks, tracking memory corruption bugs, and that “you deserve better”, which is where C# and Mono comes into play from isolating you from the lower-level programming… Miguel mentions building desktop applications last decade with C and C++ as causing “slow progress, error prone, frequent crashes” until C# 1.0 was introduced as a Java-like system in the year 2000. Miguel considers C#/Java to offer much greater productivity (an easier experience) while performing nearly as fast as C/C++. Miguel says C# can offer 50~90% of native performance.
Additionally, his other highlights include C# offering a safe execution environment (“with optional support to shoot yourself in the foot”), dynamic extensions in C# 4.0, and a-synchronous programming support coming this year with C# 5.0.
The games Miguel used to advertise C#/Mono were The Sims 3 (it uses Visual Studio + Mono), Bastion on Google Chrome NaCL (ported to Google NativeClient with Mono and MonoGame), SoulCraft as an open-source C# game using Mono, the Unity 3D engine has embedded Mono, and Second Life uses Mono on its servers.
Those interested in going through his many slides about C# / Mono for gaming can find them on his blog.