WECHAT

扫码添加微信

YoungFan 微信二维码
← 返回全部项目
手机游戏Unity3DToLuaC#

百世文华录

以中国历史文物拟人为主题的 3D 国风卡牌手游。我参与项目完整研发周期,负责任务、聊天、排行榜、盟会及多项玩法系统的客户端开发。

年份2020
百世文华录 项目封面

项目概览

《百世文华录》是一款以中国历史文物拟人为主题的 3D 国风卡牌手游。游戏将具有代表性的历史文物塑造成可收集、培养和参与战斗的角色,并围绕卡牌养成与阵容战斗构建核心玩法。

这是我第一个完整参与研发周期的商业项目,开发周期接近两年,先后在中国和越南上线运营。我主要负责客户端业务系统开发,参与了从基础功能、核心系统到活动玩法的持续迭代。

Lua 业务框架

我在 Lua 层实现了面向对象机制,为业务模块提供统一的对象创建、继承和方法调用方式,降低不同系统之间的代码组织差异,为后续功能开发提供基础支持。

项目的复杂业务主要集中在更新频繁的 UI 与交互逻辑中。针对盟会等大型系统,我参考 MVP 的分层思路,将界面表现与数据管理职责拆分:

  • UI 层负责界面状态、交互流程和表现更新,只通过公开接口访问 Manager。
  • Manager 负责数据维护和业务能力,不反向依赖具体 UI。
  • 接口执行结果通过错误码、回调或事件返回,减少模块间的直接耦合。

这种约束让频繁变化的界面逻辑不会侵入底层数据模块,也便于同一业务能力被不同界面复用。

核心业务系统

聊天系统

我参与开发了游戏内聊天系统,并基于 Lua Table 实现环形缓冲区,用固定容量保存最近的聊天消息。缓冲区写满后会覆盖最早的数据,从而控制长期运行时的内存占用。

任务与排行榜

我独立完成任务系统的客户端开发,并参与排行榜系统的设计与实现。

排行榜采用配置驱动方案,将榜单类型与展示规则从业务代码中抽离。策划新增配置即可接入新的排行榜类型,减少为相似榜单重复编写逻辑的成本。

盟会系统

我独立完成盟会系统及盟会城池争夺玩法的客户端开发。盟会内部包含盟会任务、城池争夺、寻宝等多个子系统,入口层级深、状态来源分散。

为统一管理各模块的可操作状态,我引入红点树,将子系统状态逐层汇总到上级入口。各功能只需维护自身节点,父级节点根据子节点结果更新,从而避免在盟会主界面集中编写大量判断逻辑。

《前世幻象》寻路

《前世幻象》玩法使用带有障碍和不可行走区域的格子地图。我使用 A* 完成角色寻路,并针对目标选择逻辑处理了复杂地形下的距离判断问题。

如果只用曼哈顿距离估算当前位置与目标的远近,算法会忽略障碍物,可能将角色引向视觉上更近、实际却无法抵达的“死胡同”。为此,我通过广度优先搜索计算格子之间的实际可达步数,并以此选择有效目标,使距离判断与地图的真实连通关系保持一致。

其他工作

除上述模块外,我还参与了竞技场、爬塔以及多种限时玩法和运营活动的客户端开发,持续处理功能迭代、界面交互与线上版本需求。