top of page

​深海回响

这是一款四人合作的 roguelike 游戏,四名玩家控制不同的机器人角色,通过电缆相互连接,在随机生成的深海环境中完成击败敌人和采矿等任务。

关键字: 多人, Roguelike, 像素艺术, 射击, Unity

开发周期:3个月(2024年2月-5月)

游戏预览

​项目介绍

该项目最初是作为第六届中国大学生游戏奖(CUSGA)的参赛作品而创建的

开发历时三个月,从2024年2月到2024年5月。

ee6f2c16e077bdc561e289d16403f86.png

​Awards

CUSGA 2024 最佳多人游戏提名

​金海豚2024最佳学生作品

咪咕PLAY Unity引擎卓越应用奖

My Responsibilities

程序员、制作人、技术美工

5b8ec17801eb4ba9123f5ac0d68344c.png

2024年开拓芯游戏节,中国上海

我的​主要工作内容

​团队领导与游戏设计

招募,组织与协调6人团队,深度参与开发。确保项目进度与任务分配。主导玩法核心设计,推动游戏体验的迭代。与其他程序沟通,由我制定开发规范,担任策划程序与技术美术,并连接沟通3D美术与其他程序,确保设计与实现的协作高效。

​游戏设计:

​确定游戏为合作派对游戏类型,结合战斗Roguelike,资源管理元素,以期望玩家的混乱,配合,叫喊为核心的热闹氛围为反馈

核心特殊玩法设计,角色功能,武器,技能设计,多人同屏与线缆,确定了以围绕电池为核心的生存与资源管理的Rogue玩法

确定美术风格,像素HD2D深海风格——百分百无竞品,首先在视觉风格上吸引玩家/评委。并最终由我完成渲染管线实现。

提出关卡设计格式,​将关卡分为多个最小单元格,确定技术实现并为美术编写生成器工具。合作搭建规范以确保随机生成符合设计预期

全权负责​UI面板的设计与程序实现,设计了包含复杂层级与交互反馈的人物选择面板,游戏内玩家各项数值面板以及其在不同事件下的反馈

特效与环境概念设计,制作出深海风格环境,需求表撰写,全权实现飘动的海草shader,水底焦散,伪体积光模拟的丁达尔效应等

SelectUINeed.drawio.png
Explorers.jpg

左图为开发早期阶段写好UI框架后为美术写具体填充需求,此时我已经独立完成设计和UI面板的程序和动画。

 

右图为开发早期为团队阐释玩家和电池的关系,概念数值,玩家和电源的连接/断连条件等

多人控制

支持最多 4 名玩家本地合作,支持控制器和键盘输入,使用 Unity 输入系统和 PlayerInputManager 进行多人输入管理和玩家实例化

每个角色都有自己独特的主武器和副武器。玩家可以选择第三个武器槽,从而实现基于团队的职业构筑和打法定制。

像素风格渲染

我学习并总结了《潜水员戴夫》和《八方旅人》的技术,将2D精灵角色与3D游戏环境相结合来设计渲染风格。

图片2.png
图片3.png

获取模型数据

程序获得像素化

合并渲染

帧提取、降采样、合并

美工提供模型和骨骼动画,我写了一个程序工具,根据所需的动画帧进行帧采样,提取模型法线和顶点数据,并渲染成Sprite Sheet。

对纹理进行降采样后,获得像素化的底色、法线和自发光贴图。然后,通过编写着色器,使用 alpha test来裁剪平面并将结果输出到shadow mask,最后合并渲染到一张Plane上。

ShooterLeft_Idle_Emission.png
ShooterIdle_Color.png
ShooterIdle_Normal.png

从连续骨骼动画中提取 12 帧,进行下采样以获得像素化图像,并渲染三组精灵表以用于基色、法线和发射

​程序生成关卡

敌人、地图、任务、事件都是程序生成的。玩家潜入地下城般的水下关卡,寻找底部的 Boss。

深度优先搜索(DFS)

将地图视为 n×m 的网格。从顶部和底部网格单元中随机选择一个起点和终点。然后使用 DFS 生成连接这两点的路径网络。

图片4.png

波函数塌缩算法 (WFC)

创建不同的基本地形块预制件,例如十字路口、拐角处和直路。这些块各自具有不同数量的开口,并根据 DFS 生成的路径放置,同时遵循约束规则。因此,从生成点开始,所有最初不确定的网格单元将塌缩成确定的地形块,从而形成结构化的关卡。

随机事件

每个基础地图图块包含多个位置,用于随机生成各种游戏对象(例如奖励箱、任务物品、采矿节点和敌人生成点)。敌人会成组生成,每次生成一组敌人时,敌人的类型和数量都会在一定限制内发生变化。

图片5.png

​地图生成展示

Last Updated: March 14, 2025

bottom of page