Ruby で簡単なゲームを作ってみよう
Created by Patrick Huesler, @phuesler & Floor Drees, @floordrees for Rails Girls The Hague / 翻訳者: maimu, @maimux2x
gosuは 2D ゲーム開発ライブラリです。Gosu は 2D グラフィックスやテキスト(3D ハードウェアによる高速化)、音源のサンプルや音楽だけでなく、キーボード、マウス、ゲームパッド/ジョイスティックの入力に対して、使いやすくゲームに適したインタフェースを提供しているという特徴があります。また、RMagick、Chipmunk、OpenGL と一体化したデモも含まれています。
実際のソースコード、wiki や issue tracker はGitHub 上に公開されています。Gosu のドキュメントはwiki のホームページを参照することが最適です。 インストール方法はこちらです。
gem install gosu
もしくは、 gem "gosu", "~> 0.7.48"
を Gemfile に追加して bundle
を実行してください。
サンプルゲームを試してみましょう。
cd $GEM_HOME/gems/gosu-0.7.48/examples
続いて ruby CptnRuby.rb
または ruby RMagickIntegration.rb
または ruby Tutorial.rb
を実行します。
例はもう十分です!
ターミナルで新しいタブを開いてリポジトリをコピーします。 もしもその間に Rails Girls アプリで作業していた場合は、cd
を実行してホームディレクトリにいることを確認しましょう。
さあ、実行しましょう。
git clone https://github.com/FloorD/gosu_tutorial_RG_TH.git
そして以下を実行して適切なディレクトリに移動しましょう。
cd gosu_tutorial_RG_TH/jumpingem
実行します!
私たちの小さなゲームで遊ぶために、ターミナルを使ってファイルを実行します。
ruby game.rb
それでは、このゲームはどのように動いているか分かりますか?
いくつかコードを見てみましょう。 game.rb
をテキストエディタで開きます。
!/usr/bin/env ruby -w
require 'rubygems'
require 'gosu'
include Gosu
こちらと同じものがファイルの一番上にありますか? ここで必要な gem を「呼び出している」のです。そうすることで、クラス(または複数のクラス) に進むことができます。 ここでは以下のように
class Game < Window
end
… という具体的な内容が書かれています。 Game クラスに含まれるdef
はメソッドです。 ここでは、プログラムがどの命令に従うかを定義します。以下のスニペットをご覧ください。
def draw
draw_quad 0, 400, Color::WHITE, 640, 400, Color::WHITE, 640, 500, Color::WHITE, 0, 500, Color::WHITE
if @dir == :left then
offs_x = -25
factor = 1.0
else
offs_x = 25
factor = -1.0
end
@cur_image.draw(@x + offs_x, @y - 49, 0, factor, 1.0)
end
少し遊んでみませんか? game.rb
の内容を新しい .rb
ファイルにコピーしてください。 好みの名前で保存しましょう。 そして、ゲーム内のいくつかの要素を変更して、ターミナルで実行して変更内容を確認してみてください。
Patrick よりもグラフィックスのスキルがあると思いますか(多分そうでしょう)? それなら、新しい sprites.png
を作成してみてください! こちらで呼び出すのを忘れないでください。
def initialize
super(640, 480, false)
self.caption = "Jump 'n Run"
@standing, @walk1, @walk2, @jump = \*Image.load_tiles(self, "sprites.png", 100, 160, false)
@x, @y = 400, 0
@vy = 0
@dir = :left
@cur_image = @standing
end
そしてGame.new.show
を見てください。これは新しいインスタンスを作成します。保存はしていないため、ゲームで詰まったときには新しいゲームを始めることができます。楽しんでください!
クレジット
Vim Adventures で使用されているアセットはこちらで見つけることができます。 使用されている音源は Matthew Klingensmith (www.matthewklingensmith.com)で入手できます。