探讨无限空间的可能性
有很多玩家询问过怎样突破两层空间的限制,我也解释过很多次,这个在硬技术上没有可能,但可以通过传送门来实现等效多层空间。不过大家普遍觉得这种方式在视觉上不太舒服。刚才在游家又看到类似的帖子,所以我在此做一个比较深入的探讨。
理论上说,ERM无所不能,多层空间也不会太难。
我在此就两种构建方式来探讨。为了简化,我这里采用单英雄视野模式。
1. 随机多层空间
随机方式是最适宜制作无底洞的,也比较节约变量。
以超小地图18*18为例,每个场景至多324个格子。
玩家(单英雄视野)通过传送门离开当前场景时,进行如下运算
(1)用变量记录当前场景的每个格子内容。
(2)构建随机场景,且必须包含返回上一场景的传送门。
这样一来,随着记录的场景数增加,游戏占用的内存会越来越大。
2. 固定多层空间
原创地图一般都不希望随机性太大,所以定制多层空间更切实际。
仍以18*18地图为例,在制作地图时只画一两层,其余全部用ERM代码来画地图。
比如每个场景324个格子的内容以代码方式储存在地图里。
每进入一个场景时,都直接从代码里读取。离开场景时都进行储存。
为了节约变量,可以编写一个场景存取的函数,每个场景用一个长串字符来存储,函数负责将这个字符串翻译成通用的ERM语言。
以上可能说得比较抽象,实现起来也比较复杂,但我觉得有一定的可行性。 用erm来画地图?这也行?;yowe; 这个好像又回到原始社会,工作量会比较大把 听起来很是玄乎啊,有点回魂仙梦或者异次元的味道呢;tl; 不过哥表示双层空间超大地图已经够折腾得了。 说了跟没说一样,除了老萨之外我不认为还有别人能有这么大的毅力去用ERM画地图。 呵呵,我完全听不懂;yowe; 这个确实可以实现,但是首先需要ERM大师们有这个兴趣才行。 不只是兴趣问题,还要有足够的毅力和时间。你想想,用地图编辑器来画地图就已经够呛了,还要用ERM来做地图,谁有这功夫? 哈哈,ERM小组的同志的留言可是有点打击风大啊;orz; 非也非也,如果利用模板的原理来自动生成随机地图,并以代码方式存取,就会容易得多。
回复 10# 的帖子
那老大,你告诉我模板的原理是什么。;yowe; 虽然我不懂ERM,但我觉得还是固定空间好,随机可能会出现很多BUG 嘿嘿,多层空间,深渊出现了 详见绘图区的帖子《随机地图分析》。没有完全相同的随机图,但相同模板随机出的图又整体相似,如区域的划分,守怪的强弱,宝物的等级。我所提到的只是一个可行性,而非实际操作。
回复 13# 的帖子
;aim; 那还真可以做个DND模式游戏了 ;juwe; 一起希望有这个可能实现,就算现在的144地图也觉得太小了。。。。。。。 个人觉得还是双层地图不停重绘靠谱一点;我记得之前翻过 wog 的一些源代码,就是他们在折腾 lua 的那些,现在想又想迁移到 python 上了,内存管理做得并不是很好,很容易泄露,更何况还要不停地生成新的地图。
Edit: 方才重新看了下 VCMI 的代码,觉得还是可以做一些事情的;等手头的工作不是那么着紧的时候,我会申请加入的:) 另外,这边的 C++ 程序员不妨考虑一下过去掺合一下, svn 上代码更新的进度真的是惨不忍睹, 3.59 目前看来还是遥遥无期。
代码在这里:
svn co https://vcmi.svn.sourceforge.net/svnroot/vcmi vcmi
[ 本帖最后由 fallening 于 2012-5-5 07:43 编辑 ] 老萨在《斯巴达300勇士》和《罗马4》里都有通过脚本构建随机迷宫的实例。 原帖由 songfx 于 2012-5-5 07:43 发表 http://www.h3wog.com/images/common/back.gif
老萨在《斯巴达300勇士》和《罗马4》里都有通过脚本构建随机迷宫的实例。
我不确定 zvse 脚本解释引擎具体是怎么工作的,但是从我目前看到的 lua/python 引擎这里,潜在问题还是比较多的,尤其是在内存的清理释放上。而 3.58f 本来就很善于 crash :)
3.59 最好的 feature 是绕开 H3 主程序自行其事,直接就是跨平台的,无论是 linux/osx/ios/android/winphone 理论上都很好移植,所以比较看好,就是开发进度是在太慢了,而且路线图似乎不是很清晰。
回复 19# 的帖子
楼上很了解内幕!我们不知道的你都了解!
好牛啊!
页:
[1]
2