Roger's Gaming Cabin

A game is a problem-solving activity, approached with a playful attitude.

0%

国内访问可选择部署于境内的镜像服务器,点此切换国内版本.

屏幕前的小伙伴您好,我是刘钧越,来自中国福建,你可以叫我Roger。我在2019年获得了中国科学技术大学计算机科学与技术学士学位,毕业后,我加入了NVIDIA上海,在Geforce游戏部门担任性能工程师,负责游戏图形优化方案的设计、自动化测试开发并领导一些小型基础设施工具的开发工作。在泛游戏行业工作了2年多之后,我对游戏设计和研究本身的热情随着对各种独立游戏和AAA游戏的持续深入接触而变得越来越强烈。因此我决定继续攻读游戏设计硕士学位,并希冀在未来直接作为一名设计师加入游戏行业。2022年2月,我加入了完美世界北京的技术中台,担任技术策划,参与UE5动作冒险游戏的预研工作,负责项目的原型实现、战斗系统设计、角色动作系统设计和开发工具设计。2022年6月,我意外收到了爱丁堡大学的硕士录取通知书,经过与公司的友好协商,我在8月份辞职并赴英国继续留学深造,自2022年9月开始攻读数字媒体和游戏设计硕士学位至今,预计于2023年8月份完成学业归国。由于时差问题,如需电话联系我,烦请在北京时间9:00之前16:00之后致电。也欢迎通过邮件联系我,地址:s2343291@ed.ac.uk,我在收到邮件后将立即回复您,感谢!

本网站记录了一些我在学习和工作过程中的成果、心得及个人项目探索,以此鞭策自己在学习和变强的道路上永不止步,感谢您的访问!
您可以按照类别进行浏览,或按照文章标签查看。

link

Hi, I’m Junyue Liu from Fujian, China, you can call me Roger if you want. I received my bachelor’s degree in Computer Science and Technology from University of Science and Technology of China in 2019. After graduation, I joined NVIDIA Shanghai as a performance engineer at Geforce gaming department where I was responsible for game graphics optimization scheme design and leading small-scaled infrastructure tool development. With more than 2 years’ work in game industry, my enthusiasm towards game deign and research itself has grown stronger and stronger with continuing deep exposure to various indie and AAA games. I decided to further pursue a master degree in game design or join game industry as a designer directly. In Feb 2022, I joined tech platform department of Perfect World Beijing as a technical designer, involved in pre-dev works of an UE5 action-adventure game, responsible for prototype implementation, combat design, character action system design and dev tool design for the project. Later in April, an master offer from The University of Edinburgh came unexpectedly, after deliberation and friendly negotiation with the company, I resigned to pursue my master degree in digital media and game design from Sep 2022 onward until now.

You can check posts by Category or Tags, thanks!

Welcome to contact me at s2343291@ed.ac.uk!

演示视频/Demo Video

如果下方的嵌入式视频无法加载,请前往YoutubeBiliBili 查看。
If the video widget doesn’t load, please check it on Youtube or BiliBili.

简介/Introduction

“Echoes of Memory” is an indie game project focused on the theme of Alzheimer’s disease, which provides players a unique journey of recovering lost memories utilizing interesting features of Non-Euclidean space and the physical nature of sound. It is designed to be a spiritual journey in a maze of memories where the player wanders across 8 rooms of memories set up spatially as a Rubik’s cube. Each of the rooms represents a different stage of the protagonist’s life, but all were unfortunately forgotten by the protagonist.

Unlike Rubik’s cube in the real world, each of whose cube is only connected to a specific set of other cubes, our maze is placed in a non-Euclidean space and the connection of each cube becomes uncertain. Heading through the left door from one cube room, you might find out yourself end up in a room that is located at the lower right side of the original room mysteriously.

This mechanism is also a reflection of the symptoms of people with Alzheimer’s disease, who often experience short-term memory loss and forget why they are in the current space and what they were doing before as if they were suddenly teleported to an unknown location(Burns and Iliffe, 2009). We simulate the patient’s experience through teleport gates designed per the principle of “What you see is not where you go”, to form a sense of dislocation in spatial cognition, thus making players understand the seriousness of the disease more immersively, as well as to raise their attention to the disease in real life.

