GGJ2018 Postmortem
2018-01-30

几天前,在上海的Unity站参加了今年的Global Game Jam。趁着余热未消,做一个简单的总结。

追寻良质
2017-12-11

第二次读《禅与摩托车维修艺术》,和主角一起踏上穿越大半个美国的心灵之旅。主角在一次又一次的肖陶扩中,最终与他的分身——婓德洛达成了和解,暂时恢复了心灵的清明和灵性。而我心中的诸多迷惑,也在旁观这场旅行的过程中得到了解答。

视差预览 & 摇动的草
2017-10-15

很久没写博客了,之前一直想整理一些东西出来,不过把 repo clone 下来以后才发现自己的主题被设置为了 submodule 所以没有 push 上去……于是只有回到上海拿到旧电脑,把文件恢复了才能继续写东西。T^T

今天记录一下最近在做 Cocoon 的时候写的比较有意思的两个场景/渲染相关的小技巧。

再见, Chester
2017-07-22


ECS模式学习小结
2017-06-17

今天在研究一些 Game code organization 方面的问题。看到暴雪的 GDC 分享《守望先锋》架构设计与网络同步,于是便顺着稍微深入的了解了一下 ECS 模式,在此做一个简要的记录。

1 ECS 架构

译自维基百科:

ECS,即 Entity–component–system 模式,是一个多用于游戏开发的架构模式。ECS 遵循“组合优于继承”的原则,带来了极大的灵活性。每个游戏中的实体 (Entity) 都包含一个或多个组件 (Component),来添加额外的行为或功能。因此,实体的行为可以在运行时通过添加和移除组件来改变。通常的 ECS 编程方式和数据驱动的设计技巧兼容性极好。

拥抱不确定性
2017-06-10

不知不觉,正式进行 Project Gearbox 的制作的时间已经快两个学期了。我们曾经想要把这个项目快速做完,尽可能快的上线。讽刺的是,GB 现在仍然处于原型试验阶段(尽管我们已经取得了很多不错的进展),而离项目完成(甚至是 Demo 的完成)更是远在彼方。

这并不是因为制作者在怠慢这个项目。相反,参与这个项目的成员都很重视它。我们无数次的讨论机制、编写策划、制作原型、实验玩法。可又在同时,我们因为原型不好玩而懊恼苦思,因为做不出来而陷入焦虑,因为达不到我们想要的效果而数次推倒重来。现在,我们终于渐渐进入了一个亚稳定的开发状态,而这个开发状态是建立在无数的方向性失败上的。

半年多的时间已经过去了。这是充满了疑问、不确定性、焦虑感,又同时激发着我们的能力和挑战欲的半年。为了在未来走的更好,我现在把我们曾经踩过的坑一一整理,只希望为接下来的独立游戏开发之路提供一个更好的参考。

心流与游戏
2017-03-14

一直都听说心流理论和游戏的关系很大。在寒假的时候,我也抽出时间去阅读了心流理论的原著《Flow》,感觉里面提到了很多非常有趣的想法,只可惜自己因为懒癌一直没有整理成文。前段时间又看了一遍陈星汉的将心流理论运用到游戏中的论文,也在冰岩游戏组做了一个分享。这里就把分享的内容整理一下,也写一点自己简单的分析。

这篇分析将主要基于陈星汉的论文Flow in Games展开,辅以自己的一些思考www

心流是什么

心流(Flow)是一个心理学概念,由心理学家Mihaly Csikszentmihalyi提出。它代表了一种极度专注、投入、愉快的精神状态——我们完全沉浸于当前所做的事中,以致于暂时忘却了它以外的所有事物。

心流的状态是非常愉快而且具有奖励性的,在紧张比赛中的运动员、上台演出的舞蹈演员、进行极限运动的运动员等,在各自的活动中都有着不同的心流体验,但心流的特质是相同的。一个活动要达成心流,一般要包括以下的核心部分:

  • 是一个要求技能的挑战性活动
  • 行动和知觉的统一 [1]
  • 明确的目标
  • 直接的反馈
  • 专注于当前的目标
  • 有控制的感觉
  • 失去对自我的把握 [2]
  • 时间尺度的变化 [3]
2017阅读列表
2017-01-08

这里整理了一些2017年想读的书。除了技术书之外,今年尤其想多读一些人文方面的书籍,扩宽视野 :) 有什么想到的还会在这里补充。

UPDATE 6-11: 改为checklist形式,勾上了当前已经阅读完毕的书籍。

Hello, 2017;
2017-01-01

之前已经写过一次年终总结,觉得写的不太好,所以删掉重写一遍。

2016对自己来说可以来说是沉淀和调整的一年,无论是在技术上还是生活上,都能见到自己的成长。正好趁这个跨年的机会,对这个发生了许多事的2016做一个好的收尾。

扩展Unity编辑器(一):自定义窗口
2016-12-16

Unity自身提供的编辑功能是很强大,但也是受限的。在构建游戏的过程中,如果我们只能依赖于Unity自身的对象编辑功能,在很多地方将无法满足开发效率和工作流的需要,例如如下的场景:

  1. 制作一个有对话系统的RPG游戏,想要把对话的选择条件、编辑和跳转可视化;
  2. 想用行为树来建模怪物AI,并且需要一个编辑行为树节点的可视化编辑器;
  3. 在制作2D tile-based(基于网格)的游戏时,需要一个能对齐到网格的地图编辑器;

这些都对编辑器的功能提供了新层次的要求:简单修改对象内部的值并不够,还需要提供一种能自定义的、有意义的编辑方式。

所幸Unity在自定义编辑器方面,提供的支持相当齐全。我最近就通过Unity的自定义编辑器接口,实现了一个2D基于网格的地图编辑器,也想借此机会把学到的知识整理一下。

这篇文章是这一系列总结文章的第一篇,主要对Unity提供的扩展窗口的接口和绘制窗口的方式进行介绍。