まず、これが回答でないことをお詫びします。
ゲームを作るにあたって、プログラミング言語(「C++」と「C#」)による差違よりも、「(C++を使う) Unreal Engine」と「(C#を使う) Unity」のような、ゲームエンジンによる相違の方が顕著ではないでしょうか。
自分は太鼓の達人のシミュレーターを造りたいと思っているのですが、
人もそろっておらず、開発に困っています。
(もちろん造ったもののファイルは世に配信させません。)
自分含め2名で現在活動しているのですが、元々C++で作ってあるプロジェクトで
進めようかと思ったのですが、C#の方が良いと言われC#に置き換えるため、移行している
最中なのですが、どうなのでしょうか?
良いのかわかりませんが、開発者も募集しています。
皆さんと一緒に作りたいです!
人数問いません。
よろしくお願いいたします。
まず、これが回答でないことをお詫びします。
ゲームを作るにあたって、プログラミング言語(「C++」と「C#」)による差違よりも、「(C++を使う) Unreal Engine」と「(C#を使う) Unity」のような、ゲームエンジンによる相違の方が顕著ではないでしょうか。
他の回答者も述べられていますがこの規模のものでしたらゲームエンジンの選択が重要ではないでしょうか?
開発者のスキルやレベルによりますが、UnrealEngine、Unityどちらも商業で使用されています。
ピュアなC++(+DirectX)や.NET環境で実装したいなどでしたら、自分ならまだC#のほうがマシだなぁとは思いますが、ゲームの完成を目指すのでしたら正直今の時代おすすめはしません。
(すでに知識がある、もしくは低レイヤーなことを勉強したいなどの目的があるのでしたら別ですが)
すでにC++で開発しているコードが有って、特に具体的な移行理由が思いつかないのでしたら、書き直すメリットは少ないと思います。
ゲーム制作の場合はコーディング能力他、GUI周りの知識、2D、3D、サウンド等のマルチメディア処理の理解が必要になってきますが、各言語での記述レベル、その他知識等はどのくらいなのでしょうか?
それによって助言できる内容も異なってくると思います。
@hayatedonda
Questioner太鼓の達人のクローンは、既にいくつか存在しているようですが、敢えて自分で作ってみたいということでしょうか?
C#で作られたものもあるようですので、参考にしてみると良いかも知れません。
https://github.com/twopointzero/TJAPlayer3
上記は質問の回答にはなっていなかったため、補足いたします。
「どちらが良いか?」は、基準を明確に示さないと回答が難しいです。
また「C++」と言っても、ご存知かも知れませんが、Windowsには主に3種類(C++、C++/CLI、C++/WinRT(C++/CX))が混在していて、それぞれメリット/デメリットも違います。
各項目をマトリクスにすると、以下のようになります。
項目 | C++ | C++/CLI | C++/WinRT(C++/CX) | C# |
---|---|---|---|---|
ネイティブアプリ | 〇 | × | × | × |
.NETアプリ | × | 〇 | × | 〇 |
Microsoft Storeアプリ | × | × | 〇 | 〇 |
実行速度 | 〇 | △ | △ | △ |
コーディングしやすさ | × | △ | △ | 〇 |
デバッグしやすさ | △ | × | × | 〇 |
技術情報の調べやすさ | 〇 | × | △ | 〇 |
開発者の集めやすさ | △ | × | × | 〇 |
※私個人の主観です。
※技術的に情報が誤っている可能性もあります。
私は、ゲーム開発の経験はありません。
しかし、C++でDirectXを使用した経験からしますと、低レベルの技術を学びたいのでなければ、おすすめいたしかねます。
ゲームエンジンの基本を作るだけでも、相当な技術と時間が掛かると思われます。
ゲームエンジンアーキテクチャ 第3版
他の方もおっしゃっていますが、言語選択の前に、プラットフォームの決定と、何かしらのゲームエンジンの使用をご検討された方が良いのではないでしょうか。
@hayatedonda
Questioner音ゲーのようなものを作る場合
あたりが重要になります。
これらを自力で実現しようとするとなかなか大変なので、上記の目的を重視しているゲーム用エンジンを使うのが現実的でしょうね