- 締切済み
Windows向けの自作ゲームに使うプログラム言語
プログラミングで自作のゲームを作りたいと思っています。 その際、使う言語は何がいいのでしょうか? ゲームはおそらく僕個人か、賛同者がいても数名の、 かなり小さなものになるのですが、 最終的にはネットゲームのような形にできればいいと思っています。 (ブラウザゲームなのか、サーバー型ゲームなのか、P2P型ゲームなのかは未定) プログラミング経験は、以前C言語をかじったことがあります。 しかしWindowsアプリケーションはおろか、コンソールアプリケーションの時点で、諦めてしまいました。 なので、コマンドライン上で動くプログラムしか作ったことがありません。 知り合いには、C言語は個人開発にはハードルが高すぎる。みたいなことを言われました。 DirectXや.NETなど(ランライムっていうんでしょうか?) を使うことも考えていますが 果たして使ったほうがいいのか、使わないほうがいいのか、 つまり、メリットとデメリットが良く分かりません。 (Wikipediaなどで調べても、言葉が難しくてよく理解できません) それ以前に、ランタイムがどういうものかをあまり理解していないのもありますが・・・ 話にまとまりがありませんが、アドバイスをお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- fx70_2150
- ベストアンサー率57% (123/213)
まずは、オセロゲームとかを作成してみるのが、いいでしょう。 それが出来たら、DirectXの練習で、3D表示にするとか。 インターネット経由で、対戦できるようにするとか。 すでに、インターネットリバーシとかありますが、アイテム使用などの新ルールを作って、「自分と相手を逆転させるアイテム」とか、「2回連続で、俺のターン発動アイテム」とか、工夫次第で面白いゲームが作れると思います。 後から機能追加や変更しやすいように、骨格を作成するのが、大事だと思います。
- bardfish
- ベストアンサー率28% (5029/17766)
柔軟性と難易度はイコールです。 柔軟性が高い=難易度(敷居)が高い。 VBなどの高級言語は高度な処理を1関数で実現できる反面、関数の制約に縛られ柔軟性が失われます。特にマルチスレッド絡みで不自由するケースが多い。 リアルタイム重視のゲームなどでは致命的です。 だからC言語なんですけどね… >このままC言語を使ったとして、ネットワークを利用するにはどうすればいいのでしょうか? Socketを使用して通信プログラムを作成します。 TCPプロトコル、UDPプロトコルを勉強しましょう。
- nhinoo
- ベストアンサー率37% (50/135)
HSPの場合はC言語までとはいきませんが、VisualBasicよりは自由度は高いような気がします。制限されている中で実現させるのも腕の見せ所なので、結局は自分が使いやすい言語を使用するのが一番だと思います。工夫次第ではC言語よりももっとシンプルに実現できる機能が作れるかも知れません。 C言語については学校で習ったぐらいで、あまり本格的にプログラムを作った事はないんです。個人的にはソフトウェアの仕事がしたいのですが、なぜかハードウェアの仕事をするはめになるんですよねぇ。お役に立てなくてすみません。
- nhinoo
- ベストアンサー率37% (50/135)
.NETを使うならVisualBasicあたりが作るには楽だと思います。ただしVisualCやVisualC++に比べれば自由度は多少制限されると思います。 特に.NET系にこだわりがなくてこれから覚えてもいいのなら、HSP(Hot Soup Processer)がお勧めです。BASICと同様のインタプリタ型プログラム言語です。フリーソフトなので開発環境が無料で揃えられますし、プラグインを追加すればサーバ型やP2P型でネットワークゲームを作る事になっても対応可能です。 ツールも豊富に開発されていますし、他の人が作ったプログラムやソースなども公開されています。関連本も販売されているので、参考資料には事欠かないと思います。
- 参考URL:
- http://hsp.tv/
お礼
ありがとうございます。 C言語などは自由度が高いとのことで覚えたのですが、 自由度と難易度は表裏一体のようですね。 HSPとVisual Basicは細かい処理を言語側が吸収してくれる分、楽になりますが、 果たして自由度はどの程度失われるのでしょうか? 当然ハードウェアレベルの処理はできないと思いますが、 ネットワーク関連でも制限が生まれるのでしょうか? 以前は、将来プログラマを目指していたので、自然と行き着いた結果がC言語でしたが、 今ではその気持ちは薄れているので(まだ少しはあります) 高水準な言語でいいような気もしますが・・・。 最後になりますが、 このままC言語を使ったとして、ネットワークを利用するにはどうすればいいのでしょうか? 解説サイトや本も見当たらず、途方に暮れています・・・。