几年前,玩 ubisoft 的《光之子》,超级震撼。
随之就去研究《光之子》用的什么引擎。Ubisoft 作为传统大厂,在游戏制作的工具研发上,还是相当有实力的。《Rayman Origins》《光之子》等等一系列 2d platform 游戏,都是用同一款引擎 -- UbiArt Framework。
关于 UbiArt Framework,GDC 2014 的一个视频,有简单的介绍。
- https://en.wikipedia.org/wiki/UbiArt_Framework
- https://www.youtube.com/watch?v=WFu1utKAZ18
- 其中,时间轴 10:40 那一段演示,相当震撼
- The Art of Child of Light,https://www.youtube.com/watch?v=st7giW3wqwM
- 下面是通过 GDC 2014视频 中分析出来的一些内容
- Extra 是原视频未提及,额外补充的内容
- 实现难度:1 - 5 stars
- 实现难度:★★
- 用 Lua 当脚本
- 实现难度:★★★
- 基于 timeline 的过场动画编辑
- 一堆可触发的 action/event
- 然后丢到 timeline 上即可
- 实现难度:★★★★
- 类似 spine 的东西,参考
- GDC Vault: Rayman Reinvented
- 实现难度:?
- Rayman 中有光影 + 碰撞,触发游戏逻辑
- Editor 中需要,随时移动光影,立即看到效果(prototyping)
- Editor 中,允许一位设计者控制角色,另一位设计者控制 shadow
- 所见即所得
- 实现难度:?
- Separate functionality into different actors
- Parenting system
- Flexibility in prototyping
- Eventually integrate component
- digging 这种 gameplay,各个关卡可能需求不一样
- 通过各种 component 组合来实现,简单说就是 hardcode
- 实现难度:?
- Rayman 踢球,会有几个连续不同的状态
- 通过 event 组合,去实现
- 实现难度:★★★
- 碰撞检测,整合 box2d
- https://box2d.org/
- 实现难度:★★★★
- 抽象不同平台的硬件、操作系统API
- 实现不同的 rendering driver:dx9、dx11、OpenGL、OpenGL ES 等等
- 快速迭代开发
- small team,便于沟通
- 敏捷迭代,因为缺乏文档
- 太敏捷了,所以有些功能改了,并没有知会其他人
除了 Rayman,UbiArt Framework 还做了啥。
两篇 Blog
- Playing with Art,http://blog.ubi.com/en-GB/column-chris-mcentee-on-the-level-july-2013/
- Creating a World,http://blog.ubi.com/en-GB/on-the-level-creating-20000-lums-under-the-sea/
- 失败 & 验证
- 遵循美术限制(引擎限制)
- 自己先花时间 work-out,然后输出给团队(Don't waste others' time)
- 这两年随着 pixel games 和 2d platform 的流行
- unity3d 也一直在加强这一块的功能
- Unity All in One 全家桶