论坛首页 编程语言技术论坛

Ruby游戏开发利器Gosu

浏览 15980 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-05-16   最后修改:2009-05-16
在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
如图:



空格键开枪

很强大吧。
Gosu的网站:http://www.libgosu.org/
Gosu的google code地址:http://code.google.com/p/gosu/

游戏程序代码的大体结构如下,很简单,很明了:
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(和雷电类似的游戏) :
下载地址:http://andre.semler-service.de/games/SpaceJumper.zip

2.Space shooter ,这个游戏和上面也差不多
项目地址:http://github.com/belen-albeza/space-shooter



强烈推荐想要用Ruby玩玩游戏开发的同学们用这个gosu库。另外好像有一个叫rubygame的开发库,不知道怎么样,有时间也研究一下。
   发表时间:2009-05-16   最后修改:2009-05-16
gosu主页提供了两个系列文章:
creating games in ruby:
http://www.oreillynet.com/pub/a/ruby/2007/12/04/creating-games-in-ruby.html
creating games in ruby part 2:
http://www.oreillynet.com/pub/a/ruby/2007/12/18/creating-games-in-ruby-part-2.html

系列一对现有ruby游戏开发库基本上都讲了,还有示例,十分有参考价值

粗浅感觉,这些库提供了:
1. 时间桢(frame)的封装
2. scene和widget的封装
3. 碰撞(collision)检测
4. 图形处理辅助方法
0 请登录后投票
   发表时间:2009-05-17  
这是利器。。。。感觉象Dos时代。。甚至还不如。。
0 请登录后投票
   发表时间:2009-05-17  
有意思,可以教弟弟妹妹玩玩这个
0 请登录后投票
   发表时间:2009-05-17  
记得RubyConf 2007上就有一个session是讲用Ruby写游戏的,其中有提到Gosu,还有很多别的,都值得看看。
0 请登录后投票
   发表时间:2009-05-19  
仅仅是玩具而已。真想做游戏,还是得靠C/C++啊……
0 请登录后投票
   发表时间:2009-05-19  
同志们,基于ruby的RPGMAKER XP出来的时候,可没人知道ROR是啥……
0 请登录后投票
   发表时间:2009-05-20  
ruby在日本本来就广泛的用于游戏
0 请登录后投票
   发表时间:2009-05-20  
ubuntu的依赖库真是麻烦,还要搞掉很多冲突才行
0 请登录后投票
   发表时间:2009-05-26  
运行效率如何?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics