Xamarinは、PCLプロジェクトに含めることができるクロスプラットフォームライブラリを作成する、2D/3Dゲームの開発フレームワークであるCocos2D-XNAをフォークした。
Xamarinは、フレームワークをフォームして、MITライセンス下でGitHubにオープンソース化した、CocosSharpと呼ばれる新しいライブラリを開発して、Cocos2D-XNAへのコントリビュートを停止することを決定した。 はじめに、“.NETむけのCocos2Dにおける慣習的なバージョン”を作成するためにXamarinはソースコードのリファクタをして以下の変更を行った:
- Objective-CとC++から継承されたイディオムや慣習の削除
- Directorオブジェクトを非シングルトン化
- Actionsを意図を説明する不変のレシピに
- APIの表面を削減
- APIをPCLプロジェクトから利用可能に
- 非コア機能を拡張モジュールに分離
- 階層は、将来的に複数のビュー、ウィンドウ、ディスプレイをサポートするためにサニタイズ
- イベントディスパッチャーは、ノードのローカルとグローバルのz-orderを使って、シーングラフ階層順にイベントを配信
Miguel de Icaza氏はInfoQに、将来的にはXamarinは以下のようにCocosSharpを拡張したいと話した:
- ChipmunkでPhysics/jointsをサポート (部分的には含まれているが、デフォルトでは有効になっていない)
- actors内部でグラフィックとテキストを描画するためのSystem.Drawingを統合
- シンプル3DのためのRamiの作業を統合(これが完全な3Dエンジンになることはないが、いくつかの3Dエレメントを持つことになる)
- ビジネスアプリにスパイスを加えるためにXamarin.Formsと統合 :-)
- サポートするプラットフォームでは、テクスチャーにビデオを描画(通常はカメラキャプチャやビデオ再生)
Xamarinは、iOS, Android, Windows Phone, Windows, PCL, Mac OSを含めた複数のプラットフォーム向けのいくつかのNuGetパッケージを提供している。これはVisual StudioとXamarin Studioで、すべての主要なモバイル、デスクトッププラットフォーム向けのゲーム開発を可能にする。いくつかのサンプルアプリケーションがGitHubで提供されている。