If you’re new to game development, you may be wondering what framework is right for you. Luckily for C# and F# developers, Xamarin supports a wide range of powerful options like SceneKit and SpriteKit on iOS, as well as cross-platform frameworks including OpenTK, CocosSharp, and MonoGame.
For developers just getting started, we recently published several articles that provide an Introduction to Game Development with Xamarin based on CocosSharp and MonoGame.
If you’re not familiar with MonoGame, it’s a game development framework based on Microsoft’s XNA. As opposed to a full game engine, using MonoGame may require setup code to perform some simple tasks, as well as an understanding of computer graphics theory. MonoGame is a good choice if:
- You’re familiar with the Microsoft XNA framework
- You’re interested in 3D graphics, lighting, or shaders (custom code that is executed by the graphics card for advanced visual effects)
- You’re extending or porting an existing XNA game to additional platforms
- You’re interested in learning about graphics programming – MonoGame shares rendering concepts with other rendering APIs like DirectX and OpenGL
Source for Angry Ninjas, a complete game written with CocosSharp, is available on GitHub
Alternatively, CocosSharp is a full game engine that provides classes and methods for performing the most common game development tasks. It’s the preferred approach if:
- You’re interested in creating 2D games
- You’re familiar with the native Cocos2D game engine
- You’re looking for the shortest path to a working game
If you’d like to learn more about developing cross-platform 2D games with CocosSharp and Xamarin, check out the video below from Channel 9 and Xamarin Developer Evangelist James Montemagno:
If you’ve ever wanted to make games, either professionally or as a hobbyist, our game development guides are a great place to get started today.