To anchor yourself in the dizzying Non-Euclidean space, the physical nature of sound will be your humble and reliable assistant. The sound waves bounce back when they hit physical obstacles thus helping you reveal hidden objects and entrances as well as giving you hints on what to do next. The directional information of sound source makes it possible for you to listen for a clue to determine spatial position relations between rooms.

The essential difference between each individual lies in their unique experience and memory. Explore the memory rooms that bring together important memories at different stages of life, and find the anchor of a peaceful mind from the chaotic spiritual world.

开发者日志/Dev Blogs

Please find dev blogs from here.

48小时Jam了一个井字棋玩法延伸而成的战棋(类自走棋?)游戏,复习了一下蓝图的Dispacher和Minimax递归算法,但不得不说用蓝图写递归真的是个体力活儿,另外,帕拉贡素材真的是UE快速原型之神!

下附演示视频,可前往B站Youtube查看:

一些原型实现过程中的技术点和设计点:

  1. Minimax递归方式实现至少不败的AI,选择困难难度则每次决策均为递归决策,否则将有概率随机选择落子位置,难度越低AI随机选择落子的概率越高。本质上是个决策搜索树,但是在8层深度的搜索时由于要搜索的叶子结点太多,会碰到蓝图循环数量超限,需要在项目设置里把循环数量拉高一个数量级,但是即使如此由于长循环持续运行会短时间内吃掉几乎所有的CPU资源(大概这个原因?),会导致帧渲染更新的卡顿,正式项目里最好还是剪枝优化一下决策树减少循环数量,或者单开一个线程做异步loop,主线程异步获取树搜索结果来实现不影响正常画面渲染,有空可以研究一下,蓝图不知道有没有类似的模块,或者思路不对?
  2. 规则拓展:在常规井字棋玩法无人胜出和棋后,将转为自动战斗的战棋模式,后手方由于棋子数量较少,因此将获得战力增益,棋子互相毗邻得越多,则获得的增益越高。
  3. 在必然和棋的未完局面下,决策方向将从达成三连转变为尽量使己方棋子抱团,以获得更多战力提升,增加决策空间。
  4. 双方棋子自动战斗,所有棋子被消灭的一方落败;增益参数经过测试调整后,基本可以实现在后手方有意放弃三连,专注于棋子抱团情况下,能够获得更高的获胜概率。但是如果是正式项目中,肯定要自动化测试一下调一下增益计算公式和参数。
  5. 棋盘格在鼠标选择时及三连成功时自动高亮,通过在post-processing volume actor中添加post-processing material并动态修改棋盘格render custom depth实现。这个方法几乎可以用在所有物体描边类用户提示上,而且可复用实现起来特别快,不知道会不会有额外性能损耗,后续可以研究下。
  6. 原型过程中用到的两个棋子O_Chess和X_Chess的逻辑大体一致,按理来说应该用类派生写比较合理,但是由于早期做原型时玩法和actor类形式都还没确定,没有考虑太多所以在Jam的过程中还是写成了两个独立的Actor类,结果就是类似代码两边复制写,还得微调一下参数,非常浪费时间而且容易出错。但是反过来,这或许反而可以成为正式项目迭代当中的优势,TD一马当先推进玩法验证的原型,求快求功能实现,然后反过来可以给正式实现提供麻烦规避和优化的思路和经验,算是个很好的例子。

