335 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			335 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 题目 
 | 
						||
在一个月的时间内快速完成《沙巫之旅》这款竞品的复刻,分析这款游戏的
 | 
						||
- 玩法特色和美术风格
 | 
						||
- 找到并阐述核心重点
 | 
						||
- 产出一个游戏开发计划和时间安排
 | 
						||
# 逆向分析
 | 
						||
## UModel
 | 
						||
使用魔改的UModel就可以对该游戏进行解包,并且提取资源。
 | 
						||
使用资产:
 | 
						||
- UI Material Lab:https://www.fab.com/listings/69680f34-e5d2-44e6-b023-f054bbf629eb
 | 
						||
- 插件
 | 
						||
	- 加载屏幕插件 Async Loading Screen:https://www.fab.com/listings/f8aabb9a-7c96-4f79-97ff-04bcc146e595
 | 
						||
	- 自动缩放蓝图中Comment插件 Auto Size Comments:https://www.fab.com/listings/fdb7e77d-be37-4feb-a6c9-60e317c10adf
 | 
						||
	- CreateRedirectors
 | 
						||
	- CustomPlaceActor
 | 
						||
	- CustomShortcuts
 | 
						||
	- 对话框系统 DlgSystem:https://www.fab.com/listings/419d697f-9975-4940-a3f3-fde08a61f440
 | 
						||
	- DX11AutoFallback
 | 
						||
	- 存档系统 EasyMultiSave:https://www.fab.com/listings/49f745a1-cbdd-4b18-8278-22ae1075d91d
 | 
						||
	- ElgEditorScripting
 | 
						||
	- 事件节点编辑器 FlowGraph:https://github.com/MothCocoon/FlowGraph
 | 
						||
	- 游戏音频相关 FMODSpline:
 | 
						||
	- 游戏音频相关 FMODStudo
 | 
						||
	- FoliageAudio
 | 
						||
	- FSR3-540
 | 
						||
	- InstancedMeshChunks
 | 
						||
	- 触觉反馈开发SDK Interhaptics:https://www.fab.com/listings/fbc3dd13-38d9-4625-8f09-bd07354af3d6
 | 
						||
	- 实用蓝图库 LowEntryExtStdLib:https://www.fab.com/listings/0aadd41b-c02d-4f63-9009-bffad0070ebc
 | 
						||
	- 模块化吸附插件 ModularSnapSystem:https://www.fab.com/listings/5f5ca52e-4444-4ba5-a97d-98cf05962a26
 | 
						||
	- 一个序列化插件,可以序列化Actor、Object NumberskullSerialization:https://www.fab.com/listings/d466670b-3458-4cad-a294-b36c853bc53c
 | 
						||
	- OnlineSubsystemBlueprints:https://www.fab.com/listings/16baded3-b354-42b5-b7ca-e3ffaba4ae77
 | 
						||
	- 扁平化图标库 OpenIcon:https://www.fab.com/listings/4505c6be-cfeb-4fc9-859c-7679ffdcdece
 | 
						||
	- PCStoreManager
 | 
						||
	- PropsExtender
 | 
						||
	- ShareXAutoRecord
 | 
						||
	- SlateIconBrowser
 | 
						||
	- 吸附增强 SnappingHelper:https://www.fab.com/listings/fb345179-6943-46c1-aab5-460cdc16975a
 | 
						||
	- SteamDeckConfig
 | 
						||
	- Stove 提供游戏上线服务 StoveSDKPlugin
 | 
						||
	- 绳索创建工具  Tether: https://www.fab.com/listings/e5621d4c-5774-4c6e-8057-530fc5249eb9
 | 
						||
 | 
						||
## Renderdoc
 | 
						||
因为本游戏使用了一个简单的防盗版措施,所以需要进行简单的逆向。
 | 
						||
![[Launch_Cracker.png]]
 | 
						||
 | 
						||
在Renderdoc里,修改启动路径与启动程序,之后添加“-PCStore=Steam” 启动参数就可以了。
 | 
						||
 | 
						||
![[Renderdoc1.png|800]]
 | 
						||
 | 
						||
![[Renderdoc2.png|800]]
 | 
						||
 | 
						||
