Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb をよろしくお願いします。

RejectKaigi2007で発表してきました

日本Ruby会議2007と同時開催されたRejectKaigi2007でスピーカーとして発表を行いました。

「Rubyで作ったゲームデモ」発表資料をまとめておきます。

ゲーム画面

アクションゲーム トロルの幼生 プニャリン競争 ビジュアルノベル GlassCase

デモゲーム補足説明

  • Ruby/SDLをラップしたMyGameで実装
  • アプリケーションはシンプルなピュアRubyで書かれている
  • P3の933(ビデオは貧弱なオンボード)メモリは512Mという5年くらい前のPCでデモしているがサクサク動く

ソース1(驚くほど簡単な画像描画)

require 'mygame/boot'
Image.render "sample.bmp"

ソース2(メインループと画像オブジェクト)

require 'mygame/boot'

class Punya
  (略)
end

bg     = Image.new("images/bg_race.png")
punyas = Array.new(6) {|i| Punya.new(i) }
main_loop do
  bg.render
  punyas.each do |punya|
    punya.update
    punya.render
  end
end

スライド

MyGame


作者


オレオレ


本題


鈴木さんかわ
いいよ鈴木さ
ん
というわけ
で、

本が出ます。


Rubyではじめ
るゲームプロ
グラミング

7月発売
(たぶん)

※TeraPadで発表しました。

宣伝用パネル

宣伝用パネル

※主に懇親会で使用。

permalink
category: MyGame(40)
no tweet

Linux で MyGame を動かしてみた

PC に Debian を入れて動かしてみた。 ふつうに動いた。

動作が遅かったけど、それは SDL 以前にビデオの設定をやってないからだと思う。

permalink
category: MyGame(40)
no tweet

MyGame (Ruby/SDL) で作成したプログラムを exe 化する方法

MyGame を使った Ruby スクリプトを exe 化する手順を紹介します。

ここでは先ほど作成した hello.rb を exe にしてみます。 また、ActiveScriptRuby を使っていることを前提としています。

コマンドプロンプトにて以下を入力します。

mkexy hello.rb

このとき hello.rb が実行されるので Esc を押して終了させてください。 すると hello.exy というファイル(レシピファイル)が作成されます。

次に以下を実行します。

exerb hello.exy

これで hello.exe の完成です! ちになみに exerb コマンドを実行する前に、レシピファイル( hello.exy )の「core: cui」を「core: gui」と書き換えておくと作成した exe を実行したときに DOS 窓が開かなくなります。 (ここまではふつうの Ruby スクリプトを exe 化する手順と同じです。)

ここで 2 つほど注意点があります。 exe を実行するにはいくつのかの dll ファイルが必要です。 インストールした Ruby/SDL に含まれる dll ファイルをすべて exe と同じディレクトリにコピーしてください。 dll ファイルはダウンロードしたファイルを解凍した先の rubysdl〜ディレクトリの中の dll ディレクトリにあります。 (ここまでは Ruby/SDL を使ったスクリプトを exe 化する手順と同じです。)

またアプリケーションが使用するフォントを exe が動作するディレクトリにコピーする必要があります。 MyGame が使用するデフォルトのフォントは MyGame を解凍したディレクトリに含まれています。この fonts ディレクトリをディレクトリごと exe のあるディレクトリにコピーしてください。

画像の説明

permalink
category: MyGame(40)
no tweet

MyGame で "Hello World"

昨日の手順 でインストールが完了したら、さっそく実行してみましょう。

ActiveScriptRuby をインストールしているならばデスクトップに「ruby console」というショートカットができているはずです。 この「ruby console」を起動すると DOS 窓(コマンドプロンプト)が開きます。

次のように入力して Enter を押してください。

ruby -r mygame/boot -e "Font.render 'Hello World'"

640 × 480 のスクリーンウィンドウが開いて Hello World とう文字が表示されると思います。 (Esc キーを押すと終了します。)

普通は .rb ファイルを作成して、そこにプログラムのソースを書きます。

#hello.rb
require 'mygame/boot'
Font.render 'Hello World'

上記のような hello.rb を作成して、実行してみましょう。

ruby hello.rb

同じように Hello World が表示されることと思います。 ※hello.rb は DOS 窓のカレントディレクトリ(デフォルトではデスクトップ)に作成してください。

作業ディレクトリ(フォルダ)を作成して、そこに「ruby console」をコピーしておくと便利です。 作業ディレクトリに置いた「ruby console」を開くと、そこがカレントディレクトリとなります。

画像の説明 画像の説明

permalink
category: MyGame(40)
no tweet

mygame-20070319-rubysdl-1.3.0-mswin32-1.8.5-p12

http://dgames.jp/archive/mygame/mygame-20070319-rubysdl-1.3.0-mswin32-1.8.5-p12.zip

MyGame に Ruby/SDL の Windows バイナリ Win32's binary(ver 1.3.0) for Ruby 1.8 を同梱したものです。

ActiveScriptRuby(ruby 1.8.5 (2006-12-25 patchlevel 12) でテストしています) をインストールした後、上記 zip に含まれる install_mygame.rb を実行(通常はファイルをダブルクリック)すれば MyGame がインストールされます。 Ruby/SDL も同時にインストールされますので MyGame の開発環境はこれで準備完了です。

追記:このエントリには続きがあります。

--

あなたの ruby のバージョンを確認する方法。

$ ruby -v
# => ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]

あなたの Ruby/SDL のバージョンを確認する方法。

ruby -r sdl -e 'puts SDL::VERSION'
# => 1.3.0

あなたの MyGame のバージョンを確認する方法……。

???
permalink
category: MyGame(40)
no tweet