BlueRoseNote/07-Other/简历/CaravanSandWitch仿制文档.md

19 KiB
Raw Blame History

题目

我想要在一个月的时间内快速完成《沙巫之旅》这款竞品的复刻 请分析这款游戏的

  • 玩法特色和美术风格
  • 找到并阐述核心重点
  • 产出一个游戏开发计划和时间安排。

逆向分析

UModel

使用魔改的UModel就可以对该游戏进行解包并且提取资源。 使用资产:

FModel

最新版本的FModel无法解包。

Renderdoc

因为本游戏使用了一个简单的防盗版措施,所以需要进行简单的逆向。 !Launch_Cracker.png

在Renderdoc里修改启动路径与启动程序之后添加“-PCStore=Steam” 启动参数就可以了。

!Renderdoc1.png

!Renderdoc2.png


玩法特色

《Caravan SandWitch》的开放式世界以“后启示录普罗旺斯”为基调融合科幻与废土美学构建了一个充满诗意与谜题的探索舞台。其核心玩法围绕自由探索、环境叙事与动态互动展开。

1. 内容丰富的箱庭开放世界

  • 普罗旺斯科幻风格
    游戏以类普罗旺斯的“西加罗”星球为背景,地貌涵盖广袤的沙丘、干涸的河床、废弃的工业遗迹、古老的雷内托文明遗址,以及被沙尘覆盖的未来城市废墟。色彩以黄沙、锈红、灰绿为主,搭配科幻元素(如悬浮残骸、发光植物)营造独特的视觉风格。
  • 隐藏的古代文明线索
    整个世界布满雷内托文明遗留的符号、壁画和机械装置,玩家需通过观察环境细节(如岩画、废墟结构)通过解密打开隐藏通路,甚至发现隐藏的地下设施或古代实验室。

2. 货车系统与解谜

  • 作为代步工具除了作为自己的代步工具一些同行任务还需要玩家载上NPC同行到新的地点推动剧情发展。
  • 载具升级与解谜要素解锁 通过收集零部件制作新的解谜工具以此探索更多之前无法前往的区域进而完成NPC任务、获取更多道具。最终推动剧情发展。

3. 社区互动与动态叙事

  • 西加罗社区的动态发展
    游戏中散布多个小型定居点,玩家通过帮助居民(如修复房屋、提供资源)逐步建立信任,解锁新任务线。社区会随玩家行为变化:
    • 基础设施升级:帮助居民后,定居点会扩建(如新建医疗站、工坊),提供新功能(如制作工具、修复货车)。
    • 角色关系网NPC会因玩家选择产生情绪变化甚至触发隐藏剧情例如某居民透露姐姐失踪的线索
  • 推特系统 一个类似P5的聊天界面本质是一个附带聊天记录与任务日志的任务系统。能够更加有血有肉、立体的塑造NPC。

玩法循环(使用图表示)

!CaravanSandwitch玩法循环.png

大致玩法循环NPC => 接任务 => 解锁大地图区域(关闭干扰器/使用雷达) => 解谜 => 完成任务,经过几个循环开启下一轮主线。收集图纸+元器件制作新的解谜道具。 关闭干扰器可以解锁新的交互元素、NPC对话开启新任务

指引玩家前往新地点的方式:

  1. 鸟瞰点指引:在鸟瞰点让玩家观察到新的地点。
  2. 任务指引在大地图上标记NPC的位置。

解谜点分布逻辑

在这个箱庭开发世界中分别这一些废弃建筑、山洞作为解谜点。

!WorldMap.png

根据规模可以分为:

  • 野外机关或是单个建筑一般只有1~3个机关的解谜元素。
  • 中:复数存在的野外机关与建筑,若干机关组合在一起的解谜元素。
  • 大:地图上标注的几个图标。一般是若干大型建筑组合,开发人员着重设计的具备较大的深度与复合度的解密地点。随着剧情发展与车辆的解谜工具增加会反复前往这些地点。

美术风格

属于偏向LowPoly的风格化卡通渲染。

角色

!Character1.png !Character2.png 看得出渲染要素:

  • BaseColor高饱和度与亮度的BaseColor
  • Specular无高光效果。
  • RimLighting基于NoL的边缘光效果。

