Project1

标题: 热烈庆祝,SRPG移动范围生成速度问题完美解决!! [打印本页]

作者: 寒冷魔王    时间: 2015-4-9 19:26
标题: 热烈庆祝,SRPG移动范围生成速度问题完美解决!!
本帖最后由 寒冷魔王 于 2015-4-9 20:52 编辑

大家或许知道,我曾经在这里发布这个脚本的3.0版本:https://rpg.blue/thread-375993-1-1.html
3.0版本的Ruby版本性能虽然大大提升,但是速度方面仍不能满足普遍需要。不得不在某些方面借助C++等高效语言来解决。
今天,我怀着激动的心情,在这里告诉大家,SRPG地图范围生成+寻路在速度方面已经能够普遍地满足需要了!!

如图:

在地图大小500*500(RM中最大的地图大小),移动力为100的情况下,同样的地图,四周畅通(我的算法四周越通畅,计算耗时越长)时,获取可移点和路线所消耗时长如上。(左为4.0,右为3.0)
曾经跟某君做过对比,该君运行同段脚本消耗时长是我的计算机的2倍。也就是说,即使在这种极端条件(大地图,高移动)下,从计算机性能上来讲,计算的所耗时长也并不多。
因此我判断为这段脚本可以满足普遍地需要。(正常情况下,15移动力算是顶多的了。)
4.0与3.0改进的主要地方在于生成可否移动判断和放置判断的地图副本,而3.0版本使用的是线性表的遍历判断。V3与V2相比,改进就在于遍历判断的性能改进。可见遍历判断是影响性能的关键所在。4.0生成副本的想法来源于最近在研究的VA中的地图数据和我所建立的SRPG地图的转换中所考虑的生成副本的方法。通过实际的应用,我发现了3.0的许多功能并不会用到,因此在重写代码时全未加入。4.0和3.0有很多相似的地方,这是因为在重写时我copy了大量3.0的代码。但是因为涉及到了数据结构的变化,因此Map类我是重写了的。
这段代码只是地图处理最核心最关键的部分,如大家所见,我设计了0~6七个数字来表示,并在Data类增加了一个value的实例变量。这是为了以后增加新类型做准备。这段代码只是一个临时版本,我将会在之后对此进行后期的改进。
本人一直在VA上开发SRPG系统,目前这个系统已经有点SRPG的感觉了。我希望在不久的未来,我能亲眼见证这个系统的竣工。
诚邀嘉宾:@myownroc  @taroxd

代码如下:

作者: MeowSnow    时间: 2015-4-9 19:29
那22.5°战棋什么时候实现?
作者: 永燃的狂炎    时间: 2015-4-9 19:30
草!魔王大大好强大!我这渣渣炎怎么办!
作者: 龙和许也    时间: 2015-4-9 19:36
RGSS脚本貌似就像是种彩色拼图,能不能拼出美丽的完全靠自身的拼图款式对得准不准以及色彩上的搭配……



唉……看到脚本触炫脚本功力总让我有点淡伤。
作者: summer92    时间: 2015-4-10 12:20
好评如潮
作者: chd114    时间: 2015-4-11 20:29
看到标题我就知道是谁发的贴了···




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1