赞 | 2 |
VIP | 341 |
好人卡 | 22 |
积分 | 6 |
经验 | 66602 |
最后登录 | 2024-5-19 |
在线时间 | 1243 小时 |
Lv2.观梦者 (管理员) 八云紫的式神
- 梦石
- 0
- 星屑
- 609
- 在线时间
- 1243 小时
- 注册时间
- 2008-1-1
- 帖子
- 4282
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
怨念的产物,很久之前就看到各种触手们在折腾破除限制。各种win32api,内存修改,反汇编,DLL Hook,来实现一些本来非常容易根本不叫事,甚至标准库里都有的东西。
比如Socket或者HTTP的网络通信,比如XML(StringIO),比如截图导出,还有EB脑残的产物:分辨率,Reset,Hangup,后台运行之类之类,从我入坑那时代到现在都五年过去了,还在为这些破玩意脑残。因为这些破东西我已经不用RGSS了,不过依然经常被这些烦扰,某天夏娜问我ruby1.9中如何加载被移到标准库里的continuation,被雪姐拖入坑折腾exe之类。
这些特喵的都叫事么!
够了,有那些弄内存弄API弄反汇编的劲,自己写个RGSS早都不知道写多少个出来了,干嘛还去受EB的气。不就是四个类的事么,有那么难么?
以下正题:
简介:
OpenRGSS,EnterBrain 的 Ruby Game Script System 的开源实现,提供跟官方RGSS兼容的接口,运行在标准ruby上。
许可协议:
LGPL-3
项目主页:
http://openrgss.org/
https://github.com/zh99998/OpenRGSS
https://github.com/zh99998/OpenRGSS-RPGMaker (用来加载RM工程,以及调解不同RGSS坂本差异的脚本)
以后还会有个packger,用来打包工程。
截图预览:
疑问:
Q:为什么要做这个,我们不是已经有官方RGSS和RGE了么
A:官方的RGSS实现不自由并且有一开始怨念过的那诸多问题,主要是非标准解释器导致没法使用native扩展(也就是所谓的.so库)无法忍受。而RGE除了免费,其他官方RGSS有的问题它几乎都有,并没有实质性的带来什么改进。
Q:为什么用SDL,而不用XXXXX
A:我自己已经用SDL写过东西,对这个比较了解,这是个成熟的库,毛病比较少。如果OpenRGSS能够顺利实现该有的那些功能,之后可能会考虑换用其他引擎以提高效率之类。初代已经确定用SDL.
Q:纯ruby的东西打包没问题么,会不会到玩家那边必须折腾一阵子才能玩用这个做的游戏
A:没问题的,到接近能用时我会发布一个打包工具,在用户那边就跟普通游戏一样,解压(或安装)你的游戏,然后打开主程序就可以玩
如何参与本项目:
通过上面的地址fork一份,然后git clone下来修改,提交后pull request给我。如果你不会使用git/github可以联系我,邮箱/GoogleTalk/QQ: [email protected]。重要事别在这里回复,我不一定看到。
在windows上搭建运行环境需要一个ruby http://rubyforge.org/frs/download.php/76054/rubyinstaller-1.9.3-p194.exe,安装时勾选加入PATH环境变量
ruby/sdl和inifile的gem- gem install rubysdl-mswin32-19 inifile
复制代码 linux下好SDL的依赖然后装那俩gem
然后用RPG Maker创建一个默认工程,跟OpenRGSS-RPGMaker放在同一目录,之后在那个目录命令行执行 ruby lib/main.rb运行。需要修改最开头的OpenRGSS所在路径
如果参与了,编写的时候注意:
0. ruby的手册在这里:http://ruby-doc.org/core/
1. ruby/SDL的手册在这里:http://www.kmc.gr.jp/~ohai/rubysdl_ref_2.en.html 主要看Surface部分
2. Window Sprite 等需要直接画在画面上的东西,include RGSS::Drawable,然后实现draw方法即可描绘到画面上。
3. 暂时先不要试图编写独有功能,先弄到能用了之后在去弄那些。尽可能的少留自己的方法,必要时可以标记为private
4. 尽可能避免使用平台限定的东西(例如:Win32API),如果一定要用,请务必加一个平台判断。 示例: if RUBY_PLATFORM['mingw'] or RUBY_PLATFORM['mswin'] #windows平台判断
进度:
整体架构 | ■■■■□ | Bitmap | ■■■■□ | Sprite | ■■■□□ | Window | ■■■■□ | Tilemap | ■■□□□ | Plane | ■■■■□ | 其他RGSS内建类 | ■■■■□ | Audio | ■■■■□ | Graphics | ■■■■□ | Input | ■■■■□ |
无错运行RPGVA默认工程
较好的显示RPGVA默认工程
无错运行RPGVX|RPGXP默认工程 (进行中)
制作打包器
1.0 release
接近完美的显示RPG Maker工程
效率优化
架构分离,允许其他底层引擎的实现
======================================================================
OpenRGSS 0.1.5 预览版本已发布
体验方法:
0. 安装 ruby http://rubyforge.org/frs/downloa ... ller-1.9.3-p194.exe 安装过程中勾选加入PATH环境变量选项 (linux用户从源里安装)
1. 安装OpenRGSS: gem install openrgss
装完后命令行打个install_rubysdl 安装SDL的库 (linux用户从源里安装)
2. 下载OpenRGSS-RPGMaker https://github.com/zh99998/OpenRGSS-RPGMaker/zipball/master
3. 用RPG Maker VX/VA 建立一个工程, 把OpenRGSS-RPGMaker解压到这里, 然后命令行运行 ruby lib/main.rb |
评分
-
查看全部评分
|