在 2009 年的 Railsconf 大会上,Hongli Lai 和 Ninh Bui of Phusion(开发 Passenger 的家伙)为了展示 Ruby 语言的强大,能运行 3D 游戏,他们构建了一个 Wolfenstein 游戏的山寨版,用的是Gosu 游戏开发库。
Zed Shaw 在游戏中扮演 BOSS
体验方法: 项目地址:http://github.com/FooBarWidget/rubystein/tree/master Git 拖下来:
git clone git://github.com/FooBarWidget/rubystein.git(没有 Git 也可以直接在项目主页中下载)
在运行游戏之前在安装 gosu gem
gem install gosu
我是在 ubuntu 下测试的,为了安装 gosu,还要先安装依赖的库:
sudo apt-get install g++ libgl1-mesa-dev libpango1.0-dev libboost-dev libsdl-mixer1.2-dev
在安装好了 gosu gem 后,直接运行游戏目录中的 wolf3d.rb 文件:
ruby wolf3d.rb
如图:
空格键开枪
很强大吧。
游戏程序代码的大体结构如下,很简单,很明了:
require 'rubygems'
require 'gosu'
class GameWindow < Gosu::Window
def initialize
super(640, 480, false)
self.caption = "Gosu Tutorial Game"
end
def update
# 更新游戏画面的方法
end
def draw
# 游戏画面的绘画方法
end
end
window = GameWindow.new
window.show
我在 gosu 的网站又找到了几个 case,都很不错,用 gosu 开发游戏很不错,代码结构很清析和容易理解。
1.Space Jumper(和雷电类似的游戏) : 下载地址
2.Space shooter ,这个游戏和上面也差不多 项目地址
强烈推荐想要用 Ruby 玩玩游戏开发的同学们用这个gosu库。另外好像有一个叫 rubygame 的开发库,不知道怎么样,有时间也研究一下。