top of page

精心制作
呈现于
2025年UCL媒体学士毕业展

100%1

Original

No Internet Assets

Verlet Voyage

一场充满趣味的物理冒险,每一次弹跳都至关重要。和开朗的橙色小球 Golf 一起,踏上营救好友 Orb 的温馨旅程。本游戏采用完全自定义的 Verlet 物理系统,将碰撞、拉伸与摆动变成充满乐趣的解谜 playground。柔和的 3D 至 2D 视觉风格与直观的交互设计,使《Verlet Voyage》成为一款鼓励玩家探索、尝试,并感受运动快乐的儿童友好型游戏。
ChatGPT Image May 3, 2025 at 03_54_50 PM.png
我的职责
游戏设计师
游戏程序
个人项目
Aaron Wang
 
​分类
游戏项目
计算机图形编程
互动媒体设计
为2025年5月UCL毕业展创作
在伦敦大学学院创作
University_College_London_logo.svg-2.png

项目开发过程

This Game Features a 100% Custom Physics and Collision System (NOT Unity Physics)
with an all-age friendly 3D-rendered-2D Style

项目开发过程

01
研究
可供性
人类交互
02
设计
游戏机制
系统设计
关卡设计
视觉设计
界面与音效
03
制作
Verlet算法
游戏着色器
04
迭代
Alpha 测试
Beta 测试

项目预览

Verlet Voyage 是一款融合趣味互动与技术精度的儿童物理游戏。其核心是一个完全自定义的 Verlet 积分系统与手工打造的碰撞引擎,使游戏中的物体能够自然地拉伸、弹跳与反应,呈现出逼真的动态表现。玩家将操控橙色小球 Golf,踏上营救朋友 Orb 的旅程,穿行于一个围绕运动、因果关系构建的柔和渲染世界中。

游戏采用风格化的 3D 转 2D 视觉语言,在不依赖文字指引的前提下,鼓励玩家通过直觉进行探索。借助基于可感知性的设计理念,玩家在视觉与物理暗示的引导下,自由试验、尝试失败,并在过程中不断发现。每一个关卡不仅是一项挑战,更是一个小型的物理游乐场。

Verlet Voyage 不仅是一款游戏,更是一件艺术与技术交汇的创作 —— 探索涌现式系统、程序响应与温暖叙事如何结合,营造出具有情感共鸣的互动体验。项目以可接近性与奇妙感为核心,既是一场创意探索,也是一项以研究为导向的数字游戏设计实验。

项目演示视频

研究

《Verlet Voyage》的研究基础源于物理模拟、可供性理论与交互设计的交汇点。项目的目标是探索一个自定义物理系统如何不仅作为游戏机制存在,更能作为叙事与表达的界面发挥作用。

理论背景
01

《Verlet Voyage》的概念基础植根于跨学科理论,融合了设计、心理学与计算美学的视角。本节概述了构成游戏技术层面与体验层面的关键理论框架——包括以可供性引导直觉交互的应用、塑造表达性反馈的情感化设计原则,以及将模拟机制与涌现式、有意义的玩法相连接的 MDA 框架。

可供性理论(Affordance Theory)

受詹姆斯·J·吉布森(James J. Gibson,1979)生态心理学理论及唐纳德·诺曼(Donald Norman,1999)在人机交互领域的应用启发,本游戏探讨了视觉与材质线索如何在非语言界面中传达可能的操作方式,尤其是在面向儿童的设计中。

情感化设计

借鉴诺曼在情感计算(Affective Computing)方面的研究,本项目探讨了系统如何通过行为与响应进行情感层面的沟通。

MDA 框架(机制–动态–美学)

本项目采用 MDA 框架作为分析视角,将底层的模拟机制(Verlet 物理)与玩家在游戏中形成的自发玩法策略(动态),以及最终所激发的情感共鸣(美学体验)紧密联结起来。

对比分析
02

通过研究《愤怒的小鸟》《掘地求升》《粘粘世界》等商业游戏,分析不同的物理模型如何影响玩家的操作自由度与情感基调。

刚体物理(Unity 内置系统)

1

基于 Verlet 的物理系统(自定义实现)

