質問

現在、RPG型のゲームを作ってみたいと思っていまして、
ツクールを使用するとテンプレート通りの物しか作れそうに無い&
後学の為にもプログラミングができるようになっておきたいという理由で、
自分でプログラムを組んで作ってみようと思っています。
以前学校の授業でC言語を軽く扱いましたが、
ある所で高度な処理をさせるためにはC++がいいと聞き、
またある所ではjavascriptならコンパイルがいらないので簡単だと聞き、
正直どれを使えばいいのかよくわからなくなってます。

ジャンルは前述の通りRPGで、画面は基本ドット打ち、パソコンの使用環境はXPです。
以上の条件でゲームを作ろうとした場合、もっとも適しているプログラム言語はどれなのでしょうか?
また、このようなゲーム作成に関するお薦めのノウハウ本などありましたら併せて教えていただけると幸いです。
当方まったくの素人ですが、よろしくお願いします。

通報する

回答 (10件)

Web上のゲームや、Androidアプリを除いて、
Windowsや、PS3やXBOX360などのコンシューマゲーム機の
ゲームプログラムの大半はCかC++言語で作られてます。

マイクロソフトのサンプルなどがC++の場合があるので、
C++をマスターしてるほうがよいです。
(C++はCの拡張なので、もちろんC言語も)

 現在はC言語がゲーム開発の主流でしょうが、8ビットや16ビットの時代はアセンブラ言語で作った方が処理が速かった時代がありましたね。

 アセンブラ言語と言いますと、最も原始的な言語なのですが、機械語と1対1で対応した命令でプログラムを記述するものでして、プログラムの細かい調整まで出来るので、以前はパソコンゲーム開発の主流でした。

 アセンブラでゲーム開発をやっていると、コンパイラ言語で開発するのが面倒になりますが、開発時間がかかる割りにプログラムの無駄がほとんど無いので処理は高速になります。

 今更、アセンブラ言語を勧めたりはしませんが、アセンブラ言語で何かプログラムを書いて置く経験をして置くと、パソコンの理解度が増しますよ。

体系的にプログラムを学ぶならC/C++がいいでしょう。しかし趣味でゲームを作る程度なら高度な言語の学習はそれだけで障害です。必ずポインタで躓きます。オブジェクト指向などゲームに必須のものじゃありません。
そこで私は無料のHSP・なでしこを勧めます。文法が平易でそれなりのものが作れますし、情報量も十分だからです。現に私はこの路線で来ました。サンプルを改造していけば何か作れます
それらを使って物足りなくなったら、C#、Ruby、Python、Cに行けばいいのです
またGame makerというツールもあります

まず、どのようなゲームを作ろうと思っているのか補足していただいた方がよいのではないかと思います。その方が適切な回答がもらえると思います。
パソコン上で動作するゲームなら、普通はCかC++が多いですが、他の言語でも問題ありません。
ゲーム機(wii、DSなど)ならCかC++になります。この場合はメーカのSDKが必要です。
携帯ならjavaになります。
ご質問を見た印象ですとwebゲームのようにも見えますが、この場合は PHP、perlなどが多いですがCでも作れます。
C++はCに比べて便利な機能が多いですが、C++で出来ることは基本的にCでもできます。

★アドバイス
 最初に次の本を紹介します。
 http://www.amazon.co.jp/dp/4797316535/→『ゲームプログラミング遊びのレシピ―アルゴリズムとデータ構造』
 この本にはいろいろなゲーム(RPGも含む)作り方が書かれています。
 第1版にはC言語とDelphiのソースがCD-ROMに入っていました。
 第2版にCD-ROMが付いているか分かりませんがお勧めできます。
>以前学校の授業でC言語を軽く扱いましたが、
 ↑
 軽く扱ったことがあるならC言語でいいと思います。
 ただしC言語でグラフィックを扱うのはWindowsならGDIの概念を
 しっかりと学習する必要があります。
・フリーソフトのHSPならゲームの処理だけを考えれば作れます。
 でもプログラミングをしっかりと学習するのであれば
 真っ当なプログラミング言語をお勧めします。
 目的がRPGゲームの製作ならばHSPでも良いでしょうが、
 将来ゲーム・クリエータを目指しての質問であれば
 C/C++言語+DirectXの組み合わせを時間を掛けて
 学ぶことをお勧めします。
>ある所で高度な処理をさせるためにはC++がいいと聞き、
 ↑
 これはまさに『ゲーム・クリエータ』などの専門職のお話ですね。
・ちょっとした趣味ならJavaアプレット、JavaScript、C#を薦めます。
 理由は言語(文法)の習得が早い点、グラフィックの命令がすでに
 (簡単に)用意されている点などです。