经过分析: !Character_Renderdoc.png

  1. 角色主要在Translucent阶段渲染。通过采样Lambert材质渲染结果来获取阴影渲染结果。
  2. 采用顶点色RGB通道赋予基础颜色A通道用于区分身上的单肩背包部分。
  3. 使用一个NoL采样Ramp贴图来控制自阴影效果。

场景

除了主要的LowPoly场景模型场景中的一些素材看得出是将常规资产进行了一些低频风格化的处理。

!Scene1.png

!LightingPass_Renderdoc.png

  • BaseColor颜色归一化降低高频信息。
  • Normal抹平法线。
  • Spcular大部分物体基本没有高光与反射只有较少的金属物体会有。
  • Metallic绝大部分物体都是0
  • Specular
    • 角色、粒子0
    • 地形、载具0.5
    • 场景物体、金属1
  • Rougness除了角色皆为高频信息。猜测通过高频Roughness再通过Lumen的GI效果提高细节。

PS. 植被采用了预积分次表面实现。


快速开发计划

GamePlay

游戏的主要功能按照重要性排序如下:

风格化资产生产方式

针对PBR资产

备选风格化资产


时间表

  1. 第一周
    1. 第一天
      1. 使用RPG Inventory Template与插件ALS-Commutiy作为基础构建项目将ALS-Commutiy的3C融合进项目。实现物品、交互系统以及基础Locomotion。
      2. 将Ladders, Glides and Ziplines System加入项目实现滑索、爬梯子功能。添加滑索、梯子可交互Actor。
      3. 构建版本管理系统,上传项目。
    2. 第二天
      1. 移植UE的载具模版到项目中并且使用从游戏中提取车辆资产完成基础载具功能。
      2. 实现角色上下车的逻辑。
      3. 给可交互Actor基类添加逻辑
        1. 在屏幕显示对应的详细信息。
        2. 被破坏、被拖拽、被破解、被车压住、被充电接口。
      4. 实现扫描功能。
      5. 实现车辆瞄准可交互Actor的功能。
      6. 实现车辆发射钩锁的功能。
    3. 第三天
      1. 提取游戏资源完成被破坏、被拖拽、被破解、被车压住、被充电的交互Actor。
      2. 在地图中测试。
      3. 完成相关交互UI。
      4. 搭建类似游戏的VR教学场景并进行测试。
    4. 第四天
      1. 添加游戏代币物品与UI。
      2. 添加场景中拾取代币的交互Actor。
      3. 添加制造新解密道具消耗代币的交互Actor。
      4. 添加Quest and Dialog Kit资产
      5. 添加Dialog UI完成Dialog系统。
    5. 第五天
      1. 提取游戏资产并且添加主角以及其他NPC模型。
      2. 修改Quest and Dialog Kit资产逻辑完成任务系统。
      3. 添加“堆特”UI完成堆特系统。
    6. 第六~七天
      1. 测试、完善、解决遗留bug。
      2. 使用EasyMultiSave与NumberskullSerialization实现存档系统。
      3. 进行打包测试。
  2. 第二周
    1. 第八天
      1. 实现角色渲染材质。
      2. 使用接近的纯色完成初步地形材质。
      3. 按照游戏第一章的地形大致刷一下地形。
    2. 第九~十二天
      1. 使用提取资产与商城资产搭建天空盒、水面。
      2. 大致构建第一章的场景并且布置解密要素、NPC。
    3. 第十三~十四天
      1. 添加主菜单与其他UI。
      2. 测试并且解决遗留bug。
  3. 第三周
    1. 第十五天
      1. 对RPG Inventory Template的大地图进行适配显示地形与等高线。
      2. 使用World Map System资产实现小地图功能。
    2. 第十六~十八天
      1. 按照游戏设计,堆砌场景细节与解密要素。
    3. 第十九天
      1. 交给领导与同事试玩,并且收集意见。
    4. 第二十~二十一天
      1. 按照收集到的意见完善游戏内的体验。
  4. 第四周
    1. 第二十二
      1. 交给领导与同事试玩,并且收集意见
    2. 第二十三~二十七天
      1. 按照收集到的意见完善游戏内的体验。
    3. 第二十八天
      1. 提交给主管最终评审。