在本项目中
03
2

与大多数依赖 Unity 内置刚体物理的游戏不同,Verlet Voyage 采用了完全自定义的物理模拟框架:

  • Verlet 积分:用于模拟粒子与连接点的自然运动,使其在时间流动中保持柔和与流畅。

  • 约束求解:自定义系统确保位置关系的稳定性,同时允许形变与柔性响应。

  • 碰撞检测:无需依赖原生碰撞体,通过自定义逻辑模拟软度、弹性与冲击行为。

整个模拟系统经过多轮调校,力求呈现轻盈、有弹性且宽容的物理反馈 —— 这一设计旨在让游戏体验对儿童玩家而言既充满乐趣,又充满安全感。

设计

在本项目中,Verlet Voyage 的设计阶段是一个高度整合、面向多维的过程,融合了系统工程、美学构建与交互叙事。其目标是打造一种整体性的玩家体验,使运动、情感与空间逻辑协同作用,共同吸引并引导玩家。从基础机制到富有表现力的用户界面,每一层设计都致力于构建一个连贯、富有情感共鸣且技术严谨的物理世界。

00
核心设计原则
以玩家为中心的交互设计

每一项设计决策都以用户体验为核心考量。游戏鼓励玩家——尤其是儿童——自由、直觉地进行互动,无需依赖文字说明或教学引导。操作的简洁性与物理反馈的深度形成鲜明对比,共同营造出一个充满探索与掌控感的游乐场。

物理作为表达方式

与其将物理仅用于还原现实,Verlet Voyage 更将运动与材质行为视为沟通的媒介。每一次拉伸、弹跳与晃动都被精心设计,富有生命力且富有意图——通过因果关系引导玩家前进,无需语言介入。

涌现式玩法与可供性

关卡设计鼓励多种解法,激发玩家的创造力与问题解决能力。通过将可供性嵌入视觉与物理线索中,玩家能够依照自身理解去解读系统——在试验与观察中探索出属于自己的通关路径。

01






 
游戏机制设计

玩家通过拖拽并释放角色 Golf(橙色小球)来控制其运动方向,操作方式类似弹弓机制。该系统完全基于自定义的 Verlet 物理引擎运行,能够模拟张力、弹性与软体回弹等物理特性。

从游戏设计的角度来看,Verlet Voyage 是一款基于物理的解谜冒险游戏,强调直觉性与触感式互动。玩家将引导橙色小球 Golf 穿越精心设计的关卡,寻找并重聚他的朋友 Orb。每个关卡都通过富有表现力的运动、涌现式的解谜过程与软体形变展开。游戏面向6至10岁的儿童,结合风格化的3D转2D视觉语言与完全自定义的物理引擎,鼓励玩家在无文字环境下培养好奇心、勇于试验,并建立情感连接。

Graph_edited.png
image.png

施加的力度与鼠标拖动的距离成正比。

控制与发射系统

目标

第一步:瞄准
玩家点击(或轻触)并从 Golf 的身体处拖动,屏幕上会出现一条虚线,指示预期的发射方向。

第二步:蓄力
虚线的长度代表发射力度。线越长,发射越有力;线越短,则形成轻柔且精确的推动。

第三步:释放
松开手指或鼠标后,Golf 将根据方向与力度向量进行软体发射。起跳时角色会发生轻微形变,并在飞行与碰撞过程中自然弹跳与反应。

02
关卡设计与心流











 

《Verlet Voyage》的关卡结构经过精心设计,在确保直观易上手的同时,逐步引入更具深度的物理机制。每一关都会引入一个新的可供性或物理行为,让年幼玩家通过游戏过程自然而然地理解核心概念,而非依赖说明或教学。游戏在情感节奏上有意保持非线性结构,在轻松试验与专注挑战之间交替,旨在适应不同认知风格与技能水平的玩家,持续激发他们的参与感。

这种“脚手架式”设计方法既支持创意探索,也兼顾结构化的解谜过程,通过软体物理交互促发玩家自发的掌握感与成就体验。

Level Flow.png

