游戏研发历程

Record of Game Research & Development

回顾入行5年业余时间做的独立游戏

”你做的前十个游戏都是垃圾,所以赶紧做掉吧” ——《游戏设计艺术》 《二次元斗地主》网易入职 MiniGame 2020.8 《桌上足球》 网易足球项目组程序内部挑战赛 2021.2 十几个作品通过投票最终获得第一,奖金1000人民币 《双人俄罗斯》 网易GameJam 2021.9 《牧羊星球》 CIGA 2023.7 第一款自己想做的游戏,自由的草原放悠闲的羊,可爱...

Unity PlayableAPI:中世纪近战游戏实战开发笔记

Unity作为一款流行的游戏开发引擎,其持续的技术创新为游戏开发者提供了更多的可能性。其中,Unity PlayableAPI是一项强大的工具,允许开发者以更灵活的方式创建复杂的游戏玩法和动画。本文将首先回顾Unity PlayableAPI的历史发展,然后以一个中世纪近战游戏为例,探讨具体的技术实现,并最终分析其利弊。 Unity PlayableAPI的历史发展 Unity...

UE5虚幻引擎动画系统 vs Unity动画系统

UE的蓝图是公认的好用,特别是美术在做动画方面,都推崇UE的工作流。Unity的动画系统中有哪些可以借鉴UE的地方呢?最近研究了一下Playable,发现思路和蓝图节点有异曲同工之妙,都是通过节点导流到最后的输出。本文就总结一下两个引擎动画系统的一些差异。 蓝图和状态机(以走路动画为例) 完成一个八方向走路动画,UE是用一个动画蓝图和一个事件图标来完成的。这里的BP_Space2D...

自己想的一个例子用Behavior Design来实践行为树

CSDN上的教程有很多 【游戏开发教程】BehaviorDesigner插件制作AI行为树(Unity | 保姆级教程 | 动态图演示 | Unity2021最新版,介绍了顺序节点、并行节点、选择节点、随机、优先级、中断、竞争、评估的概念,触发事件、通过继承来拓展节点。 看教程不如手撸一遍。夏天到了,我们来实现蚊子的行为模式:循环执行检测附近是否有人,有人的话飞到身边,等待5s,5s后开...

开发一款独立游戏的心路历程(持续更新)

2023年7月7日至2023年7月9日,我带领一个由3名美术、一名策划兼运营人员和一名音效组成的团队参加了CIGA GameJam 2023上海站的线下活动。在这次活动中,我们成功地开发出一款广受好评的游戏,也让我梦想成真。 以下为游戏实机录屏: 什么是 GameJam? CiGA Game Jam(简称CGJ)是华语游戏圈最大的线下Game Jam活动。 Game Jam是一种...

吃鸡游戏小地图的实现

最近负责吃鸡游戏中小地图部分,总结了一些经验,分享队友位置更新和毒圈实现思路 毒圈 首先,毒圈不可以用图片实现,缩放后不能保证圈的宽度,而且缩小后分辨率低到看不清圈。最开始我用LineRender来画圈,后来发现用shader实现更好。 LineRender private static int segments = 360; private static int pointCou...

优化好友邀请倒计时问题:从多协程到时间戳

需求背景 邀请好友组队,需要倒计时15s后才可再次邀请,数据只存本地。 定位原因 开始用了Dictionary<ulong,Coroutine>结构,邀请一个好友启动一个协程,存入字典。后来发现这样会有一个问题,就是隐藏节点后协程会被打断。 解决方案 于是改为用Dictionary<ulong, float>结构记下邀请好友的时间戳,再根据事件戳逻辑显示倒计时或者恢复...

关于TCP处理红点问题踩坑记录

需求背景 一个界面里有许多设施可以升级,需要消耗一定的道具。如果消耗道具满足要求,则显示红点。开发过程中发现,点击升级后,红点状态并没有刷新。 定位原因 原来,道具数量更新走的是TCP通知,而向后端发送升级请求后立马进入红点的逻辑判断,并不能保证是在TCP通知之后。最终导致刷新红点时,道具数量仍然没有改变。 解决方案 刷新逻辑不能在向后端请求解锁或升级的回包后,而应该在刷新该系统红点里加上物...

Unity利用正则取消富文本效果

Unity的Text组件里有个RichText选项,如果填入<color=#fff000>你好</color>,并勾上富文本,会显示有颜色的你好,但如果不勾选富文本,则会出现<color=#fff000>你好</color>。如果在不同页面调用相同的文本,或者根据不同情况选择是否有颜色。则需要通过正则表达式。 代码 using Sys...

C#UGUI源码分析

以Button底层实现为例

UGUI 源码地址 https://docs.unity3d.com/Packages/com.unity.ugui@1.0/api/index.html —— UIBehavior类及其派生类 UGUI系统中所有的UI组件都是派生自抽象类UIBehavior. 比如Button组件派生自UIBehavior下的Selectable,Image组件派生自UIBehavior下的G...