プログラミング・ゲーム班

ウンドなどのマルチメディア処理などの API を
プログラミング・ゲーム班
提供するライブラリの一つであり、それを Ruby
に移植したもの。又、マルチ・プラットフォー
山崎 修志
ムに対応しており「Linux」や「Mac OS」等の
坂本 大
他 OS でも動作する。大林一平氏が開発している。
(4)Paint
1.まえがき
Paint は、MicrosoftWindows に付属している
私たちは、今回の課題研究でゲームプログラ
ミングに挑戦した。使用した言語は Ruby 言語で
グラフィックソフトウェアである。
エディタには TeraPad を用いた。今回ゲームプ
(5)TeraPad
ログラミングに挑戦しようと考えたのは、昨今
TeraPad(3) は、フリーのテキストエディタであ
web 上でも簡単な物から複雑な内容の物など、
る。行番号の表示や最後の操作を取り消して元
様々なゲームが日々生み出されておりゲームと
の状態に戻せるアンドゥ機能など Ruby のプログ
web がどのような関わりで動いているのか少し
ラミングに使うときにも便利な機能が備わって
でも理解したいと考え、国産言語としても名高
いる。寺尾 進 氏が開発している。
い Ruby 言語を選択しプログラミングに挑んだ。
3.研究内容
(1)作成準備
2.使用したもの
イ ン タ ー ネ ッ ト 上 か ら ActiveScriptRuby 、
(1)Ruby
Ruby(1) は、オブジェクト指向型スクリプト言
TeraPad など必要なソフトをダウンロードした。
(2)プログラムの作成
語でありインタプリタで、ソースコードなどの
命令列を逐次解釈しながら実行するプログラム
TeraPad を使用しプログラムを書いた。戦闘
である他、ソースコードをシンプルに書くこと
シーンの基盤となる部分を作成しコマンドプロ
ができる、又ネットワークなど様々な分野で使
ンプトで文字を表示させ稼動確認を行い、
用することができ大規模なプログラム開発にも
ActiveScriptRuby で実行した(図1参照)。
使用できるなど、汎用性も高い。この言語はま
つもとゆきひろ氏が中心に開発しているフリー
ソフトウェアで、誰でも無料で使用することが
できる。
(2)ActiveScriptRuby
ActiveScriptRuby(2) は、Internet Explorer な
どで使用される Windows ActiveX 環境で Ruby
インタプリタを呼び出す。
arton 氏が開発している。
図1 プログラムの作成
(3)使用ライブラリ
ライブラリは MyGame
(4)と
Ruby/SDL
(3)スタート画面作成
(5)を使
Paint でスタート用の画像を作成し、グラフィ
用した。
MyGame は、ゲーム上でキーボードの操作や
ックとして表示するようにして、スタート画面
マウスを動かしたときの動作を構成するイベン
を作成した(図2参照)
。
トや、背景色の設定など細かな機能をシンプル
なプログラムで表現出来るようにしてくれてい
るライブラリである。山本 団 氏が開発している。
Ruby/SDL 又は SDL とは、グラフィックやサ
1
の僕たちの後押しをしてくれるようなソフトで
あった。
反省点は作業に取り掛かる際にあらかじめ十
分な計画を練っていなかったことや、プログラ
ム中の行き詰まりやテスト段階での動作不良が
多発したことである。他のゲームも試作してお
り、それらを含めたゲームのデザインや登場キ
ャラクターをペイントで作成する行程で大幅に
時間を費やしてしまったことも反省点である。
これから社会に出ていく上で計画を立てるこ
とは重要なことであり、卒業までの残り少ない
図2 スタート画面の作成
高校生活の中で計画を立てる習慣を少しでも身
に付けたいと思う。
(4)キャラクター操作のプログラミング
今回の研究成果は決して大きな成果とは言え
座標移動やアニメーションの応用でプログラ
ないが、僕たちにとっては貴重な経験であり成
ミングを行い、キーボード操作でキャラクター
功につながるであろう大きな失敗だと考える。
を動くようにした(図3参照)
。
この経験を糧とし将来の社会での成功に繋げた
いと切実に思う。
参考文献 使用環境
(1) Ruby
https://www.ruby-lang.org/ja/
(2)ActiveScriptRuby
http://www.geocities.co.jp/SiliconValleyPaloAlto/9251/ruby/
(3)TeraPad
図3 キャラクター操作のプログラミング
窓の社
http://www.forest.impress.co.jp/library/softw
4.まとめ
are/terapad/
(4)MyGame ライブラリ
今回 の課 題研究 では、 普段 使い 慣れて ない
Ruby を使用して RPG ゲームを作成した。図1に
http://dgames.jp/ja/projects/mygame/
(5)Ruby/SDL ライブラリ
あるように文章の表示と画像表示を行い戦闘シ
http://www.kmc.gr.jp/~ohai/rubysdl.html
ーンやタイトルなどの画像表示はできたが、ゲ
(6)Wikipedia
ーム全体としては未完成である。ゲーム作成に
あ た り MyGame
の 作 者 の 著 書 (7)
http://ja.wikipedia.org/wiki/Ruby
によって、
Ruby 言語の文法や使用方法についてほぼ知識の
(7) 山本 団『Ryby ではじめるゲームプログラミ
無い状態から学んだ。本書には、Ruby はオブジ
ング』工学社 . 平成19年7月5日
ェクト指向型で分かりやすい言語と記述されて
いたが実際にプログラミングしてみると Ruby は
難しかった。
ゲーム作成に使用した ActiveScriptRuby や
TeraPad は無料のソフトにも関わらず快適にプ
ログラミングできる環境が揃っており、初心者
2