该图展示了《Verlet Voyage》的整体关卡设计结构,体现了玩家参与度与挑战复杂性的演变过程,涵盖了10个线性关卡的逐步推进。

底部时间线 划分了五种关卡原型:

  • 引导关卡(第1–2关):简单的发射操作与宽容的布局,帮助玩家建立信心。

  • 弹跳区域(第3–4关):引入角度表面与反弹机制,增强物理互动的趣味性。

  • 动态弧线(第5–6关):聚焦于运动轨迹预测与基于曲率的目标瞄准。

  • 软体约束区(第7–8关):将变形与弹性作为导航机制,挑战玩家对物理形态变化的掌控力。

  • 解谜整合(第9–10关):整合所有先前机制,构建更复杂的空间布局与挑战结构。

顶部曲线图 显示了基于内部试玩测试的玩家参与度预期变化。
为了模拟真实的情绪节奏,参与度刻意设计为非线性波动,包含起伏与缓冲:

  • 峰值出现在成功发现新机制后的关卡(第3、5、7、9关)。

  • 波谷则提供思维喘息的空间,在引入更高复杂度前做铺垫。

  • 最终关卡在情感与机制层面都达到高潮,实现完整的体验回报。

动态粒子

Untitled Project 6-2.gif

约束

Untitled Project 8.gif

反重力

Untitled Project 9.gif

Platforms平台

Untitled Project 5-3.gif

游戏的物理核心始于一个简单的动态粒子系统,它构成了运动与交互的基础。该系统在不依赖刚体的前提下模拟随时间变化的位置,实现柔和、平滑且可控的运动行为。

自定义设计的约束系统与碰撞逻辑支持构建可交互的平台结构。这些结构会精准响应玩家小球的运动——弹跳、倾斜与碰撞,构成贯穿整个游戏的核心解谜机制。

反重力区域与自定义方向力实现了富有趣味的非现实运动效果。玩家可以在这些区域中发射、漂浮并进行垂直探索,在解谜过程中带来惊喜与乐趣,同时增强空间变化与多样性。

基于约束支撑的交互式平台构成了一种可响应玩家重量与运动的灵活地形。它们会晃动、变形、弹跳,将场景转化为一个充满变化的动态解谜空间,激发玩家的试验欲望。

03
视觉和UI设计

《Verlet Voyage》的视觉风格围绕温暖、清晰与柔和的趣味感展开,这些特质与游戏面向儿童玩家、强调直觉交互的设计目标高度契合。游戏采用风格化的“3D 渲染呈现为 2D”视觉语言,在保持画面简洁、易于理解的同时,营造出具有物理深度的视觉错觉。

这种设计手法带来了一个富有触感与情感共鸣的世界,既具有手工感,又充满生命力,让玩家在其中获得亲切、沉浸的体验。

柔性几何体

游戏世界由圆形、弧线与平滑曲线构成,这些形态设计旨在强化游戏中的弹性物理逻辑。角色与环境在视觉上呼应软体模拟的特性,直观地引导玩家对互动方式与运动行为的预期。

Smiling Orange Character on Checkered Background.png

视觉提示

弹跳垫、可变形区域以及可交互元素均通过明晰的明暗处理、饱和度与几何造型加以区分,使玩家无需文字说明也能直观识别与操作。

image.png

色彩方案

image.png
Geometric Mood Board in Warm Tones.png
Mood Board with Playful Character.png
游戏整体采用温暖统一的配色方案,以橙色、黄色和奶油色调营造出愉悦与亲切的氛围。主角橙色小球与黑色好友 Orb 之间的色彩对比,既突出视觉焦点,又保持整体的和谐统一。
04
音效设计

1. 碰撞音效
该音效层负责游戏中物理交互所带来的听觉反馈。当橙色小球发生拉伸、弹跳或撞击表面时,会触发柔软弹性的声音效果。
这些声音强化了物理系统的存在感,帮助玩家以直觉方式理解自身操作所产生的结果。

2. 用户界面音效
包括点击声、弹出音效以及通关提示音。这些提示音通过悦耳、即时的声音反馈,确认玩家操作,并带来情绪上的正向奖励,从而提升整体可用性。