---
 | 
						||
 | 
						||
# 玩法特色
 | 
						||
《Caravan SandWitch》的开放式世界以“后启示录普罗旺斯”为基调,融合科幻与废土美学,构建了一个充满诗意与谜题的探索舞台。其核心玩法围绕自由探索、环境叙事与动态互动展开。
 | 
						||
## 1. 内容丰富的箱庭开放世界
 | 
						||
- **普罗旺斯科幻风格**:  
 | 
						||
    游戏以类普罗旺斯的“西加罗”星球为背景,地貌涵盖广袤的沙丘、干涸的河床、废弃的工业遗迹、古老的雷内托文明遗址,以及被沙尘覆盖的未来城市废墟。色彩以黄沙、锈红、灰绿为主,搭配科幻元素(如悬浮残骸、发光植物)营造独特的视觉风格。
 | 
						||
- **隐藏的古代文明线索**:  
 | 
						||
    整个世界布满雷内托文明遗留的符号、壁画和机械装置,玩家需通过观察环境细节(如岩画、废墟结构)通过解密打开隐藏通路,甚至发现隐藏的地下设施或古代实验室。
 | 
						||
## 2. 货车系统与解谜
 | 
						||
- **作为代步工具**:除了作为自己的代步工具,一些同行任务还需要玩家载上NPC同行到新的地点,推动剧情发展。
 | 
						||
- **载具升级与解谜要素解锁**:  通过收集零部件制作新的解谜工具,以此探索更多之前无法前往的区域,进而完成NPC任务、获取更多道具,最终推动剧情发展。
 | 
						||
## 3. 社区互动与动态叙事
 | 
						||
- **西加罗社区的动态发展**:  
 | 
						||
    游戏中散布多个小型定居点,玩家通过帮助居民(如修复房屋、提供资源)逐步建立信任,解锁新任务线。社区会随玩家行为变化:
 | 
						||
    - **基础设施升级**:帮助居民后,定居点会扩建(如新建医疗站、工坊),提供新功能(如制作工具、修复货车)。
 | 
						||
    - **角色关系网**:NPC会因玩家选择产生情绪变化,甚至触发隐藏剧情(例如某居民透露姐姐失踪的线索)。
 | 
						||
- **推特系统**:
 | 
						||
    一个类似P5的聊天界面,本质是一个附带聊天记录与任务日志的任务系统。能够更加有血有肉、立体的塑造NPC。
 | 
						||
## 玩法循环(使用图表示)
 | 
						||
![[CaravanSandwitch玩法循环.png|500]]
 | 
						||
 | 
						||
大致玩法循环:NPC => 接任务 => 解锁大地图区域(关闭干扰器/使用雷达) =>  解谜 => 完成任务,经过几个循环开启下一轮主线。收集图纸+元器件制作新的解谜道具。
 | 
						||
关闭干扰器可以解锁新的交互元素、NPC对话(开启新任务)
 | 
						||
 | 
						||
指引玩家前往新地点的方式:
 | 
						||
1. 鸟瞰点指引:在鸟瞰点让玩家观察到新的地点。
 | 
						||
2. 任务指引:在大地图上标记NPC的位置。
 | 
						||
 | 
						||
## 解谜点分布逻辑
 | 
						||
在这个箱庭开发世界中分布着一些废弃建筑、山洞作为解谜点。
 | 
						||
 | 
						||
![[WorldMap.png|800]]
 | 
						||
 | 
						||
根据规模可以分为:
 | 
						||
- 小:野外机关或是单个建筑,一般只有1~3个机关的解谜元素。
 | 
						||
- 中:复数存在的野外机关与建筑,若干机关组合在一起的解谜元素。
 | 
						||
- 大:地图上标注的几个图标。一般是若干大型建筑组合,开发人员着重设计具备较大的深度与复合度的解谜地点。随着剧情发展与车辆的解谜工具增加会反复前往这些解谜地点。
 | 
						||
 | 
						||
---
 | 
						||
 | 
						||
# 美术风格
 | 
						||
属于偏向LowPoly的风格化卡通渲染。
 | 
						||
 | 
						||
