开发日志


游戏开发进度报告

04/02修改:开发日志的原文请点击链接到GitHub上查看,由于md格式在网页端实在不可读,所以我把内容喂给豆包让他转换为word提交了。我重新审视了这篇开发日志,并以“(补充:***)”的形式添加了一些补充,就当作后日谈了。

一、3 月 28 日

(一)初步思路

  • 设计一款重力翻转的解密游戏。玩家先在正常平台跑到指定点,进行翻转后再返回,过程中需考虑不同视角下的行动。

(二)主题扩展

  • 将 “洞穴之喻” 融入游戏,翻转永无止境,洞穴之外更加复杂。
  • 体现 3 与 4 的争论永存。
  • 翻转能解决常规无法解决的问题,洞穴之外既复杂又精彩。
  • 翻转过头会陷入虚无。(补充:原本想的是一个陷阱的设定,就是掉出地图外的情况)

(三)初步命名

  • 游戏命名为 Exocave。

(四)进一步思路整理

  • 主题:洞穴之喻。
  • 理念:3 与 4 的争论永存,翻转视角可帮助走出一个洞穴,但洞穴永无止境。
  • 设定--“虚无”:玩家一直受翻转重力影响,无法接触地面,只能 “上坠”。
  • 目标:离开洞穴。
  • 玩法:解密。
  • 核心机制:重力翻转。
  • 待明确问题:重力翻转采用主动还是被动方式。主动方式不利于谜题设计,若主动设计困难,考虑采用被动方式,因其并非核心问题。
  • 下一步计划:于 3 月 29 日早上实现核心机制 —— 重力翻转。

二、3 月 29 日早上

(一)素材

  • 使用 kenney 素材。

(二)实现

  • 实现重力翻转,在固定点可触发。
  • 实现推箱子功能,参考建造系统demo 中的推箱子实现方式
  • 设计受重力影响的道具,如箱子,翻转后箱子会向 “上” 掉落。

(三)谜题设计

  • 谜题 1:翻转后可走出。
  • 谜题 2:需考虑箱子的运用。

(四)可能的扩展

  • 设计不同类型的箱子。
  • 设置陷阱,避免玩家在不该翻转的地方翻转。(补充:后续几乎没有陷阱的设计,只在关卡五右下方有个虚空的设计,掉下去后会死亡重置关卡。因为设计多了太复杂,考虑不过来。)
  • 使地图规模逐渐增大,模拟洞穴越来越大的效果。

(五)下一步计划

  • 实现关卡切换,思考关卡包含的内容及优雅的切换方式,实现视角和地图逐渐变大的功能。

三、3 月 29 日下午

(一)地图变大功能实现

  • 通过相机缩放实现地图变大,初步设想第一关缩放 2 倍,第 2、3 关缩放 1 倍,第 4 关缩放 0.5 倍,后续再进行扩大。后修正为:第 1 关缩放2倍;第 2 关缩放 1.5 倍;第 3 关缩放 1.0 倍;第 4 关缩放 0.75 倍;第 5 关缩放 0.5 倍;第 6 关缩放 0.25 倍。

(二)关卡实现

  • 内容:包含实体、玩家、物品(翻转触发器、胜利触发器、箱子)、相机、地图。
  • 重新开始 UI:直接重新加载。
  • 切换关卡:使用切换场景单例保存关卡数据,实现具体切换。

(三)扩展谜题与机制

  • 引入横向重力。
  • 考虑将翻转改为主动,并添加次数记录或限制。(补充:当时谜题设计的太痛苦了,所以想要改设定。改为主动并记录次数可以让玩家一定能通关但不一定高分。)
  • 设计陷阱、单向平台。

四、3 月 29 日晚上

(一)关卡四设计

  • 机制设计:原计划加入横向重力,后改为单向平台。
  • 关卡四主题:单向通道。
  • 设计方向:融入错误路径,融合多种机制。

(二)音效与音乐准备

收集音乐音效素材,尚未构思出关卡四的设计思路。初步规划关卡四采用单向平台,关卡五采用横向重力,关卡六进行综合设计,关卡七进行剧情演出。

(三)下一步计划

次日早上搭建基础系统,完成音乐音效设置,暂不清理美术素材,留作备用。

五、3 月 30 日早上

(一)关卡设计优化

需深入挖掘核心机制 —— 重力翻转的玩法,单向平台并非核心机制。参考 ibb - obb 的谜题设计完成关卡四,并在关卡过程中暗示关卡解法。(补充:这个游戏我上周周一才和朋友一起玩过,虽然没玩太久。感谢kat!)