・きめ細かい高度な処理を行うならC/C++言語が得意としています。
 下にC/C++とDirectXの基本講座らしきサイトを紹介します。
 ただしRPGゲーム作成方法ではありません。
 あくまでもすべてのゲームに共通する基本講座です。
 http://rina.jpn.ph/~rance/directx8/→『DirectX8による2Dゲームプログラミング講座』
 http://rina.jpn.ph/~rance/directx7/directx7study …→『VC++とDirectXでゲームを作る 座学編』
 http://f1.aaa.livedoor.jp/~zahyou/cgame/cgame.htm→『ゲーム創!』

書籍:
(1)http://www.amazon.co.jp/dp/4797333332/→『猫でもわかるゲームプログラミング』
(2)http://www.amazon.co.jp/dp/4797325453/→『Windowsゲームプログラミング 第1版』
(3)http://www.amazon.co.jp/dp/4797347597/→『Windowsゲームプログラミング 第2版』
(4)http://www.amazon.co.jp/dp/4797331976/→『ゲームエンジンプログラミング』
(5)http://www.amazon.co.jp/dp/4797332956/→『ゲームエフェクトマニアックス』

最後に:
・RPGゲームを本格的に製作したい場合はゲーム・エンジンを開発すべきです。
 RPGのマップやイベントをスクリプト・ファイルに記述してこれを処理するのが
 ゲーム・エンジンです。詳しくは(4)つ目の書籍をどうぞ。
・あと初心者がC言語からゲームを作るのはかなり難しいです。
 これを覚悟してプログラミングを勉強したい場合にはC/C++言語をお勧めします。
 まったくの素人なら簡単なものでも1年はかかると思ったほうが良いでしょう。
 RPGツクールの出来栄えまで作るには早くても2~3年はかかります。
 のんびりとやっていると軽く5、6年はかかってしまうでしょう。
 特にRPGでストーリーをしっかりと考えて作ろうとすると企画を考えるだけでも
 半年から1年がかりになります。でも実はここ(企画)が重要です。
※C言語でゲームを作ろうとして1、2年で挫折しないようにしましょう。3年目から勝負。

後学というのが何を目指しているのかわからないのでなんともいえませんが、ゲーム作りで大切なのは、その内容ではないかと思います。
プログラム言語にしてもグラフィックスにしても、その実現のための一手段または素材にすぎないので、「もっとも適している」というのは何を作るにおいてもそうなんですが、環境や条件あるいは目的次第かと思います。
RPGに高度な処理(思考ルーチンとかあるんでしょうか)が要求されるかどうかは知りませんが、開発効率からみたばあいC++が良いとは思えません(昔よりははるかに良くはなりましたが)。ハードが良くなってるしリアルタイム処理が不要なRPGなら処理効率は気にしなくて良いでしょう。
まずは、RPGツクールも良いのですがHSPなど開発効率の良いもので試作(目標作り)してからC++などに移植なりをしてみてはどうでしょうか。手段ばかりに気を取られて目標を見失うのがおちです(一般的な話です。天才的なすごい人もこの世にはおります)。

書籍は、HSPのページからラトルズという出版社のリンクがありますので、そこに行けばほかの言語のゲーム作り入門書一覧があります。

そういえばゲームには向いてないけどRPGっていう変な記号ばかり使うプログラム言語もありましたねぇ。名前忘れたけど、かまぼこつぶしたみたいなRPG言語専用68000CPUラップトップが欲しかった記憶があります。

適材適所。
でもC++なら間違いはないです。
一応次点としてJavaも推奨しておきます。

Javaのゲーム(たぶん)
http://eqmac.station.sony.com/index.jsp
JavaScriptのゲーム
http://www.illumia-rpg.com/

これらの言語は「Java ゲーム」「JavaScript ゲーム」で検索すれば、実際に遊べるページが数多く見つけられます。

下記のHPを参考に
http://www.sbcr.jp/books/products/detail.asp?sku …
ロールプレイングゲームプログラミング 2nd Edition

自分はできませんが・・・参考までに

C++のほかにC#などもいいと思います。
高度なものを作るには不足しますが、C#でも作れないことはないと思います。
でもほんとに高度なものならC++がいいと思います。

C/C++をやるべし。

JavaScriptを使うということは、ブラウザで動作するゲーム?
んなわけないですよね?
コンパイルがいらないからプログラムを習得するのに簡単 という意味ではない。
動作確認などをするときの手間が省けるというだけ。
あなたの思い描くゲームに適しているとは思わないです。
ブラウザ上で動かすという事が前提であれば、無きにしも非ずです。

このQ&Aは役に立ちましたか?19 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