本项目旨在开发一款操作简单、老少皆宜的休闲竞技类游戏“大鱼吃小鱼”。立项原因在于精准填补用户在上下班通勤、排队等碎片化时间的娱乐需求,利用一局时间短、反馈快(吞噬即得金币)的玩法来提供即时的成就感。业务背景是基于经典街机吞噬玩法的现代化数字化创新,巧妙结合了3D/2D水下场景与双人联机竞争机制,旨在打造一个受众广泛的轻量级休闲游戏产品。
点击空白处退出提示
本项目旨在开发一款操作简单、老少皆宜的休闲竞技类游戏“大鱼吃小鱼”。立项原因在于精准填补用户在上下班通勤、排队等碎片化时间的娱乐需求,利用一局时间短、反馈快(吞噬即得金币)的玩法来提供即时的成就感。业务背景是基于经典街机吞噬玩法的现代化数字化创新,巧妙结合了3D/2D水下场景与双人联机竞争机制,旨在打造一个受众广泛的轻量级休闲游戏产品。
本项目包含一套完整的游戏功能闭环模块:具备主菜单系统(含游戏说明、模式选择、退出)、单人和双人角色选择界面(提供多种鱼类外观)。核心玩法包含:基于鱼体型的吞噬判定系统(大于玩家则扣血,小于玩家则吞噬得分)、金币计分系统、经验升级系统(吃10条鱼升级,体积放大1.03倍并回血5点)、鱼群动态无限生成系统(AI控制)。UI系统包括:玩家生命值血条、经验条、金币显示、排行榜/称号展示;限时模式含倒计时,无尽模式显示“∞”。结算界面含胜负判定(时间到比金币或一方阵亡)、最终金币结算以及特效音效播放。
本项目采用 Unity 引擎,使用 C# 语言开发。我主要负责了该项目的全部核心逻辑、UI交互与系统架构的设计与开发。
技术栈与架构:包括面向对象编程、利用 PlayerPrefs 实现跨场景的模式/角色数据持久化存储、使用协程(IEnumerator)实现平滑缩放与鱼群动态延迟生成、基于 Unity UGUI 构建了动态绑定的 UI 组件系统(Slider/Text)。
实现亮点与难点:
单双人模式动态平衡:双人模式下为防止一方发育过快导致另一方无法生存,我实现了利用 Mathf.Min 取双方体型的较小值作为基础生成鱼群大小的基准,动态调控食物大小,保证了竞技公平性。
防连续扣血机制:解决了一直贴着大鱼会被每秒狂扣血的Bug,设计了“持续接触只扣一次血,分离后再碰才扣第二次”的接触判定逻辑。
动态数值反馈与升级体验:通过金币数值(10、30、60、240、500、1000)自动匹配并播放不同档位(低/中/高)的音效,大幅增强打击感。升级时使用协程 SmoothScale 进行1.03倍的平滑缩放,视觉体验更佳。
动态UI刷新:难点在于双人模式下,当玩家2死亡销毁其鱼对象时,需要强制将其血条归零,同时将称号更新为“阵亡”,我通过判断 fishObj != null 的逻辑完美规避了空引用异常。同时正确处理了限时模式与血量归零模式下触发结算界面的优先级问题,并支持UI富文本高亮获胜方。





评论