最近有点闲,就想着搞个小游戏玩玩。因为我平时挺喜欢玩炉石的,所以就打算自己也做一个类似炉石的卡牌游戏。这篇就是我整个制作过程的流水账,想到哪写到哪,大家随便看看。
动手之前,我先是把炉石的规则又捋一遍。毕竟要做个差不多的,总得知道人家是怎么玩的对?主要就是:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
大概就这么个意思,细节后面再慢慢加。
我用的是Unity,这玩意儿我熟。先建个工程,把基本的场景搭起来。放两个方块当英雄,再弄几个卡牌的模型,表示一下手牌和场上的随从。界面嘛随便拖几个按钮,能看就行。这阶段主要就是把大概的样子搞出来,不用太在意细节。
这里踩个坑,一开始我想直接用Unity的UI系统做卡牌,结果发现不太好弄。卡牌上的信息太多,还得拖来拖去的,用UI做起来太麻烦。后来我改成用3D物体做卡牌,直接在上面贴图,方便多。
框架搭好,接下来就是写代码让它能跑起来。我先写个简单的发牌逻辑,每回合开始给双方发几张牌,再加个费用系统,出牌的时候扣掉对应的费用。这部分没啥难度,就是一些基本的逻辑判断。
然后是卡牌的攻击和结算。我给每个卡牌加个脚本,里面记录它的攻击力、血量这些属性。攻击的时候,就让两个卡牌的血量互相减一下,血量小于等于0的就从场上移除。这里我用一些简单的动画效果,让卡牌打起来的时候能有点感觉。
基本的功能有,接下来就是加各种各样的效果。炉石里的卡牌效果太多,什么战吼、亡语、嘲讽等等。我先挑几个简单的加进去,比如战吼,就是在卡牌打出的时候触发一个效果;亡语,就是在卡牌死亡的时候触发一个效果。
这里我发现,如果每个效果都单独写一个脚本,那代码就太乱。所以我把所有的效果都抽象成一个接口,每个效果都实现这个接口,这样管理起来就方便多。我还写个效果管理器,专门用来处理各种效果的触发。
后面的时间,基本上就是不断地加卡牌,加效果,调平衡。这部分就比较枯燥,需要不断地测试,修改。我还加一些AI,让电脑也能跟我对战,不然每次都得自己跟自己打,太没意思。
这回做卡牌游戏还挺有意思的。虽然做出来的东西跟炉石比起来还差得远,但基本的玩法都有。通过这回实践,我也对卡牌游戏的开发流程有更深的解。下次有时间,再继续完善。
这篇就写到这,大家随便看看就如果有什么问题,可以留言,我看到会回复的。