分享 用 Ruby 做弹幕游戏

mizuhashi · 发布于 2016年07月07日 · 最后由 realwol 回复于 2016年07月08日 · 1179 次阅读
23529

https://github.com/CicholGricenchos/toho-like-rb

做了个类似东方的demo,用gosu做的,gem install gosu然后直接运行game.rb就能玩。(忘了说要ruby2.3,因为用了&.)

完成度比较低不过懒得做了,一方面是gosu这个库在windows下有谜之卡顿,而且确认了不是ruby本身的问题,要么是SDL的锅要么是binding的锅。

所以ruby目前做游戏还没有特别好的方案,除非自己处理一次绘图库的binding,之后还是打算去玩js。 然后我之前考虑过一个方案是,用ruby处理游戏逻辑,然后绘图数据用websocket发到前端用canvas绘图,但是实测了一下js websocket的带宽很小,几百k的数据就要几十ms了,满足不了60帧的需求。 当然还有一个是opal-pixi,翻译成js,不过这个是邪道。。

demo的素材全部取自https://github.com/takahirox/toho-like-js 这个js版,完成度很不错,顺带一提作者是《Unix内核源码剖析》的作者,我买过这本书,无意中点进linkedin发现的。。

代码方面没什么好说的,我是因为看不懂js版这个才自己写的,所以别人看我写的估计也是看不懂的,不如自己写好懂。。结构上面游戏开发有点类似react,也是组件树,然后每帧 更新 -> 重绘,有时候前端发明的新概念其实在十几年前人们已经用c在这么做了。。

顺带发现的一个好东西:http://www.voidelement.com/bullet/ 这个是一个生成弹幕的dsl工具,这套dsl也可以用ruby实现,弹幕的设计大概就是这么做的,点进一个预设然后点右上角的プレビュー预览,有很多十分华丽的设计

共收到 2 条回复
16228

长知识了

4933

之前用gosu做过一点小东西,不过完全探索性质的,不成气候,想好好做比较难。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册