## 角色
 | 
						||
![[Character1.png|500]]
 | 
						||
![[Character2.png|500]]
 | 
						||
渲染要素:
 | 
						||
- BaseColor:高饱和度与亮度的BaseColor
 | 
						||
- Specular:无高光效果。
 | 
						||
- RimLighting:基于NoL的边缘光效果。
 | 
						||
 | 
						||
经过分析:
 | 
						||
![[Character_Renderdoc.png|1000]]
 | 
						||
 | 
						||
1. 角色主要在Translucent阶段渲染。通过采样Lambert材质渲染结果来获取阴影渲染结果。
 | 
						||
2. 采用顶点色RGB通道赋予基础颜色;A通道用于区分身上的单肩背包部分。
 | 
						||
3. 使用一个NoL采样Ramp贴图来控制自阴影效果。
 | 
						||
 | 
						||
## 场景
 | 
						||
除了主要的LowPoly场景模型,场景中的一些素材看得出是将常规资产进行了一些低频风格化的处理。
 | 
						||
 | 
						||
![[Scene1.png|800]]
 | 
						||
 | 
						||
 | 
						||
![[LightingPass_Renderdoc.png|1000]]
 | 
						||
- BaseColor:颜色归一化,降低高频信息。
 | 
						||
- Normal:抹平法线。
 | 
						||
- Spcular:大部分物体基本没有高光与反射,只有较少的金属物体会有。
 | 
						||
- Metallic:绝大部分物体都是0
 | 
						||
- Specular:
 | 
						||
	- 角色、粒子:0
 | 
						||
	- 地形、载具:0.5
 | 
						||
	- 场景物体、金属:1
 | 
						||
- Rougness:除了角色皆为高频信息。猜测通过高频Roughness再通过Lumen的GI效果提高细节。
 | 
						||
 | 
						||
PS. 植被采用了预积分次表面实现。
 | 
						||
 | 
						||
---
 | 
						||
 | 
						||
# 快速开发计划
 | 
						||
## GamePlay
 | 
						||
游戏的主要功能按照重要性排序如下:
 | 
						||
