试玩视频:
序
在写这本书之前,我也是思绪万千。因为如果写了,它的篇幅会非常的长。如果不写,我又觉得不甘心。毕竟这是一款里程碑一样的作品,总想留下些什么来方便后人采撷。
我早年也是游戏王独立游戏的作者,但开发了三年因为各种工作压力夭折了,这次先导者也是四年前好不容易鼓起勇气去开发的,因为我知道一旦开发TCG(集换式卡牌游戏),那注定是一条非常漫长的道路。
在TCG游戏市场中,我玩过不下25款游戏,其中有最新的龙珠,碧蓝,也有影之诗,百闻牌,当然不可或缺的游戏王,万智牌等等。就我自己开发过的TCG游戏来说,我认为游戏王是最难开发的,其次就是先导者。他们或许没有各位大佬想象中那么难开发,但复杂度绝对能让人望而却步。
在这次的先导者游戏开发过程中,我很注重技术的积累和新技术的学习。我不想把游戏开发的死水一潭,而是更希望游戏能够带给玩家平衡性,耐玩性,趣味性,赏心悦目性和人性化,当然时下最流行的一个词——诚意。
所以我游戏开发的不算快,甚至有人说我是自娱自乐,但我想带给玩家的是一个更为完整的游戏体验。虽然游戏全程所有领域都是我一个人在做,但我也丝毫不想偷懒和懈怠,每个领域我都认真去面对,或许我不是某个领域最强的,但我希望我的诚意能够打动各位玩家和粉丝多年的支持。
游戏由于受到日本版权保护,所以我这个或许一辈子都不能靠这个游戏发家致富,但我一直喜欢玩先导者这个游戏,从2011年第一套卡组到现在,一直有收集卡牌。
选择做最老的版本也是希望不和官方现在的游戏作品相冲。
- 技术层面上,由于我电脑还是六年前的老机器,所以我尽可能选择一种语言来开发全套。引擎我使用的是Unity,很多美术工作也是在Unity里制作完成,编程语言我使用的是C#,没有别的了。AI选用的是python脚本做深度训练,但是训练内容仅限于部分配音。核心代码全部靠硬编码独立完成。所以在所有代码上我享有保护权利。服务端和客户端一样,都是靠C#语言纯手撸完成。
- 另外,游戏注重采用3D模型和2D动画双结合的方式程序,用了最新的三渲二技术 ,所有模型都是在Blender里独立完成的,选用Blender是因为功能宽泛,且小巧易用,对于我硬盘空间只剩30个G的老机器来说非常地友好。
服务器我选用的是腾讯云,也是只有100G的小容量,加上自己的机器不是很好,所以我在优化上下的功夫可能要占到所有制作工序的三分之一,细化到每行代码,每个图片颗粒度。
- 最后,游戏内还有大量的文本文案,故事,wiki知识,我都是去外网翻译。
所有的卡图我都重新绘制,中文化,并且加了特效。关键怪更是加了3D模型和动画进行演出。
目前每出一张卡,都必须进行组卡技巧翻译,wiki故事观翻译,动画wiki翻译,战斗特效,立绘,模型,卡图重绘,中文化,卡图特效,卡信息数据录入,单独的卡片AI思考模块,卡片自动化模块,玩家自动化,敌人自动化,联机对手自动化,玩家分析模块,对手分析模块,发动前判断,发动后判断(双方),核心代码对这张卡的警戒度,逻辑思维(概率)的判断。
免责声明:本游戏永久免费,请勿尝试自行破解修改后二次传播,因为破解造成游戏数据损坏,本人不负一切责任。
如何下载到本游戏?
游戏很亲切的提供了手机和电脑多种包,包内容热更同步。后续有机会还会开放游戏主机版本。
相比较而言,百度网盘需要开会员才能全速下载,天翼云盘只需注册账号就能全速下载。但百度网盘用的人多。
切勿尝试用微信下载apk,因为后缀会多一个空格和数字1,导致无法安装成功(认不出后缀格式)。
网盘里会有个联机版的文件夹,双击进去有三个版本。
注意看后缀。
· 后缀名字是exe结尾的,是可以直接在PC电脑上游玩的。不管台式机还是笔记本,下载该版本后用winzip工具或7-zip工具或winrar工具解压,点开里面的应用程序即可畅玩。
· 后缀名字是apk结尾的,是可以在安卓手机上游玩的。下载后安卓手机上会弹出提示,照提示点知道风险,安装,安装完成即可。安卓的下载安装操作均可在网盘app内自动进行。
· 后缀名字是Ipa结尾的,是可以在苹果手机上游玩的。 我已做了移除苹果证书签名处理 ,但是为了防止掉签或者过期等不可抗因素,还是需要大家自己再签名一下。安装方法会稍微复杂一些,用电脑下载到本地,数据线连接苹果手机,安装爱思助手,找到工具箱,打开ipa签名,输入自己的账号和密码,签名一下后会生成一个新的ipa,将这个新的ipa通过爱思助手传入手机即可。
参考上图提示,按照步骤执行
1)打开爱思助手,点工具箱
2)选IPA签名
3)添加IPA文件
4)使用appleid签名,放入ipa,输入账号和密码
5)开始签名
6)点打开已签名IPA位置
7)将新生成的ipa拖入我的设备的应用中即可大功告成。**
注意:苹果手机第一次进游戏会弹出是否联网访问的选项,为了保证热更新顺利进行,请务必选择是按钮。
所有安装包都采用了高压LZ4,包体很小,基本上都保证在了190M以内。
iPA:124M
APK:167M
EXE:187M
解压后基本在150M至240M左右。所以请预留至少300M的存储空间。
其实游玩本体只有120至130M,之所以变大了,是因为内嵌了热更新模块。
小贴士::
为什么安卓的热更新模块这么大?
是因为热更新基于L2CPP技术,他会把安卓手机需要的L2CPP模块统统搬入安卓包中作为基底,而且随着安卓版本号的提升,对应的基底包容量也会越大。
游戏目前支持的平台有:arm64格式的手机,苹果安卓不限,64位操作系统的windows,安卓苹果平板等等
注意:游戏下载后,后续都依赖热更新。如果发现游戏内异常或者报错(右下角会有提示),请尝试重新下载网盘中的对应平台安装包。
第一次启动时,会进行热更新,第一次更新时间会略长一些。更新完毕后才能进行游戏,请勿中途退出应用或杀掉进程。
如何热更新本游戏?
进入游戏后停留的第一个界面,就是热更新界面。
我已经为大家配置好了更新服务器的IP地址和端口号,基本不会发生变动。如若发生变动,需要自己手动输入IP进行修改。
玩家直接点确定,等待热更新结束,就会进入到正式游戏界面开玩。
技术要点——
关于热更新的技术要点其实并不复杂。在Unity的Package Manager里遵循泰课课程(或是CSDN教程)安装完YooAsset和HyBrid插件。
但是也有几个地方需要注意一下:
先说YooAsset,在Collecter界面要按如下配置才能进行完整的资源更新。
第一步:如上图,收集场景。资源包名一定要选择父类文件夹路径,收集对象必须选择场景。
小贴士:收集的场景最好是空的,用异步加载方式加载场景内资源,以防和其它资源相冲。
第二步:如上图,收集各种dll,包括被hybrid裁剪后的AOT dll。资源包名一定要选择打包原生文件,收集对象必须选择收集所有资源。
第三步:如上图,收集各种素材资源,资源文件夹建议另外起个名字,叫Res,而不是选择Resources文件夹。资源包名一定要选择父类文件夹路径,收集对象也是必须收集所有资源。
小贴士:为了防止重名,这一步需要点击下资源列表的三角小箭头,检查有无重名,千万不要重名,如果有,根据错误列表贴士进行改名。
设置里的选项参照上图勾选即可。
分别是勾选展示包名,这个必选。
勾选展示Alias,这样英文界面会变中文界面。
勾选Addressable,这样就可以打增量包。
设置完一定记得点右面的保存,切记!
资源包选择完后,选择这个弹出窗口,第一次打包要依次选择箭头所指的第一项和第二项,以后打包只要选择第三项,如果你引入了新的库(比如在代码里引用了using System.net之类的)。需要先点第一项再点第三项。
如果需要减小更新包容量和加密更新包,在插件工程的源码中修改这两项即可。
压缩格式变更:输入CompressOption = ECompressOption.LZ4,
压缩加密方法:输入EncryptionServices = new FileOffsetEncryption(),
华佗代码热更
由于华佗已经非常智能地集成好了一切,这里我们需要注意的就两个地方。
根据我的经验:
第一个是设置的时候记得如下图设置。
第二个是Hotupdate.dll一定要把两个yooasset放进去。不然代码找不到或打包后报错。
小贴士::
传哪些文件夹到服务器?
打出的包在Bundle文件夹下,会有一个OutputCache缓存文件夹,一个v1.0的全量包,和多个版本号的增量包,传服务器的时候,只需要传最新的增量包和全量包即可,其它增量包可以删除,缓存文件夹不要删除,不然下次打增量包出奇的慢。
热更部分的核心代码如下:分为联网更新下载和断网不下载直接游戏两种。
如果找不到更新清单,即为空时就执行断网不下载直接游戏。
找到更新清单,就下载后进入游戏。
代码分析及注释:
//1 初始化
await InitializeYooAsset();
//2 获取资源版本
var packageVersion = await UpdatePackageVersion();
Debug.Log("当前版本为:" + YooAssets.GetPackage("DefaultPackage").GetPackageVersion());
if(packageVersion == "" && !YooAssets.GetPackage("DefaultPackage").GetPackageVersion().Contains(GlobalConfig.BuildVersion))
{
Debug.Log("试图恢复包构建");
PlayMode = EPlayMode.OfflinePlayMode;
package = YooAssets.GetPackage("DefaultPackage");
YooAssets.DestroyPackage("DefaultPackage");
package = YooAssets.CreatePackage("DefaultPackage");
YooAssets.SetDefaultPackage(package);
var initParametersOffline = new OfflinePlayModeParameters();
await package.InitializeAsync(initParametersOffline).Task;
packageVersion = await UpdatePackageVersion();
}
if(packageVersion != "")
{
Debug.Log("开始下载");
//3 更新资源清单
await UpdatePackageManifest(packageVersion);
//4 资源包下载
await Download();
}
else{
Debug.Log("不进行下载");
}
GameObject.Find("Scrollbar").GetComponent<Scrollbar>().size = 1;
//5 补充AOT泛型
await LoadMetadataForAOTAssembly();
//6 读取HotUpdate热更新文件
await LoadHotUpdateDll();
//7 更新结束 开始游戏
GameObject.Find("piccccc").SetActive(false);
await StartGame(GlobalConfig.GamePlayScene);
进入游戏第一个界面 CG界面
进入游戏会先触发一段CG,CG画面下演示了部分角色和怪物立绘动画。
应玩家,游戏采用最大化窗口显示,代码里就是把全屏变量改为false就行。
手机端和PC端画质分辨率保持一致,都是1900以上分辨率。
手机端和PC端帧率保持一致,设置里可以改帧率,最低30,最高60,不设置就是锁60。
进入游戏第二个界面 LOGO界面
轻触屏幕进入组卡选关界面。
关卡之间跳转都是使用了异步加载。由于2019后的新版本unity都会自动GC,如非必要,不建议在切换时再GC.collect(),在某些安卓机型上会出现加载慢的情况。
进入游戏第三个界面 组卡选关界面,也就是主界面
点开始游戏后,映入玩家眼帘的第一个界面,就是主界面。
主界面提供了一些前期准备的功能选项。
从上到下依次是:
金币和金钱。游戏获得胜利,对方手卡打光,联机模式逃跑等都能获得金币。金币根据难易度,关卡难度有所调整。基础值为500.
- 简单模式下,难度在基础值系数上乘以0.8(随更新可能这个数值会有所调整)
普通模式下,难度在基础值系数上乘以1.0(随更新可能这个数值会有所调整)
极难模式下,难度在基础值系数上乘以1.5(随更新可能这个数值会有所调整)
预组(就是定死了卡组,只能用这个卡组去挑战的)关卡基础值为500.
自组(就是没定死卡组,只能自己组卡去挑战的)关卡基础值为600.
挑战模式下,关卡基础值为800(随更新可能这个数值会有所调整)
联机模式下,基础值为500.
元宝
设置按钮
- 可以对游戏音乐,画面,FPS,难度等进行调整(详细会放在下一章节讲解)。
如下图所示:
第一个是FPS。根据你自己的机器性能选择合适的,30帧虽然不是特别丝滑,但是对所有低端机都很友好。如果有条件还是建议玩家朋友开到45或60fps。
注意:苹果手机不能够更改45fps。设置45也会提高到60fps。
第二个是背景音量。有六档选择,最后的全关就是游戏里除了开场CG外,一点声音都不会发出。
第三个是音效音量,特效音的音量。
第四个是配音音量,对战角色的音量。
第五个是难度选择,新手难度对方让1血,标准难度双方都不让,极难难度玩家让1血。
第六个是护眼选择,玩家有闪光症的建议开柔和,保护眼睛,一般普通就行,除非直播打比赛,可以开明亮。但明亮视觉效果最佳,如果感觉视力疲劳请调整成柔和。
第七个其实不该存在,是GM指令,开启后主界面会多三个选项。分别是开启全关卡,开启全卡以及跳过教学关。
正式版会取消第七个。
最右下角的一个是重置,就是删除存档,此操作请慎重,会有二次确认提示框。
开启GM后如图所示:
剧情模式
- 就是单机模式(详细会放在下一章节讲解)。目前开放了36个关卡。(后面会不断更新)剧情模式下每个分页最后三关是boss关。如果是第一次进入,默认进行教学关卡。(不可跳过)
卡组编辑
- 可以对已有的卡组进行编辑,替换卡片,迎战联机和自组关卡。目前开放了120余张卡片。(后面会不断更新)。第一次进入编辑界面会触发延时加载机制和无限循环背包栏。加载完后可以进行操作,仅第一次打开和关闭重开会有。其它情况下不会触发。
排位比赛
挑战模式
卡片首都
下面还会出现对话条:它会根据普通模式单独关卡,对话提示也会有所不同。比如你打到了33关,那就是海盗主角刚毅的语音。你换页换到第2页,又会换第2页别的角色的人的语音。上面的频谱特效不是固定死的,根据声线大小会波动的。
第一次进入游戏时,请选择剧情模式。
剧情模式一开始是教学关。教学关会有过场剧情动画,动画可以点屏幕上方按钮跳过,也可以点屏幕快进对话。对话角色都有相应的动作对口型。
小贴士::
剧情模式主要是为了第一次玩游戏的童鞋熟悉游戏流程。当然本文后面也会带领大家熟悉这一战斗流程。
剧情模式参考视频如下:
剧情模式下正式开始对决。
对决一开始,双方玩家要通过猜拳决定谁先攻谁后攻。游戏模式最初是三局二胜制,后来在玩家的建议下改成了一局一胜制。后面会根据情况再进行调整。
猜拳模式
猜拳有三种,剪刀,拳头和布。
如果大家猜的都是剪刀,或者都是拳头,或者都是布,那就重猜。
如果我猜剪刀,你猜拳头,你胜,那你就先攻,我后攻。以此类推。
如图所示:左边的玩家是AI,或者你的联机对手所扮演的角色形象。
右边的玩家是自己所扮演的角色形象。
根据角色形象的不同,使用的卡组,卡套也会有所差异。
#进入游戏对决界面
猜拳结束进入游戏对决界面,对决界面中间是个大的决斗盘。决斗盘上半部分是对手的战场,左上方的角色是对手所扮演的角色。决斗盘下半部分是玩家的战场,右下方的角色是玩家所扮演的角色。
决斗盘根据功能划分为2个位于中间的先导区圆阵,和5个周边的后防区圆阵。另外还有卡组堆放区,超越区,触发区,伤害区,墓地区,弃牌区,手卡区以及守护圆阵。这些格子的作用后面会详细为大家描述。
游戏开始时,玩家和对家会将自己的卡组放在自己分别对应的卡组区中。按规定每个卡组必定是50张卡牌。(等到了游戏后期还会追加超越区必须8张以下卡牌的规定)。
卡组堆放好后,玩家和对家首先要做的,是要将卡组中的首发先导者找出来,以背面不可见牌面的形式放置在先导区圆阵中。在编辑卡组时都已经设置了首发先导者,所以这一步操作是自动的。
首发先导者规定必须是0阶的单位。(后期还会有规定某些0阶单位禁止或者限制使用,后述)
首发先导者找出来后,玩家和对家的卡组就只剩下49张牌。这时还要根据难度模式,决定是否让血。
双方首发先导者在回合开始前不能让对方看到。会一直保持背面状态。
· 如果玩家难度选择的是简单难度,那么对家会让你1血,他将卡组区中49张卡的最上面一张卡以表面可见牌面的形式横着放置到伤害区。(伤害区谁的血先到6谁就输,后文会阐述)
· 如果玩家难度选择的是普通难度,那么双方不让血。
· 如果玩家难度选择的是简单难度,那么玩家让1血,自己将卡组区中49张卡的最上面一张卡以表面可见牌面的形式横着放置到伤害区。
双方卡组剩余48至49张卡,接下来就是开始抽卡,每位玩家必须从牌堆最上面以背面不见牌面的形式抽出5张牌。玩家只有自己能看到这5张上手的牌,叫做手卡单位。
上手的手牌每张牌左上角都会有一个数字代表怪物的等级,有0有1有2有3。随着后面的战术深入,建议玩家朋友最好能保证手牌有1,有2,有3各1张。
如果你的手牌没达到这个要求,可以有一次机会选择是否换牌。当然满足要求就可以不换牌。
换牌时可以选择张数,如果一张都不选择点确定就是不换牌,如果点了一张按确定就是换一张牌,点两张就是换两张牌,以此类推,最多5张。
换牌的小技巧:
如果手牌有0阶单位,将手牌中所有的0阶单位选中,换牌。
如果手牌少了1,2,3阶其中一个单位:
如果你手牌1阶有2张,那么选择1阶攻击力较弱的1张牌。
如果你手牌2阶有2张,那么选择2阶攻击力较弱的1张牌。
如果你手牌3阶有2张,那么选择3阶攻击力较弱的1张牌。
(后面还会有规定,如果有1阶守护者那就不要换牌。后面会阐述)
将选中的牌按确定后,系统自动开始换牌,先将选中的牌按照从左到右的顺序一张张放在牌顶,最左边的牌先入牌组栈,最右边的牌最后入牌组栈,全部送入后,进行一次洗牌操作。洗牌遵循里夫鲁式洗牌方法,抽出牌组中间一定数额的牌,随机将其插入牌堆顶或者牌堆底,这个过程洗三到四遍。然后再从牌堆顶抽出刚才放入的牌数相同的牌到手牌中,抽出牌堆顶一张牌,就加入到手牌最右侧。注意:手牌不能进行洗牌操作。
顺带一提,手牌的形状是个扇形,如果后面牌数多了,可以手牌左右的旋转按钮旋转,敌我通用。
双方洗牌的动作是同时发起的,没有先后顺序之分,谁先洗完就等待后洗完的人洗完牌,才正式进入回合阶段。
AI敌人洗牌时会采取的战术
· 如果手牌有0阶,全换0阶
· 如果手牌有1阶2张,换力量低的1张1阶
· 如果手牌有1阶2张,其中1张是守护者,那么不换
· 如果手牌有1阶3张,其中1张是守护者,那么从剩余的2张1阶中选择力量低的1张换
· 如果手牌有1阶3张,其中2张是守护者,那么换剩余1张
· 如果手牌有1阶3张,其中3张是守护者,那么换其中2张守护者
· 如果手牌有2阶2张,换力量低的1张2阶
· 如果手牌有3阶2张,换力量低的1张3阶
· 如果手牌有3阶3张,换力量低的2张3阶(2阶1阶也是这样)
· 如果手牌有3阶4张,换力量低的3张3阶(2阶1阶也是这样)
· 如果手牌有3阶5张,换力量低的4张3阶(2阶1阶也是这样)
· 如果2张卡力量相同,先看有没有分配权重,如没有,随机决定1张。
· 特殊情况:如果手牌有2张1到3阶同阶卡,但这两张卡里有一张当前权重比较高,那么无视力量,先判断权重哪张高,高的留下,低的换掉。
· 某些换牌也会有特殊语音,比如爱知不换牌会说我不换牌,换3张牌会说我换3张牌。对方也会有语音说你不换牌啊之类的
之所以换牌要去0阶保1到3阶,是因为先导者这个游戏是看等级提升的。如果少了其中1阶,就会出现卡牌事故,等级越高,战术优势越大,赢的概率也越高。
双方都抽卡并换卡后,双方的手卡都会有5张。同时从编辑好的卡组自动将首发先导者找出来,背面朝上不可见的形式放置到场地中央,这就是你最开始的先导者。注意:首发先导者一定是0阶的单位。
正式游戏开始,双方玩家会根据刚才猜拳的先后攻顺序进行翻转场上的首发先导者。先攻方先发,后攻方后翻。首发先导者翻开的同时,还会伴随着华丽的进场动画和特效。
之后,进入准备阶段,准备阶段的作用是自己将场上一切横置的卡竖置,目前场上没有横置卡,自动进入下个阶段。
进入抽卡阶段,抽卡组最上方一张卡,全程背面朝上不让对方玩家看见,加入手牌最右侧。
如果手卡没有比场上首发先导者高1阶的单位,那么会自动进入一次卡手重抽。后文会详述。
然后进入升阶阶段,此时要选择一张比场上先导者高1阶或者和场上先导者相同阶的手卡,进行升阶操作。
升阶就是将手卡的一张高一阶牌覆盖到场上先导者上面,注意,升阶的卡要正面朝上,让双方玩家都看见。
小贴士
有两种情况比较特殊。
一,当场上的卡阶级已经达到3阶了,此时只能够升阶3阶单位,因为没有4阶。
二,当场上的卡是2阶,而你手卡只有0阶和1阶,此时会自动跳过升阶阶段。
一般为了进攻需要,我们会将自己手卡中攻击力最高的单位升阶。如果你手卡里有守护者,那么另当别论,尽量不要升阶守护者,因为守护者是你的防御牌,如果轻易升阶了,就会浪费一次宝贵的防御机会。
敌人也会这么判断,优先攻击力高的,非守护者的单位进行升阶。在某些特殊情况下,敌人甚至会在当场上先导者是3阶时,继续升阶3阶的单位。这个理由以后会为大家详细展开。
升阶阶段过后或升阶完单位后,自动进入主要阶段。
进入主要阶段的条件
1、升阶了单位
2、没有单位可以升阶
3、升阶单位时点了不升阶,并二次确认按钮。
主要阶段可以操作的事情就多了,呼唤单位,移动单位,发动单位的起动效果,都是在主要阶段做的。
呼唤单位
就拿呼唤单位来说,玩家可以呼唤比场上先导者相同阶级或者该阶级以下的所有单位。
这里也有个小技巧:
一般我们会选择把1阶0阶的单位放在后三个绿色圆圈,这种打法叫做支援呼唤。(注意:尽量不要将防御绝佳的10000盾护0阶轻易呼唤出)
一般我们会选择把2阶3阶的单位放在前两个绿色圆圈,这种打法叫做强攻呼唤。
通常来说,一路前方是2到3阶,后方是0到1阶效果最佳。千万别一路都是2阶以上的强攻单位,这样后面的单位将无法参与战斗。
呼唤到场上的单位被称为后防者,他的作用是进行支援战斗,辅助先导者等等。
后防者重要性次于先导者,经常会被击退。先导者不会被击退。
这个代码上的设计思路其实就是往一个空集合里塞数据。
以上所述,便是呼唤单位的方法,这里描述还是比较简单的,很多规则后文会提到。
移动单位
再来说说移动单位,移动单位必须满足有单位在后方格,并且只有左路和中路4个格子可以进行移动,先导者后方的格子禁止移动。
单位移动方法点击卡片,出现移动按钮,点击即可。
移动单位只能前后移动。
1、如果前方格子单位是A,后方空格。进行移动后,前方空格,后方格子是单位A。
2、如果后方格子单位是A,前方空格。进行移动后,后方空格,前方格子是单位A。
3、如果前方格子单位是A,后方格子单位是B。进行移动后,不管操作A单位还是B单位,都会互换位置,前方变成B,后方变成A。
4、如果后方格子单位是A,前方格子单位是B。进行移动后,不管操作A单位还是B单位,都会互换位置,后方变成B,前方变成A。
这个代码上的设计思路其实就是一次两个集合的互换,一个集合的数据先暂存,清空自己集合,另一个集合数据给自己集合。另一个集合清空,暂存数据给自己集合。
以上所述,便是移动单位的方法,这里描述还是比较简单的,很多规则后文会提到。
替换单位
如果想换了某个格子的单位,可以对这个格子再次进行呼唤。呼唤后之前的单位送入弃卡区,之后的单位占此格。如果呼唤前单位有一次性发动的能力,送入弃卡区的途中能力会被重置,之后如果有机会再次上场,能力会再次发动。
这个代码上的设计思路其实就是看成一个集合,规则上是先进先出,后进后出。
敌人AI在满足情况时也会进行替换操作。这里先举一例,后面会详细进行补充。
比如对方前后力量加起来没有超过你的V,但是如果有新的单位替换掉前后力量较弱的那一个单位后力量加起来超过你的V了,对方就会尝试这么做。但尝试前还会判断一下,避免前后列都是2阶单位。
发动单位起动能力
有些单位在场上时,单位卡片的右下角会多一个起字按钮。此时,玩家点卡片会多一个技能按钮,点了就能发动起动能力。
起动能力的种类非常复杂,这里也不做过多描述,怕新手玩家听了晕圈。后文会详细介绍。
完成上述的操作后,点战斗阶段按钮,即可跳入战斗阶段。先攻方第一回合按规则是不能攻击的,自动跳入结束阶段。轮到对手操作阶段。
注意:结束阶段按钮,只有在战斗阶段才可以点击。平时是点击不了,不能跨阶段跳过的。
结束阶段后,如果对手先攻,宣告对手回合结束,进入玩家准备重置阶段。如果玩家先攻,宣告玩家回合结束,进入对家准备重置阶段。这样循环往复,就是回合制卡牌游戏的精髓所在。
作战分析:轮到敌人行动回合,敌人升阶巴尔,使自己先导格的单位力量从原先的6000一下子进化到了8000,拥有了和我方先导者抗衡的资本(注意:攻击力相等敌人攻击我方,我方也会掉血),并且呼唤出了艾路蒙作为后防来增强支援,这样敌人攻击我方时,力量会达到14000点,我方就无法防御这么猛的力量进攻。还好敌人第一回合无法进攻。只能结束回合。
轮到我方行动回合,我方抽到了马隆,他是1阶单位,正好符合升阶条件,同时力量也是8000点,可以突破巴尔的防御。我们就先把马隆打上场。
下一节,制作人小白就带领大家进游戏看一看了,敬请期待!