3. 背景音乐
为每个关卡设定基调,采用平静、富有童趣的旋律,专为儿童玩家量身打造。音乐随着关卡推进会进行细微变化,以配合游戏节奏,引导玩家集中注意力与情绪流动。

image.png

Production

Chart.png

《Verlet Voyage》的制作阶段遵循了一个技术递进式的开发流程,首先从自定义 Verlet 积分算法的构建开始。该基础系统驱动了游戏的核心机制,并被扩展用于模拟软体粒子及其交互行为。随后,开发了专属关卡编辑器,使得关卡设计与物体布置能够直接在 Unity 中高效完成。最后,通过着色器开发与视觉细化,为游戏世界赋予了生命,在底层模拟之上叠加了表现力与美学清晰度。

01
Verlet 算法与核心系统









 
VM.png

核心系统

本图展示了我们基于 Verlet 的软体模拟系统的核心逻辑,该系统支撑了游戏中的交互式小球机制。

 

用户交互

用户通过拖动鼠标向小球施加力。
这一力被转化为冲量,作用于 VerletBall 内的所有粒子,从而触发运动与形变。

 

VerletBall(软体)

VerletBall 是由多个相连粒子构成的核心软体对象,受物理约束控制。
它由 Verlet 管理器(Verlet Manager)统一管理,执行以下操作:

  • 通过 Verlet 积分更新粒子位置;

  • 求解约束以保持结构稳定;

  • 进行静态与动态元素的碰撞检测。

每一帧更新后,系统会检查新的粒子位置,以判断小球是否已停止或是否需要继续模拟。

 

粒子环境

粒子控制器(Particle Controller)管理场景中手动放置或绘制的粒子与约束:

  • 静态粒子(如墙体或固定点)保持不动;

  • 动态粒子可被软体推动或影响;

  • 约束定义粒子间的物理关系(如弹簧)。

这些对象共同构成碰撞环境。
在模拟过程中,VerletBall 与环境发生碰撞时将产生真实的形变或弹跳响应。

 

模拟流程

用户施加力 → 小球接收冲量
VerletBall 通过物理系统更新(运动 + 约束求解)
系统处理与粒子/约束的碰撞
粒子位置随之更新
循环执行,直到小球停止移动为止。

VB.png

 

VerletBall 模拟流程

该架构确保每一帧都能以真实方式更新软体对象,综合考虑物理、形变与外部交互,使 VerletBall 的行为具备以下特性:

在极端受力下依然稳定,

视觉表现流畅自然、富有生命力,

能够与用户输入及动态环境实现完全交互。

 

本流程图展示了基于 Verlet 的软体对象(VerletBall)在运行时如何被初始化并在每一帧中更新的过程。

创建 VerletBall

系统首先初始化 VerletBall,它由多个相互连接的粒子组成,并以圆形排列。

此过程包括定义粒子位置、用结构约束连接粒子,并设置质量属性。

 

应用 Verlet 算法

在每一帧中,都会应用 Verlet 积分算法,根据当前与上一次的位置、重力以及外力,计算新的粒子位置。

该方法为软体动力学提供了稳定且逼真的运动模型。

 

粒子位置

在此步骤中,系统会计算更新后的粒子位置,为接下来的约束求解与碰撞检测做准备。

 

球体约束

在粒子之间应用结构约束,以保持软体物体的形状与体积。

包括固定长度约束以及自定义的弹性行为。

 

充气约束

可选的充气约束通过模拟内部压力来维持体积。

这确保了软体物体在外力作用下仍能保持圆润或膨胀的外形。

 

碰撞求解

然后模拟系统会根据更新后的位置和约束检测并解决碰撞问题。

该过程分为三个主要部分:

          ▸ 地面碰撞

                   确保粒子不会低于地面或预设的垂直边界。

          ▸ 边缘碰撞

                   处理与静态场景元素(如墙体或用户绘制的障碍物)的交互。

          ▸ 动态碰撞

                   解决与其他运动物体或环境中动态粒子的碰撞问题。

 

 

 

 

 

 

 

 

​​​​​

1
2
3
4
5
6

Verlet小球的迭代过程