(二)场景切换 bug 修复

  • 问题:场景切换存在 bug,关卡三被跳过,疑似同帧多次调用导致索引值异常。
  • 解决方案:通过一个字典映射对应 scene - manager 中具体关卡,避免切换到错误场景。此方法虽配置较为麻烦,但可解决问题,且因场景较小,性能不受影响。(补充:试过在单例中声明枚举,在其他地方调用。这会报错!我猜是因为赋值在单例初始化之前。)

(三)下午目标

  • 设计关卡 5。
  • 提升场景颜值,尤其是规模逐渐增大的场景。
  • 选择音频资源,实现音频系统。

六、3 月 30 日下午

(一)关卡设计优化

  • 优化关卡节点组织和设计(补充:当初关卡结构不稳定,加上要快速开发,所以直接使用事件总线完成通信;稳定后发现没啥信号有必要通过总线,就取消了事件总线设计)
  • 考虑将关卡四的单向平台朝向随机化(所有平台朝向保持一致),设计两条路线。实施后发现关卡过于简单。

(二)主界面与音乐设计

  • 采用乌鸦的音乐作为游戏音乐,因关卡较短,每关结束时不再重新播放音乐。
  • 添加像素字体。
  • 通过抄一个单例实现音乐播放,并添加淡入效果。

(三)素材收集

  • 收集星空 shader 作为主界面背景,留存动态进度条 shader 备用。

七、3 月 30 日晚上

(一)游戏优化

  • 调整文件架构,优化关卡界面效果,降低音乐默认音量。
  • 思考是否启动其他物理引擎插件优化表现,经评估暂不必要。

(二)音效设计

  • 为 UI 添加点击音效、进入按钮音效。
  • 为重力翻转、胜利等事件添加音效。因在物理体上添加音效存在困难,故不在物理体上添加音效。添加音效后,游戏初始化时可能存在几秒音效播放不出来的问题,但不影响整体。(补充:这是因为之前加了一个默认1s的淡入效果,后续修复了)

八、3 月 31 日早上及下午

(一)提示牌优化

  • 提示牌内描边在不同相机缩放下表现不一致,因可能与相机缩放有关,难以完全修复。

(二)关卡五设计

  • 主题:3 == 4。(补充:其实有点想改为“勇气”)
  • 要求:设计正面和反面两条可通过的路线,构建更大的地图。本关卡不再新增横向重力,直接设计为综合关卡,将横向重力留给关卡六用于演出。
  • 优化过程
    • 优化 01
      • 取消中间线路,因其复杂且无意义;
      • 尝试添加单向平台,融合竞速玩法,但时间设置过短,后续需调整刚体等设置;
      • 添加速度限制器,在玩家首次移出地图外时降低速度,使其缓慢返回,也可考虑直接冻结 player 一段时间。
      • (补充:这个“移出地图外”是误打误撞搞来的。当初测试跳出地图时,由于我的重力是通过area2d覆盖实现的,所以从上面跳出地图后会掉回来。由此在设计时刻意让往上跳的路线都不能直接跳过去,往下跳的路线能过但有点艰难。)
    • 优化 02
      • 优化速度限制,通过合理设置重力区域大小,控制返回时间在 6S 左右;
      • 优化路线设计,避免路线交叉影响;添加半误导性质的提示箱子。
      • 取消竞速玩法,但发现原本加入的单向平台有其他作用。
    • 优化 03:降低踩箱子环节的难度,优化路线交叉部分。

九、3 月 31 日晚上

(一)项目收尾

  • 取消结局关卡演出,因无法及时实现满意的美术效果,改为通过 UI 结束游戏。
  • 研究扩展关卡,改变部分机制,添加横向重力。(补充:很快就扩展了三关,是个填充内容的好方法。)
  • 清理孤立资源,进行测试与最后优化,上交项目。

十、4月1日早上

  • 优化开发日志

Files

web.zip Play in browser
7 days ago
Exocave.console.zip 48 MB
7 days ago

Get Exocave

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

(+1)

不错的游戏,虽然我经常因为操作搞得火大,也许可以让碰撞体比实际体积看起来小一些。

我目前看到最完善的开发日志,甚至应该作为范例!

(1 edit)

感谢游玩!
以及其实已经小了一些了(1px)(狗头.jpg)

我之后再优化一下日志吧,就当一个后日谈。交的急没咋看,哈哈。