(建议)关于解决多线作战的一个思路

修改于2020/06/211276 浏览反馈
以前应该发过类似内容的,可能是官方没看到或是看到觉得不可行,今天应无名的提议再发一遍,我尽量说清楚一点,希望能有用…
首先说明几点:
第一,本人编程学过一点点,实际水平极渣不值一提。如有错漏实属正常,请多包涵。
第二,因为不清楚汉末实际程序设计情况,所以以下内容完全依赖于对游戏表现的推理猜测。因为可能完全无用…
基础思路概述:借鉴经典游戏基连的野望系列的多线战斗设计思路
说下我个人对汉末目前系统不能实现多线手动战斗的原因猜测。
最基本的猜测:手动战斗中的回合直接对应游戏中的时间轴,因此除非频繁切换两个甚至多个战场(很显然这样体验感极差,程序上也可能非常臃肿和容易造成巨量资源占用导致崩溃),否则首次手动战斗过程中外部发生的战斗只能默认进行后台自动战斗。
基连的野望系列游戏的回合设计:
游戏分为战略回合和战斗回合,战略回合与汉末的每月结尾内政时间一致,即可进行各种操作,大地图上部队均为暂停状态。
战斗回合开始后,以地图位置顺序(例如说从西至东,从上到下)逐一进入实际战斗阶段。进入战斗之后只有五个可活动回合,五个回合过后回合停止,进入下一个地块的实际战斗阶段。所有地块战斗回合过后进入下一个战略回合。
我设想的汉末新战斗回合设计:
1,将每月30天后台设置为150个实际回合。
2,如果这个30天的变量数字影响原有的各种计算例如部队在大地图的移动,城市的发展变化等等只需要按照对等比例改动一下就好。
3,假设赵云部队于1月2日进入战斗,那么进入实际战斗阶段,此阶段为5回合。5回合过后该次战斗阶段结束,外部日期为1月3日。
4,暂时不考虑同一天内发生多场战斗问题。
5,可以通过游戏设置(如进入战斗的判定条件)来确保每次战斗都只会发生在当天的内部第一个小回合,即1月2日-1回合。
6,援军部队可以同样通过给进入战斗的判定条件增加一条的方式设置为只能在下一日进入。
这个设计的问题:
1,暂时无法解决同一天内发生多场战斗的问题。目前考虑是否可以设置双方部队相遇无论是否进入战斗均会先停顿一下(一天还是一个小回合?这个还没想好)
2,这个思路成立的前提之一是汉末目前的程序支持保存每一场五个实际回合战斗的数据保存或者说冻结。如果一个月之内发生多场战斗,这个保存的数据量可能会很大,容易出问题。从目前读档之后无法继承之前的手动战斗情况来看,很可能目前的程序不支持这种保存。本思路很可能因此无法在当前程序框架内实现。
3,针对上一条有一个补充思路,同样不清楚能否实现。仅供参考。思路如下。每一场战斗的“结束”状态可以视为一串数字:例如双方部队状态(武将,兵力,异常状态,所处战场格子的坐标编号等等),战场编号(用来区分是哪种地形,汉末目前好像战场地形就那么有限的几个,没有做到一步一地形,当然也没有必要)。只要保存这一串数字实际就相当于“保存”了战斗进度。
这个设计的可能优点:
如果我对汉末目前系统的猜测接近实际,那么有可能在不用对引擎大改的前提下实现。也就是说可以在汉末当前的程序框架下实现,甚至可以成为汉末一代的一次版本更新而不是二代全新引擎。
当然,最后还是得再次强调,以上全部思路都建立在本人极差的编程水平和对汉末系统的猜测基础上。如果汉末一代没有办法实现这个思路,希望能为汉末二代解决这个问题提供一定的帮助,能成为一小块灵感砖头就好。国产游戏不易,精品不易,汉末加油!
16
60