History.png
Screenshot 2025-05-14 at 02.11_edited.jp
Screenshot 2025-05-14 at 02.11.42.png
Screenshot 2025-05-14 at 02.11.59.png

The development of the Verlet Ball underwent multiple iterations, each guided by targeted refinements in both form and function. Starting from V1’s centered algorithm, the project explored structural variation through V2’s radial expansion logic, which offered more flexible deformation but required greater control over stability. V3 introduced a basic UV texture to visually differentiate the ball, marking the transition from a purely mechanical prototype to an expressive character. Subsequent iterations (V4 and V5) focused on thematic integration—aligning the ball's appearance with the game’s tone and environment. These visual iterations were accompanied by playtest-informed adjustments to motion physics, ensuring character behavior remained consistent with its personality. Every change—from constraint logic to texture refinement—was driven by ongoing testing and aesthetic alignment, reflecting a balance between player feedback, technical feasibility, and narrative consistency.

02
自定义编辑器

为支持灵活的关卡设计与视觉实验,我开发了一个自定义编辑器系统,使用户与开发者能够实时绘制与配置碰撞环境,无需手动编写每个布局的代码。

为何使用自定义编辑器?

由于软体模拟系统高度依赖交互与物理反馈,传统的关卡设计方式(如瓦片地图或预制体组合)已难以满足开发需求。因此,我需要一个能够实现以下功能的编辑器:

  • 支持自由绘制粒子与约束关系;

  • 用户可直接在场景视图中点击构建复杂环境;

  • 自动生成可用于物理模拟的数据结构;

  • 所有更改可实时可视化呈现 —— 例如静态墙体、动态障碍物、不同类型的物理约束等。

这个定制工具不仅加快了开发流程,也大大提升了设计灵活性与实验效率。

编辑器构建方式

我开发的自定义编辑器通过一个名为 ParticleController 的组件实现,负责在 Scene 视图中处理所有关卡编辑逻辑。

编辑器输入逻辑

编辑器会监听鼠标输入(Input.GetMouseButtonDown)和键盘功能键(A、S、W),以判断用户要执行的操作:

  • 按下 S 键:添加一个静态粒子,用于构建墙体或锚点。

  • 按下 A 键:添加一个动态粒子,并自动与上一个静态粒子通过约束连接。

  • 按下 W 键:添加一个独立的静态粒子,不附带约束。

所有粒子会被储存在内部列表中,并通过自定义网格在场景中显示,以提升编辑的清晰度和可视性。

约束绘制

在场景中点击两个已存在的粒子,编辑器会自动在它们之间添加一个约束。
约束的类型(如是否可碰撞)可以在 Inspector 面板中切换,粗细、颜色和材质也都可单独自定义。

约束创建模式

编辑器还支持“约束创建模式”:在该模式下,设计者可以自由点击任意两个粒子,手动定义它们之间的约束关系。

该功能适用于搭建复杂结构或迷宫式的环境,方便设计者进行更自由的创作与测试。

保存 / 加载功能

编辑器支持对粒子与约束的结构化保存操作。
它会将粒子的位置、动态/静态状态以及约束数据序列化为类 JSON 结构,方便后续复用与分享。

  • 关卡加载过程中会有短暂延迟,以确保物理系统与渲染系统初始化完成后再进行实例化操作,确保运行稳定性与数据完整性。

03
着色器与视觉效果
Shader.png

边缘着色器(Edge Shader)

《Verlet Voyage》中使用的边缘着色器增强了游戏的 2.5D 美术风格,通过突出物体边界,使柔和、玩具感十足的元素呈现出清晰易辨的轮廓。该自定义着色器流程从顶点着色器中定义属性并处理几何信息开始,随后在片段着色器中采样像素数据。其核心在于边缘检测过程:利用 Sobel 算子评估邻近像素的亮度值,计算出水平方向与垂直方向的梯度。通过组合这些梯度得出边缘强度,并将其与物体颜色进行混合,生成既柔和又清晰的描边效果,提升视觉清晰度与可供性,尤其便于儿童玩家理解与操作。

 

粒子系统

