赞 | 32 |
VIP | 44 |
好人卡 | 11 |
积分 | 17 |
经验 | 81722 |
最后登录 | 2020-3-23 |
在线时间 | 1357 小时 |
Lv3.寻梦者 唯一的信徒
- 梦石
- 0
- 星屑
- 1665
- 在线时间
- 1357 小时
- 注册时间
- 2013-1-29
- 帖子
- 1637
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 LBQ 于 2015-8-8 11:14 编辑
看到兰触写了一篇,于是我也稍微写一点我的初步印象好了。
1. 大方向:生态系统开放了,生态系统扩大了
可怕的是Ruby生态环境没法被Rgss利用。Ruby别人写的库因为在Gems生态体系里面所以没法直接用。别人写的Native Extension我们没法直接用。Ruby的标准库我们没法用。RGSS还把数据库保存成了Marshal之后的二进制模式,使得其他语言没法利用,甚至普通的Ruby环境没法对RM数据库进行更改。
这也就代表了Rgss这个生态环境永远都是封闭的。即使无数人尝试开放这个环境(OpenRgss,MKXP)并且都取得了一定程度上的成功,整个生态系统还是没有改变。这次换成Js之后生态系统真的就开放了,别人的库我们可以用了。数据库估计也以类似Json或者Plain Javascript Object的形式保存了。技术上的开放让我们可以用一些世界前端的科技,也为第三方工具提供了很大便利。
同时也意味的生态系统的扩大,毕竟用Js写游戏的人比Ruby写游戏的人是多的,也就意味着我们有更多的物理引擎可以选(比如说Matter.js),更多的渲染引擎可以用(Pixi.js之类的)。生态系统直接从原有的很小的Rgss生态系统直接扩大到整个Js生态系统。
2. 效率提升数倍
仅仅从语言方面来说Js本身就比Ruby快好多倍
再加上我们也许可以成功用asm.js来写某些特别需要效率的代码(asm.js比C慢个3到4倍)。使得以前很多吃效率的算法MV都可以实现,分辨率扩大也不会那么卡了。
3. 也许我们可以调用GPU了
写3D之类的,写Shader之类的快了20倍吧,因为有了WebGL。也就意味着3D可以写的很效率(当然该不该写3D是另一回事),可以玩很多酷炫的画面效果了,所以说我们也许可以用Three.js造一个3d的战斗系统。
4. JS这门语言没有Ruby好用=》你可能需要第三方的库
在Ruby中可能已经习惯了map, each, find_all这些方法的你在Js中不会发现这些方法。更糟糕的是Ruby中的Class在Js中都不直接实现。
但是很幸运的是Underscore, FunctionalJs等库给你提供了这些功能,也就意味着你需要第三方的库来提供一些你在Ruby中习惯的功能。
当然这也意味着你有更多的语言特性的选择,比如说:monet.js(https://cwmyers.github.io/monet.js/)提供了Haskell引以为傲的Monad。https://github.com/jlongster/transducers.js 提供clojure的transducer。
还有比如说React.js或者Riot.js这些UI的库也许也可以用于RM的GUI编写中。
5. 干脆换一门语言好了
Javascript被普遍认为不适合写任何超过1000行的程序。所以说也许你可以去换一门语言:
https://github.com/jashkenas/cof ... -that-compile-to-JS 有一列能编译成Js的语言,其实总结下来就是:几乎所有主流语言都可以编译成Javascript
当然现实没有这么理想,最后你可能会去用那么几个主流的语言:coffeescript(更为简洁的js写法,更像Ruby),typescript(提供静态类型支持), livescript(更加函数化的写法),clojurescript(clojure的js版本,也许可以用来写一整个游戏用)。并且如果想要挑战的话可以用c, scala, java, ruby, ocaml, purescript(haskell般的语言), jsfuck, brainfuck等你能想到的几乎所有语言来写MV游戏。
6. 脚本门槛高了
Js语言没有Ruby那么容易写好,同时内置编辑器没了之后还得自开编辑器打代码,同时估计大家一上场就会用coffeescript, livescript之类的写东西。所以说也许改脚本不好改了(因为不一定是单纯的用js写的),写脚本门槛高了(因为js没有那么好学)。
7. 后话
我还记得我在某群里面说过我想重写一遍RM引擎,然后当时我就说了我也许会去用Js写,然后发现MV用Javascript了也是很欣喜。于是这次终于有一个技术上不是那么封闭的RM可以用了,技术上的革新势必可以带动整个生态链的发展,HTML5是已经被证明是有未来的技术,希望能以此重振RM。
并且这不仅影响新系统的产生,同时也意味着也许更多的工具可以被写出来(比如说更好的地图编辑器,数据库编辑器之类的)。底层技术换了一个档次之后生态系统肯定也会随之优化。
|
|