- 3C
 | 
						||
	- [x] Locomtion: 直接套用AdvancedLococmotionV4或者[ALS-Community](https://github.com/ShadowfallStudios/ALS-Community)直接构建项目。
 | 
						||
		- Walk
 | 
						||
		- Run
 | 
						||
		- Jump 
 | 
						||
		- 攀爬
 | 
						||
	- [x] 额外运动方式:使用商城资源,合并到LococmotionV4中。
 | 
						||
		- 使用梯子(强行混合)
 | 
						||
		- 使用滑索,第四章获取(强行混合)
 | 
						||
		- 商城方案:
 | 
						||
			- https://www.fab.com/listings/ba155b30-ccb8-42c5-b136-b70933a13e32
 | 
						||
			- 备选:https://www.fab.com/listings/c92c2470-6e09-4303-a532-b042c6057ca2
 | 
						||
	- 车辆(载具):使用引擎的载具模版进行修改。
 | 
						||
		- 进入/离开 载具
 | 
						||
		- 刹车
 | 
						||
		- 加速
 | 
						||
		- 模拟悬挂系统
 | 
						||
		- 载具功能:
 | 
						||
			- [x] 区域扫描。可以描边显示被遮挡的关键物品/交互式元素。并且显示物品/交互式元素名称。
 | 
						||
				- [x] UI:手动实现。
 | 
						||
				- [x] 扫描效果后处理材质:
 | 
						||
					- https://www.fab.com/listings/9de276bc-2200-431b-be39-23f1eada3063
 | 
						||
					- https://www.fab.com/listings/f1ea87b7-d992-4c6b-8beb-1c120b4e1c3e
 | 
						||
			- 勾爪:可以抓住可交互元素。之后可以选择:
 | 
						||
				- 用车拉开(破坏交互元素)
 | 
						||
				- 用车拖拽,从XX中获取新道具或者新的可交互道具。
 | 
						||
				- 构建临时滑索,之后玩家可以上到一些之前不能上去的地方。
 | 
						||
			- 黑客:可以破解某一些无法交互的元素。
 | 
						||
			- 变压中继器:可以给某些可交互元素供电,来打开某些开关。
 | 
						||
- 物品系统:
 | 
						||
	- 只会显示物品描述。
 | 
						||
	- 代币:主要用于制作车辆功能生成部件(拆解零部件功能)
 | 
						||
		- 普通零部件:绿色
 | 
						||
		- 特殊零部件:红色
 | 
						||
		- 稀有零部件:黄色
 | 
						||
		- 珍贵零部件:紫色
 | 
						||
	- 商城方案:[RPG Inventory Template](https://www.fab.com/listings/bd9e297c-219d-4bd9-807c-21e8746f9ebe)
 | 
						||
- 场景交互元素
 | 
						||
	- 游戏存在的交互元素
 | 
						||
		- 电缆(显示是否通电)
 | 
						||
		- 使用梯子
 | 
						||
		- 使用滑索
 | 
						||
		- 拾取物品
 | 
						||
		- 解谜机关(可能需要某些物品才能打开)
 | 
						||
		- 重力开关(需要车持续停上去才能开启)
 | 
						||
		- 中继器(2个中继器连线后即可开启)
 | 
						||
		- 鸟瞰点(坐垫)
 | 
						||
		- 宝箱(直接获取物品)
 | 
						||
		- 床
 | 
						||
		- 传送门:VR教学管卡出入口/传送到指定地点
 | 
						||
	- 商城方案
 | 
						||
		- https://www.fab.com/listings/16335b65-1c61-49af-8014-1ddfd3987bb1
 | 
						||
- 对话系统
 | 
						||
	- 备选商城插件:
 | 
						||
		- https://www.fab.com/listings/052820ab-f423-48e8-978a-eefd4087b1a4
 | 
						||
		- https://www.fab.com/listings/60a2d531-5d43-4bcc-a758-54440dfabecc
 | 
						||
		- https://www.fab.com/listings/0efb8a75-7fd1-49ea-a07c-9aa5621334e0
 | 
						||
		- https://www.fab.com/listings/419d697f-9975-4940-a3f3-fde08a61f440
 | 
						||
- 任务系统:
 | 
						||
	- 备选商城插件:
 | 
						||
		- https://www.fab.com/listings/079f4df6-f7c5-4837-982b-c19eda87aa84
 | 
						||
		- https://www.fab.com/listings/66f81152-15e6-42e8-8ba4-6ddcf49bdb3a
 | 
						||
- [x] 存档系统:
 | 
						||
	- 存档系统 EasyMultiSave:https://www.fab.com/listings/49f745a1-cbdd-4b18-8278-22ae1075d91d
 | 
						||
	- 解谜点可以抽象成一个Actor,之后使用[NumberskullSerialization](https://www.fab.com/listings/d466670b-3458-4cad-a294-b36c853bc53c)进行序列化,再保存。
 | 
						||
- 大地图 & 小地图:
 | 
						||
	- 备选商城插件:
 | 
						||
		- https://www.fab.com/listings/9af1c512-d619-4e13-a091-2944e45ea547
 | 
						||
		- https://www.fab.com/listings/201fc801-3d30-4d51-b9f0-c030de9f822e
 | 
						||
- 堆特:手动实现。
 | 
						||
	- 显示分类
 | 
						||
		- 钉选帖子:主线 & 重要任务。
 | 
						||
		- 活动帖子:支线任务。
 | 
						||
		- 归档贴图:已完成任务。
 | 
						||
	- 商城UI资产:
 | 
						||
		- https://www.fab.com/listings/5be4e83d-165a-4c1b-aa37-839619998f75
 | 
						||
- UI
 | 
						||
	- 主要UI组件
 | 
						||
		- https://www.fab.com/listings/e678636b-66f1-40bd-b5bb-4d937376713e
 | 
						||
		- 
 | 
						||
		- 
 | 
						||
		- 
 | 
						||
		- https://www.fab.com/listings/999c85c8-9a7b-43aa-a3e5-2b3bc6bc57ff
 | 
						||
	- 主菜单:https://www.fab.com/listings/8fc87fae-f72c-42d7-8e87-9c88475332f6
 | 
						||
 | 
						||
## 风格化资产生产方式
 | 
						||
针对PBR资产:
 | 
						||
- 贴图进行降频、颜色归一。
 | 
						||
	- Substance 3D Painter 11.0新增 Stylization滤镜详解:快速打造风格化纹理
 | 
						||
- 模型使用Blender进行LowPoly处理。
 | 
						||
	- https://github.com/JulienVanelian/lowpolyzer
 | 
						||
	- https://github.com/sakana3/PolyQuilt
 | 
						||
## 备选风格化资产
 | 
						||
- 风格化渲染
 | 
						||
	- 角色
 | 
						||
		- 使用UModel提取角色模型与贴图
 | 
						||
		- 渲染
 | 
						||
			- 采用不透明模型只渲染深度,具体效果使用Translucent的邪道渲染方式。
 | 
						||
			- 可使用商城资源Lightweight Toon Shader (No Post Processing):https://www.fab.com/listings/063f7f81-4703-46e2-87b5-a4b859629952
 | 
						||
				- 
 | 
						||
	- 天空盒
 | 
						||
		- 
 | 
						||
	- 综合
 | 
						||
		- https://www.fab.com/listings/23869931-3e46-4c42-b541-9f6057f12d13
 | 
						||
		- 
 | 
						||
	- 粒子
 | 
						||
		- 烟尘
 | 
						||
			- https://www.fab.com/listings/111e39b5-5bd7-4b46-a915-2eda020a4ca2
 | 
						||
				- 
 | 
						||
	- 草
 | 
						||
		- https://www.fab.com/listings/b9eeb225-77a8-4541-bf13-ba15dcb04182
 | 
						||
			- 
 | 
						||
		- https://www.fab.com/listings/a5d68ec0-fc5f-4f7b-8b70-dde2847b71dc
 | 
						||
			- 
 | 
						||
			- 
 | 
						||
	- 水面
 | 
						||
		- https://www.fab.com/listings/9527db5d-9a12-4577-9507-35bd4e20e8ad
 | 
						||
			- 
 | 
						||
- 地形材质
 | 
						||
	- https://www.fab.com/listings/6d473ba6-f95d-45e8-8b6b-8b522ca2bf82
 | 
						||
		- 
 | 
						||
		- 
 | 
						||
	- https://www.fab.com/listings/b003cb7c-f466-478b-8a3c-61cf21d3b678
 | 
						||
		- 
 | 
						||
	- https://www.fab.com/listings/c56b6094-d8c3-403a-8133-b73260bfa25e
 | 
						||
		- 
 | 
						||
- 备选资产
 | 
						||
	- https://www.fab.com/sellers/AleksandrIvanov
 | 
						||
	- https://www.fab.com/listings/ee6d82a3-19b6-4a81-9999-79a5ce3f5f3c
 | 
						||
		- 
 | 
						||
	- https://www.fab.com/listings/3be0cc6f-df42-4646-9745-024ca945e474
 | 
						||
		- 
 | 
						||
	- https://www.fab.com/listings/b0fb5f1c-2f92-49a3-989d-084656275e4d
 | 
						||
		- 
 | 
						||
 | 
						||
---
 | 
						||
 | 
						||
# 时间表
 | 
						||
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](https://www.fab.com/listings/d466670b-3458-4cad-a294-b36c853bc53c)实现存档系统。
 | 
						||
		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. 按照游戏设计,堆砌场景细节与解密要素。
 | 
						||
		2. 添加鸟瞰点、信号干扰器。
 | 
						||
	3. 第十九天
 | 
						||
		1. 交给领导与同事试玩,并且收集意见。
 | 
						||
	4. 第二十~二十一天
 | 
						||
		1. 按照收集到的意见完善游戏体验。
 | 
						||
4. 第四周
 | 
						||
	1. 第二十二
 | 
						||
		1. 交给领导与同事试玩,再次收集意见
 | 
						||
	2. 第二十三~二十七天
 | 
						||
		1. 按照收集到的意见进一步完善游戏体验。
 | 
						||
	3. 第二十八天
 | 
						||
		1. 提交给主管最终评审。
 |