初めてゲームプログラミングでやるべき言語 ver1

概要


プログラミングって初めてやるんですけど!
ゲーム作りたいんですけど!
そんな人向けに初めて学ぶプログラミング言語は何かというのを考察してみる。


なお、ウェブならPHPRuby、組み込みならC++やってアセンブラだと勝手に思っている。


言語と開発環境


とにかくこれから考察する言語と開発環境を挙げていきます。

HSP

HSPエディタ
参考URL:http://hsp.tv/

C++

VC++ExpressEdition + DXライブラリ
参考URL:http://homepage2.nifty.com/natupaji/DxLib/

Ruby

テキストエディタ + ActiveRuby + MyGame
参考URL:http://dgames.jp/ja/projects/mygame/
(自分はwinではサクラエディタlinuxだとvim使ってます)



HSP

HSPの利点として、以下のことが挙げられる。

  • 環境の用意が容易
  • 標準でゲーム向けな機能が用意されている
  • 言語仕様が分かりやすい
  • HSPコンテスト

デメリット

  • 大規模開発に向かない(ある程度に達すると他に移る可能性が多い)


まず、何といっても最大の特徴はその簡潔さが上げられるだろう。
mes "文字"
これだけでウィンドウに文字が表示される。
凄い、さすが。


次に、開発環境について言うとダウンロードインストールがすぐにできる。
インストールしたらすぐ使える。
すぐすぐすぐ!手軽さで言えば間違いなくこれを勧める。
スクリプト言語だからトライアンドエラーでも頑張れる。


言語仕様や機能についても分かりやすい(小学生や中学生のユーザーも多いみたい)
サンプルも豊富で、ウェブや書籍などの解説が多くて学びやすい。
参考:けむにゃさんとこhttp://nekomamire.sakura.ne.jp/gamemake/


それから何といってもHSPコンテストです。
毎年HSP製のプログラムのコンテストが開催されている。
プロのようなスッゴイ作品もあり、小学生さんの作品もあって刺激になる。
自分も出そうとすればモチベーションもアップ!!
(初心者に重要なのはモチベーションつまりやる気だったりする)


私も時々出させていただいてます。
中学の時にHSPで作った作品:LineMan http://www.freem.ne.jp/game/win/g01099.html



C++

C++とDXライブラリの利点として、以下のことが挙げられる。

  • 学習効果が大きい(成長率が高い)
  • 本格的な開発ができる
  • ユーザーが多く文献が多い
  • DXライブラリで簡略化

デメリット

  • 他の2つに比べてやや難しい
  • VC++が重い


VC++は高機能で私もずっと使っています。(ExpressEditionは無料です)


ひとつ声高に宣言したいのはCではなくC++を勉強するべきです。
C言語だとハードより過ぎて変な制限が多くて書きにくい。(変数宣言やscanfなど)
C言語を勧める人が多いと思いますが、C++ができるようになればすぐにC言語も使えるようになります。


また、DXライブラリは非常に優れています。
難しいDirectXを簡単にしてくれているので本格的な機能が手軽に使えます。


また、他の二つに比べてハードに近くて効率的なプログラミングができるようになる。
プログラミングをしているうちにコンピュータの仕組みなどを理解できるようになる
難しいように思えるかもしれないが、難しいところに触れなくてもゲーム開発はできる。
(そのうち自分から難しいところに行きたくなる。楽するために)


現在ではプロの方々の中でも最も有名な言語です。(時々JavaC#)
もし、本職になることを目指してる方であればここから入るとスムーズに進めます。


最終的にはDirectXあたりまで行けたら初心者脱出です。
高校の時にC++で作った作品:空色の風 http://osyagroup.net/create/sora/



Ruby

RubyとMyGameの利点として、以下のことが挙げられる。

  • ほどよい

デメリット

  • 文献が少ない
  • Rubyが重い


文献については本当に少ないです。
さらに、Rubyスクリプトで機能が豊富なのですが重たいので3Dバリバリは厳しいかもしれません。
しかし、2Dであればものすごく強力なツールになってくれます


ここまで負の面が多いように思えますがMyGameはSDLのややこしい所を上手くカバーしてくれます。
つまり高機能かつ簡単なのです。
2Dでかつ素早くゲームを作りたい!って方にお勧めです。


先にあげたHSPC++に比べるとほとんどの要素が真ん中に位置しています。
HSPって簡単そうで子供っぽいよね」
C++って難しそうで自分には無理かも」
そんなあなたに最適なのがRuby/MyGameです。



まとめ

比較

難易度 HSP >= Ruby >> C++
大規模 C++ > Ruby >= HSP
資料量 C++ >> HSP >>> Ruby

特徴

HSP 簡単手軽すぐできる
C++ 学習効果絶大
Ruby ほどよい!


まず、Rubyについては、ほどよいほどよいばっかり言ってるけど初心者向けじゃない気がする。
確かに言語については多機能で分かりやすいが、資料が少ないのが難点である。
ある程度プログラミングに慣れてきたころにやると最高なのは間違いない。


次にC++HSPだが非常に悩ましい。
HSPでは非常にスムーズに機能を使えるようになっていくだろう。
C++ではコンピュータの知識など大きく成長する。ある程度の規模になるとこちらの方が簡単だ。



ここで初めてプログラミングを始める人にとって何が重要なのかを考える。
豊富な機能?将来性?簡単さ?資料の多さ?シンプルさ?


一番重要なのは1作ゲームを作り上げることである。


1作完成させると何がいいのか。
それは、自信と次回作へのヤル気がでるということである。


自分の年齢やスキルそして才能を理由に成長率が下がったり諦めてしまう人が多い。
しかしながら実際はそのような要素が関わってくるのはもっともっとレベルの高いことが多い。
(キーボードアレルギーなら仕方がないかもしれな(ry)


そこで、1作ゲームを完成させるにはどのような要素が必要か。

  • やる気の維持
  • 手軽さ

まさにこの二つの要素が重要だと判断できる。


さて、みなさんはもうお分かりであろう。

結論


HSPをやるといいよ!





次のHSPコンテストで待ってます。