About design problem solving and balancing the game mechanics, some real handy tips from great devs can be found in GMTK recent videos:

  1. Indetify the core of the problem instead of reckless fixes.
  2. Fast iterate between possible solutions and compare for the best.
  3. De-construct and list all the possible alternitive parameters, determine which of them cannot be adjusted otherwise the mechanism/characteristc will break, and which of them can be tuned. However, the root cause might actually be the ones you think cannot change, at such time, kill your darling!
  4. Make big changes. Double it or cut it half will give you more intuitive feeling about if that change is leading the design to the right fix.
  5. Reverse between punish or reward. If a punishing mechanism didn’t work so well, try make it into a rewarding way with flipped logic.
  6. Solve it elsewhere. If something is too tricky to solve in a system, try solve it in another system. See examples of UI design and pace fixing of TLOU 1.
  7. Study player behaviour. Compare in detail how different types of players play the game and find the difference, use it to adjust the design.
  8. Consider the big picture. Any adjustment to the game might bring unexpected effect to entwisted systems in game, test the change before go live.
  9. Mind the resource needed. Balancing adjustment should be made in simplest way and with fewest resources, otherwise the schedule will break.
  10. Test! Test! Test! Don’t tell the play-tester how you fix the problem, just see the natural outcome of the fix to confirm if it’s right.
  11. Learn from Nintendo (Daddy).

介绍/Introduction

项目解禁,记录一下POC阶段开发的战斗系统玩法切片验证,在最小化实验性资产制作的前提下,打造可玩的战斗系统原型,复用了paragon的免费资产来节约时间和成本。演示中展示了基于状态机的混合过度更加自然的基础移动系统、匕首跃迁系统、怪物战斗AI、连击与目押系统、精准空间闪避系统、怪物攀爬系统等战斗系统的主要组成部分,防御和弹反系统同样在设计方案中,但还未进行原型实现。我在开发过程中负责战斗系统设计及文档、AI敌人设计与实现,同时另一位专门负责程序开发的小伙伴负责搭建整个demo的技术框架和各系统功能的初步实现,我对其产出进行测试验收并在实现效果上加以调整优化,如怪物攀爬系统的攀爬点位和飞跃曲线的调优等,具体演示视频和详细文档如下:

The combat system gamplay slice verification developed in the POC phase of the project aims to create a playable combat system prototype on the premise of minimizing the production of experimental assets, reusing paragon’s free assets to save time and cost. The demo shows the main components of the combat system including more naturally blended state machine-based character navigation system, dagger transition system, monster combat AI, combo system with input timing variation mechanism, precision spatial dodge system, monster climbing system and so on. Defense and blocking systems are also in the design scheme, but the prototype has not yet been implemented. In the process of development, I was responsible for the combat system design and documentation, AI enemy design and implementation, while another dedicated programmer was responsible for building the technical framework of the entire demo and the preliminary implementation of each system function. I also involved in verify the output along with adjust and optimize the implementation detail, such as the climbing position of the monster climbing system and the optimization of the leap curve. The specific demonstration video and detailed documents are as follows Check the demo video and detailed design documents as below:

演示视频/Demo Video

如果下方的嵌入式视频无法加载,请前往YoutubeBiliBili 查看。
If the video widget doesn’t load, please check it on Youtube or BiliBili.

设计文档/Design Documentation

各系统设计文档草案如下,请右键在新窗口内打开以缩放查看 / Detailed design docs are as below, please right click the image to open in new tab for zoom in/out check:

战斗系统大纲/Combat System Overview:

战斗系统大纲

连击与目押系统/Combo System with Input Timing Variation:

连击与目押系统

匕首跃迁/Dagger Transition System:

匕首跃迁

怪物攀附系统/Enemy Climbing System:

攀附系统

闪避系统/Accurate Spatial Dodge System:

闪避系统

怪物AI行为方案/Enemy AI Scheme:

怪物AI行为方案

玩家行为与战斗系统核心玩法/Player Combat Interaction and Gameplay Loop:

玩家行为与战斗系统核心玩法

命中与受击判定系统/Hitting System:

命中与受击判定系统

攻击反馈方案/Player Hitting Feedback:

攻击反馈方案

简介/Introduction

在DMSP课程中,我们探索更具创意的独立游戏原型,我作为游戏原型创意的提出者和小组负责人,领导小组进行游戏原型的开发。小组成员来自数媒专业和声音设计专业,我主要负责项目大纲撰写、手册制作、关卡设计、逻辑实现和任务规划,其他同学负责包括关卡视觉设计、声音设计和叙事设计等其他部分的工作,具体项目内容如下:

