求职作品展示

LiFasT
LiFasT
Published on 2024-10-15 / 384 Visits
0
0

《2048汽车大亨》游戏演示

这是一款基于 Unity 开发的一款面向抖音小游戏平台的休闲合成游戏,融合了经典休闲融合游戏《2048》和跑酷闯关游戏的玩法,接入抖音TTSDK并完成相关集成能力。

项目在线游玩

通过抖音扫描下方的二维码抖音小游戏内搜索2048载具大亨即可进入体验

qrcode.png

玩法设计和数值设计

具体游戏玩法设计和数值设计见如下飞书链接:

游戏玩法设计文档

游戏数值

2048游戏流程图

流程图.jpg

跑酷闯关模式流程

whiteboard_exported_image.png

系统设计与实现

  • UI 与表现

- Unity UGUI + TextMeshPro:搭建游戏 HUD、加载页、奖励面板、结束面板等界面。

- DOTween:实现 UI 渐隐、胜利失败动画、车辆移动和旋转、Boss 击飞等表现。

  • 输入

- Unity Input System (1.14.0):统一处理鼠标 / 触摸输入,配合 PlayerInput.inputactions 和代码生成器,区分 2048

场景的滑动合成和 VehicleBoss 场景的连续拖拽控制。

  • 数据与配置

- ScriptableObject:方块状态(TileState)、主题(Theme)等作为可复用配置资源。

- Resources 动态加载:运行时加载 Resources/TileStates 和 Resources/Themes 下的资源。

- CSV 静态数值表:Resources/Data/VehicleBoss成长计算.csv 记录等级与操作次数映射,由 DataManager 在首次访问时懒加载。

  • 第三方 SDK

- ByteDance TTSDK:抖音小游戏平台 SDK,负责 SDK 初始化、存档 (TT.Save / TT.LoadSaving)、广告 (TT.CreateInterstitialAd

/ TT.CreateRewardedVideoAd)、侧边栏入口 (TT.NavigateToScene / TT.CheckScene)、生命周期 (TT.GetAppLifeCycle)

和小游戏退出 (TT.SetOnBeforeExitAppListener)。

  • 工具脚本

- EditorWindow 自定义工具:TileStateCreator 和 ThemeCreator 通过 Unity 菜单一键批量生成 ScriptableObject 资源。

《词了个词》游戏演示

2025年版本介绍

相较于2025年的版本,2025畅玩版进行了完全重置,将整体UI、流程逻辑优化,并且增加了多人模式轮流评分功能

简介

游戏设计有一个方块矩阵,每一个方块可以存储一个汉字。玩家可以通过矩阵中格子上提供的字进行组词,组词要与该局游戏中提供的主题匹配,若匹配则得分。在设定的回合或者棋盘上的所有格子存储结束后则结束游戏。

这款游戏全程围绕“组词”,玩家可以通过选择场上“字”或者“词”进行组“词”或“句”,组成的合规内容会填入已有的棋盘,并且刚刚组成的内容在下一轮也可以作为待组的“词”。

游戏基本遵循以下几种规则:

  1. 组句或字必须含有被选择的内容

  2. 棋盘必须有足够的空间填入所组的内容

  3. 若空间充足,可以选择纵向或横向填入

  4. 设定回合已满或棋盘已满则结束

以下简单介绍了一下基本算法和UI框架:

基本算法:

  1. 玩家提交组成的内容和选择的备组内容

  2. 以选择的内容为锚点,横向纵向选出所有符合组成内容长度的可用格子组合(避免越界)

  3. 同时遍历输入内容和可用格子组合,必须同时满足三个规则才为有效输入:1. 输入内容中去除选择内容的字对应的格子必须为空 2.输入内容中包含选择内容的字对应的格子必须与棋盘一致 3. 输入内容长度必须大于选择内容长度

UI框架:

  1. 主要分为UIPanel和UIManager

  2. UIManager是一个单例类,控制所有UIPanel的显示,并且会自动注册场上的UIPanel

  3. UIPanel提供了最基础的UI界面功能,包含Show、Hide、Toggle几种显示函数,并且提供了水平垂直划入划出和渐隐渐显三种动画。

  4. 所有UI开关均由UIPanel控制

2025版完全革新了界面,使用了全新的设计语言,并且采用了高效的可复用UI框架。在2024版的基础上新增了热座功能,本期视频主要演示的是热座功能。

对比2024版的随机主题,2025版大幅扩充了主题库,并且允许玩家自己设定主题。热座模式提供了玩家数量和回合数量的显示。并且提供了AI功能。

进入游戏,UI布局清晰明了,位于正下方的是输入框,并且集成显示当前操作玩家的名字,上方状态栏,显示了当前游戏的主题以及设置按钮和计分板按钮。

系统流程

whiteboard_exported_image (1).png

2024年版本介绍

这款游戏是基于Unity制作的,采用UGUI进行UI布局,我制作了一个教程关卡和一个可以随机生产的关卡。游戏设计采用了网络编程和异步编程,编写了回调方法来控制整体流程。

项目脚本介绍

主要编写5个脚本:

  • Block类,方块的基本类,包含方块的基本属性和一个非线性移动方法。

  • BlockManager类(单例模式),主要用来控制方块逻辑,包含一个能存放方块的容器。

  • GameManager类(单例模式),主要用来控制整个游戏逻辑和玩家控制相关内容,协调各个脚本的正常运作。

  • HttpConnect类,用于与文心一言API进行交互,负责网络部分传输和接收,解析JSON文件并传输给相应模块。

  • CameraMovement类,摄像机控制,负责接收玩家输入来控制摄像机。

另外还编写了两个关卡控制脚本,来负责各关卡的控制。

UI介绍

这款游戏采用UGUI,整体布局如下图:

玩法介绍

游戏设计有一个方块矩阵,每一个方块可以存储一个汉字。玩家需要在一个方块中填写汉字,每当玩家在相邻的方块中输入汉字形成词组时,系统就会识别并保存这些词组。随着玩家的不断输入,系统会根据输入的词组与游戏主题的相关性进行智能评分。当整个矩阵都被玩家填满汉字时,游戏就结束了,系统将立即展示玩家的最终得分。

风格化开发(Blender到UE全流程)

这里展示的是在Blender里面进行粗模型场景搭建

这里是建筑倒角和布线分面

这里展示的引擎内部渲染,场景布置和灯光

UE5材质部分

这里是地面材质的展示,我制作了根据距离(深度)进行分层混合,并添加了污迹和颜色变化,使得平铺材质不再显得明显,视觉感受非常自然。

这里做了一个可以根据参数调整的溶解材质,我把这个材质用于一个科幻的电梯门,通过蓝图或者C++可以调整该门的溶解度(Dissolve),实现一个动态开门的动画。

Nanite置换效果和透视效果材质对比

UE5地编及场景编辑

这是我独立制作的一个海岛场景,地形使用的是UE5的内置地编工具进行制作的,植物的布置和编辑也是采用UE5的内置的植物编辑工具。水体采用的Epic的Water插件。

da'h


Comment