作者moondark (我就是我)
看板Ruby
标题[心得] 有关RGSS
时间Wed Feb 14 22:27:15 2007
这一篇是从原本是我发在巴哈的文章修改而成,
因为原本主要是给和不懂程式的使用者看和要求代理商加强翻译。
我截取其中有关RGSS的部份,
希望板上强者多交流一下,看看我有没有什麽写错处。
基本上RGSS(Ruby Game Scripting System)是把 Ruby 作为基本的脚本语言,
现在只被 RPG maker XP装载。
而为了让大家理解什麽是RGSS,
我想有必要先让大家理解RMXP「到底是什麽东西」。
事实上RMXP的本质和前面几代都一样,
并不会因为多开放了RGSS就不同。
「RM系列的本质就是一套用来制作游戏的framework(框架)」。
所谓的framework就是为了避免设计者接触底层的低阶技术,
多花点时间在主要任务(游戏设计)上,
总之,是为了增加生产效能和效率所诞生的软体。
RMXP和前几代的不同在於允许使用者去处理更底层的技术,
但在此有件事必须先说明,
那就是目前所有的RM系列所包装的「低阶技术」,
从电脑的角度来看其实都很「高阶」,
而其内部的元件设计的也不复杂。
说明白点就是RM系列不管哪一代,
都是使用非常方便的framework,
即使不懂得程式的人都可以用。
好的framework可以集合设计者常用的指令,
用以减少设计者 coding(写程式)的量,
不好的 framework会弄出要求使用者硬套的模型,
表面上看起来帮使用者写了很多程式码,
实际上这模型对设计者不是太小就是太大,
有时更惨的是还有一堆犹如隔靴搔痒的不合用介面。
这些缺点刚好就是 XP以前RM系列的问题,
如果使用者要做的游戏型态和预设模型有很大差异,
则必需在这上面叠床架屋,绕一大圈才能完成功能。
还不如放弃framework,直接自己另外写程式最快;
但XP的做法却是一个更好的减少程式码的实作法。
XP除了旧系列就有的预设简单模型,
重要的是又提供这个简单模型的程式码,
让使用者可以直接修改成合用形式。
如果预设的完全不能用,
也可以把预设的程式码全部砍掉重写,
这里的重写很方便,
至少比起另外自己写程式轻松很多,
关键就是这些架构的实作方法:RGSS。
为何用RGSS会比直接使用任何其他高阶语言轻松?
(常用的高阶语言:C++、JAVA……等)
首先必须解释RGSS的内容是什麽。
RGSS(Ruby Game Scripting System),
中文的意思是RUBY游戏脚本系统。
是应用RUBY语言去做Windows 2D游戏的系统。
日方原厂对RGSS这个名词的解说也大约只有以上如此,
但就我看过其他日本使用者作品和实做的感想,
这个说法其实太模糊且不尽正确,
或许日方也有其考量?
事实上,
RGSS在程式语法上和RUBY完全相同,
只有在游戏必要相关上强化。
(ex:音乐演奏、子图集…..等)
严格说起来那些强化并没有「包起来」,
都是看的见的程式码,
要全部砍掉或忽略而自己重写不是不行,
(比如说要做3D游戏)
只是这样原本的GUI(图形使用者介面)大都会变没用。
感觉「很像」直接拿RUBY编译器去写游戏,
不同的是这套RGSS的API用的是微软的DirectX,
(所以只能在Windows上跑)
因为有了API理所当然不用接触底层的硬体,
(为了不同型号的摇杆写个别的程式码不是游戏设计者该做的)
更方便的是除非你要搞东西要用的API在原厂预设的以外,
(我就是在说3D游戏)
事实上设计者连DirectX要怎麽用也不用管,
这点绝对比直接拿高阶语言写方便。
由於以上的状况,
我个人推荐的实做方法是两者兼容,
除非该功能原厂没给,否则就别自己实做。
即使你游戏架构全重写了,
但原厂程式码因为RUBY物件导向的优点,
很多功能可以剪贴出来用,
这样的好处是快,且降低跟原本核心冲突的可能性。
一个更常见的模式是游戏架构和原厂相通,
只是在功能上做改变或增加。
(常见的是强化或改变战斗系统)
如果那个功能完全没有在原厂预订里,
其实可以直接在RGSS里调用想用的API,
对一般设计师来说还是比硬干快乐多了。
(当然对RM系列大多使用者来说颇难)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.165.4.195