“记忆魔方”是一个独立游戏项目原型,旨在利用声音的物理性质来解决谜题并探索非欧几里得空间的有趣特征。它被设计成一段穿越记忆迷宫的精神旅程,玩家将漫步在27个记忆房间中,这些房间在空间关系上将以形似魔方的方式排列。

在现实世界的魔方中,每个立方体只连接到一组特定的其他立方体,与之不同的是,我们的迷宫被放置在一个非欧几里得空间中,每个立方体之间的连接将变得不确定。从一个立方体房间穿过左边的门,你可能会发现自己最终神秘地进入了一个位于原来房间右下角的房间。

为了在令人眼花缭乱的非欧几里得空间里定位自己所在的位置,声音的物理性质将成为你最可靠的助手。当声波击中物理障碍时,会发生反射现象,这一现象可以进而帮助你区分真实和虚假的入口。声源的方向性线索可以让你通过倾听来揭示不同房间之间的空间位置关系。

每个人之间的本质区别在于他们独特的经验和记忆。探索属于你的记忆房间,从混乱的精神世界中找到平静心灵的锚点。

“The Rubik’s Cube of Memories” is a game project aiming at exploring the interesting features of Non-Euclidean space and the physical nature of sound. It is designed to be an spiritual journey in a maze of memories where the player wanders across 27 rooms of memories set up spatially as a Rubik’s cube.

Unlike Rubik’s cube in real world, each of whose cube is only connected to a specific set of other cubes, our maze is placed in a non-Euclidean space and the connection of each cube becomes uncertain. Heading through the left door from one cube room, you might find out yourself end up in a room which is located at the lower right side of the original room mysteriously.

To anchor yourself in the dizzying Non-Euclidean space, the physical nature of sound will be your humble and reliable assistant. The sound waves bounce back when they hit physical obstacles thus help you distinguish real and false entrances. The directional hint of sound source makes it possible for you to listen for a clue of revealing spatial position relations between rooms.

The essential difference between each individual lies in their unique experience and memory. Explore the memory room that belongs to you alone, and find the anchor of a peaceful mind from the chaotic spiritual world.

项目手册/Project Handbook

由我制作的项目手册:

The project handbook explains the inspiration, game setting, mechanism, gameplay and work allocation of the project visually to give a more clear illustration of the project’s aims.

Handbook
Handbook
Handbook
Handbook
Handbook
Handbook

核心玩法机制原型/Technical Demo

由我完成的早期游戏机制演示,需要支持空间音频效果的耳机:
We’ve implemented quick demos for the core mechanism of our game, you can check the videos from below links:



另外一位同学完成的早期游戏机制演示:

房间主题及视觉设计/Room Theme Design

由其他同学完成的房间主题及视觉设计:
27 rooms of memories provide plenty of space for creativity, some of the room theme designs are as below:

Room Theme

Room Theme Concept (part 1)
Room Theme Concept (part 2)
Room Theme Concept (part 3)
Room Theme Concept (part 4)

声音设计与多扬声器空间音频系统搭建/Sound Design and Spatial Audio System

声音是游戏的核心机制之一,它为不同房间之间的空间关系指明了方向, 同时也是沉浸体验的重要组成部分,关于项目的音频设计与空间音频系统的相关调查有声音设计的同学们负责,内容如下:
Sound plays a vital part in our game not only as core game mechanism, but also serves the need of emotion building for our memory rooms. You can find sound design demos and research from below links:

Ideas and Plans for Sound Design (SFX)

Methods for implementing spatial audio

Ideas for Musical Soundtrack

物理投影增加沉浸体验/The Physical Room Environment

为了弱化数字世界和现实世界的边界,我们将利用投影设备在游玩游戏的房间中添加额外的光影效果,并将投影内容与游戏内进程进行实时同步:
We’ve thought of more ways to make the experience more immersive for the player if time and resources allows.

Ideas on Staging the Physical Room

UI设计原型/UI Design Prototype

我们同样给出了简单的UI设计原型如下:
Original UI prototype for the game can be found here:

User Interface ( UI ) of the game “THE RUBIX CUBE OF MEMORIES”

后续工作/Next Steps

我们将在后续的4个月时间内完成项目的实际开发
We will further proceed the development of this project in following 4 months