Home > C# > 目的別資料

C#で使えるゲーム開発環境

新規作成日 2017-03-22
最終更新日

C#で、ゲーム開発を行う環境について、表面的な部分のみ調べてみました。

パソコン環境では、Unityやユニバーサル Windows プラットフォーム (UWP) 、モバイル環境では、UnityやXamarin+Cocos Sharp が用意されているようです。

WPF

Unity

C#でゲーム開発を行う場合、現時点では、Unityを使うのが最も近道では無いかと思います。

書籍も多く発売されています。また、Unityの公式ページには、チュートリアルも存在します。

ネコ本とも呼ばれる。

和尚本とも呼ばれる。C#を使った経験がない人が、Unity C#でゲームを作りたいときにおすすめの本らしい。

Godot

ユニバーサル Windows プラットフォーム (UWP)

C#の開発環境の中で、UWPは、警戒を呼び起こすプラットフォームです。

Microsoftのタブレット、スマートフォン開発環境が、毎年変化して来た末にたどり着いた場所だからです。

しかし、Windowsで、ゲーム開発をする場合、選択肢の1つとなります。

C#では、3Dグラフィックを駆使したゲームを開発するためのゲームエンジンUnityが、利用できます。スマートフォン・アプリ開発では、Xamarinという開発環境があります。

その一方で、UWPは、Xbox One 向けのアプリ開発環境であるため、Windows Phoneに新製品が出てこなくなっても、Windowsタブレットを見かけなくなっても、一定の価値があります。

しかし、UWPでアプリケーションを作成すれば、Windowsでも、Xbox One でも動作するアプリケーションができあがるかというとそうでもないようです。

DirectX SDK

DirectX SDK を使う場合は、.NET Frameworkの下でDirectXプログラミングを可能にするためのオープンソースAPIである。SlimDXが存在します。

Xamarin

スマホプラットフォームであれば、Xamarin+Cocos Sharp という組み合わせで、ゲーム開発が可能なようです。

XNA

XNAは、既に開発が終了していますので、未経験者がこれから学ぶのには適していません。

ジョイパッド入力に対応させたい場合

ゲーム開発が目的ではなく、ジョイパッドだけが使いたい場合が問題です。.Net Freameworkにジョイパッドの状態を読み取るイベントを用意しておいて欲しいと思うのですが、現実は厳しいです。

調べてみるといろいろな方法で、解決されてる方がいます。

C#のリアルタイムキー入力の実装方法

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern short GetKeyState(int key);

参考:WindowsのC#でキーをリアルタイムに取得する方法

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」