泰坦帝国

 找回密码
 加入帝国

QQ登录

只需一步,快速开始

查看: 1587|回复: 3

[技术工具] [DT 家园2游戏模式工厂]动态战役理论验证工作报告

[复制链接]
发表于 2011-12-9 22:35:17 | 显示全部楼层 |阅读模式

原版的战役,共十五关,白纸黑字写在名为ascension.campaign的任务列表文件里,第一关坦尼斯完成后肯定是第二关天使之月,载入的是一个固定的地图,运行的是一个固定的脚本。

尽管通过IO可以将战役的不同结果保存到文件里,并在生成下一关的地图,运行下一关的脚本时读取文件中的信息,做出能够根据上一关的完成情况而有所改变的关卡,从而制作出能够支持分支剧情,地图切换等功能的动态战役,但ascension.campaign文件仍然白纸黑字写在那里,所以严格来讲这样的战役还不够“动态”,并且条件判断较为麻烦。

因此,进一步地,只要实现了动态扩展campaign文件,在每关结束时临时制定下一关所要载入的地图及运行的脚本,就能够实现真正意义上的动态战役了。本次对动态战役的理论验证,虽未大量使用IO,但充分发挥了其功能,最终形成了一个新的战役系统,结构清晰,编写简单,且由于campaign文件是动态扩充完善的,因此能够真实反映玩家的战役历程。

系统原理:
每关结束时,首先是脚本设置任务完成,接下来反馈到campaign文件,游戏以此决定是进行下一个战役还是整个战役已经结束,退回主菜单。现在,campaign文件中只有第一关的信息,和第二关的一个位置。我们在脚本设置任务完成前,向一个文件中Output下一关使用的地图和脚本的代号,campaign文件据此对下一关的内容进行更新,同时预先开辟好下下一关的位置,免得游戏认为接下来的就是最终战役。然后游戏载入指定的地图和脚本,开始了我们所决定的下一关。整个战役就这样一点一点顺延下去,期间还会对另一个文件进行更新,记录的是玩家的战役历程,任务列表会据此真实反映在游戏中。所有可能的关卡信息单独存放在一个文件中,等待被不断扩充的campaign文件调用,该文件由用户根据自己的战役文件路径来编写。

使用实例:
制作十五个战役,分别使用原版1-15关的地图,为希格拉添加15个新的研究项,分别对应这15关,在每关的脚本里,判断玩家研究了哪一个,一旦研究则设置下一关为对应的关卡,然后设置任务完成,于是玩家进入第一关后研究哪一个都会立即任务完成,进入第二关,且第二关是你的研究项所对应的地图,在第二关,你也可以做同样的事情。并且你会发现,退出游戏再进,整个任务列表的显示也是完全符合你的选择历程的,如果从中间某一关重新玩起,后面的关卡就会随着你的重玩而被刷新。

这是十分进阶的MOD制作才会用到的东西,因此就不放出下载了,真正理解了并认为需要用到的话与我联系好了。
发表于 2011-12-10 09:03:02 | 显示全部楼层
我明白了……好技术……用它干啥好呢……?{:soso_e122:}
发表于 2011-12-11 00:02:14 | 显示全部楼层
大概懂了点,就是先设定好关卡,然后在游戏中设定多个完成条件,一旦满足其中一个,马上用脚本Out出已完成的关卡与下一个对应关卡,接着完成本关卡,然后重写campaign结尾的任务链接,达到动态链接关卡………………如果是这样,即使在已完成关卡中随意一个重新开始,就可以做到无后效性,重新改写campaign……………………挺好的方法,用来作为驾驶模式的战场间链接或游戏中的支线任务很不错(剧情单一性可以不说)……………………
发表于 2011-12-11 18:41:56 | 显示全部楼层
很好很强大的东东……至少在没办法玩联机时,可以狠狠的虐一虐电脑了……而且根据理论,任务足够,且出现连续任务——就像抢了“神谕”过后卡伦被追杀N关,直至灭掉对方指挥旗舰或者被灭前,可以在N幅地图里享受被马坎追杀……甚至可以无限制玩下去……很好很期待……加油!!!!!!!!!
您需要登录后才可以回帖 登录 | 加入帝国

本版积分规则

Archiver|手机版|小黑屋|泰坦帝国  

GMT+8, 2020-9-21 21:09 , Processed in 0.096390 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2 Designed by 999test

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表