U3D游戏开发初学者个人项目Demo制作指南

4

主题

5

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-12-14 12:14:37 | 显示全部楼层
去年我们为大家分析了FPS射击游戏的部分技术点,同时也提供了0.02元的FPS射击游戏训练营,很多参与了训练营的小伙伴都表示可以跟着做出FPS游戏Demo,一步一步做出来成就感也很强。


为了让更多同学们从案例中提升自己或者作为自己的个人项目,本次为大家带来了三国杀卡牌类游戏的技术分享。
先来列出一些值得我们分析的技术点:
1. 回合问题
2. 配置问题
3. 洗牌问题
回合问题

想要完成一个类三国杀的卡牌游戏Demo,第一个需要解决的核心问题就是“回合”问题。
这时候你可能会想到传统卡牌游戏斗地主,和它不同的是,斗地主轮流出牌即可,但是类三国杀游戏会存在:我对你使用“杀”技能,需要进入到你的回合,你可以选择是否出“闪”技能,更别提还有各种技能的参与”。
所以如果我们想要实现一个基本的“杀”“闪”功能,就需要实现“我杀你,进入你的回合”的情况。
在Unity中我们可以选择使用协程来完成这个事情,这里我提供下思路:


开启一个协程,先等待玩家出牌,做出指令后再等待敌人出牌,这里的等待其实是等待每个玩家的主动回合(也就是可以杀、放锦囊的回合)
接着:当出牌“杀牌”后,就会进入受到攻击玩家的响应回合,思路如下:


所以这种回合的实现方式就是通过协程嵌套来完成的,但我们经常会卡住协程去等待玩家的操作,同时我们也会考虑倒计时的问题。


配置问题

每张卡牌都有不同的效果,有些可以主动使用,有些则只能响应使用,有些满血不可以使用,例如“桃牌”,只能在血量状态低于最大值时使用。

卡牌的配置我们可以基于ScriptableObject来实现:


如果有同学想要本篇文章的素材或是完整的视频教学资源,可以点击下方的卡片获取。
洗牌问题

三国杀这种游戏,每张卡都有固定的数量,所以我们需要设置类似扑克牌的洗牌效果,这里是60张杀、20张闪、20张药。


另外一个需要注意的细节是,当一副牌使用完后,需要再次洗牌才能使用。
好啦,今天就讲到这里啦~
这里再分享一些游戏行业资源+demo制作公开课
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表