此外,项目还包含一个彩带粒子系统,用于庆祝关卡完成。该系统通过随机颜色与定向爆发的方式,营造出欢乐、有奖励感的视觉反馈,从而强化玩家的成就体验。边缘着色器与粒子系统协同工作,进一步提升了游戏的触感表现与情绪感染力。

迭代

Alpha 测试

Alpha 阶段专注于面向目标用户的早期测试,观察儿童如何与软体运动和物理反馈进行互动。这些测试提供了宝贵洞见,帮助我们了解玩家如何理解移动、对形变作出反应以及如何解读视觉提示,从而推动了交互设计的进一步优化。

Screenshot 2025-05-09 at 01.16.18.png

展出

在最终阶段,游戏针对多平台进行了稳定性与性能优化。视觉风格进一步统一,用户界面反馈更加精细,音画提示也得到了平衡与完善。这些收尾工作确保项目具备面向公众展示与正式评审的完整度与表现力。

image.png
Smiling Orange Character on Checkered Background.png

Beta 测试

在 Beta 阶段,游戏向更广泛的用户群体进行了测试。期间进行了关键调整,包括对关卡布局的全面重设计、发射系统的操作优化,以及修复影响游戏流程的关键性Bug。用户反馈帮助我们进一步打磨游戏节奏、加强玩家引导,并提升整体系统的响应性。

AA817D2B-9062-4752-A7ED-00E24E610FB4.PNG

成功之处

  • 成功实现了一个完全自定义的 Verlet 积分与基于约束的物理系统,无需依赖 Unity 的刚体引擎。

  • 设计出统一且具有视觉吸引力的 3D 转 2D 艺术风格,提升了儿童玩家的理解度与审美亲和力。

  • 构建了一个基于物理可供性的儿童友好型交互模型,最大程度减少了对教程或文字说明的依赖。

  • 开发了原创的游戏着色器与音效层,增强了触感反馈与情绪氛围。

  • 与儿童进行了一轮有价值的 Beta 测试,验证了物理互动所带来的直觉式控制体验与情感表达效果。

待改进之处

  • 虽然自定义碰撞系统在整体表现上较为有效,但缺乏高级碰撞解析(如旋转或复合形状支持),在一定程度上限制了部分关卡设计的复杂度。

  • 部分关卡在视觉场景或环境提示方面的变化较少,可能影响玩家的空间感与方向判断。

  • 第4至第6关之间的难度节奏提升过快,对部分测试者而言存在挫败感,节奏可进一步平滑调整。

  • 在小屏设备上的 UI 响应性尚待优化,早期移动端版本中部分按钮出现对齐问题。

  • 虽然故事具有一定的情感共鸣,但若能通过更多环境叙事或动画过场加以拓展,将进一步提升叙事沉浸感。

Project Post-Mortem Note

特别鸣谢

本项目为我的学位课程作品。在整个创作过程中,我衷心感谢我的父母以及以下朋友给予我宝贵的支持、反馈与鼓励:

 

 

 

他们给予我的不仅是鼓励与支持,更是在我犹疑时的坚定信念,在我困顿时的清晰指引。正是他们始终如一的信任与陪伴,不仅塑造了这个项目的方向,也深深影响了它所承载的情感与精神内核——让这不只是一个作品,更是一段被理解、被守护、被共鸣的旅程。

 

我还要特别感谢UCL的教师们,他们为我提供了重要的学术与创作指导。

特别鸣谢William Sykes先生与Dane Sutherland博士在整个过程中给予的持续指导。同时,也感谢Brigitta Z教授、Lee G教授、Rik A教授、Eunju H博士, George K和Alex M在我学习期间给予的持续支持与启发。

 

没有他们的慷慨帮助、专业知识和对本项目的信任,这项工作将无法实现。

未命名作品 2_edited_edited_edited.png

¹ The term “100% Original / No Internet Assets” in this project applies solely to the core algorithms, assets, interactions, and models, all of which are entirely self-developed; it does not cover music or skybox materials.

为本项目评分
不太喜欢一般还行不错非常好

王泽旌

+4407342937183

英国伦敦

Looking forward to the next project? Drop an email.

Thanks for your interest!

bottom of page