技术讨论,黑盒语音的“黑神话悟空”的内置地图是如何实现的

106 天前
 jtacm

试用了下黑盒语音的“黑神话悟空”的内置地图国内,发现它可以:

  1. 实时判断当前方位和朝向,且对地图各个上各个宝物/怪物点进行了标注,可筛选。
  2. 内置地图悬挂在游戏内,体验很 native 。

难道它读到了“黑神话悟空”的游戏进程的内存数据?貌似它不仅读到了,还准确判断到了各个数据结构的起始地址,并 deserialize 出来了。这个是怎么做到的?别家的游戏内存数据结构都是不对外公开的呀,而且有的还是加密的,好奇黑盒语音是怎么做到的,那位有经验的 V 友们能分析下。

6328 次点击
所在节点    游戏开发
32 条回复
naythefirst01
106 天前
就是 mod 开发的过程,其中会用到 Unreal Engine Dump 之类的技术
laommmm
106 天前
玩过 3D 的大致都知道怎么做吧,转向一般都有 controller 控制,读取系统 controller 就行了,然后每秒更新转向指向,地图标注的话,只是把模型缩小,打悬浮就行。过滤的话,只是更新标注显示隐藏。
jtacm
106 天前
@laommmm 感谢感谢。 那当前定位(在地图中的位置)是如何获取的?
laommmm
106 天前
@jtacm 模型都是同一个,只是缩小了或者简化了变成右上角小地图地图。位置都是同一个,所以不存在获取位置问题,大地图在什么位置,缩小后或者简化后的小地图就在什么位置。3D 里面一般获取当前相机位置就可以。
zlkent
106 天前
@laommmm #4 黑盒那个应该不是模型缩小,是后期人工绘制的地图。因为走到某些隐藏关卡,会显示当前区域暂无地图。
jtacm
106 天前
@laommmm 游戏 默认是没有提供任何地图和位置信息在 UI 上的,那这个工具是如何获取大地图上当前角色的位置的呢? 是否要读取内存数据,获取当前相机位置?
fenfire
106 天前
对 steam 版本的黑猴需要管理员运行黑盒语音,应该是会读内存吧
rnv
106 天前
玩家一般有坐标信息,这个决定位置。还有相机矩阵,通过这个可以判断朝向。拿到这些之后我认为比较简单的方法就是坐标系变换后在小地图里更新位置。小地图可以 hook 画图方法进行绘制
laommmm
106 天前
@jtacm #6 我感觉你的猜测是对的,应该是从内存拿的。

@zlkent 手绘的话成本确实有点高啊,需要人把所有地图都熟悉一遍,走一遍。
fengci
106 天前
有没有可能 他是人工标注的
Planarians
106 天前
真的服了地图这种基本的功能都做不好还要别人来做
coolcoffee
106 天前
我看有些 UP 主各种拆解游戏制作的,直接把玩家相机拉到天空上就可以到整个地图的全貌了。只是因为有 LOD 技术限制了远方的景物不会加载高清素材,但是对于绘制地图是够用了。
DigitaIOcean
106 天前
@Planarians 对于游戏厂商来说,如果想做地图,会有技术问题? 策略罢了
只能说很多人不认可他这个无地图策略
coderluan
106 天前
就是内置的地图 mod 吧,UE5 本身就能生成地图吧,mod 只是把这个启用了。所以游戏没地图就是开发者刻意为之,我感觉就是知道自己设计的场景很美,但是对于关卡设计来说并不怎么高明,有了地图方便跑图但是会错过风景,算是为了照顾之前没玩过游戏的人的感官体验而牺牲了游戏性,这种设计思路游戏中随处可见,比如第一关没啥卵用变身金蝉。
qwqwp
106 天前
前二章乱跑,第二章黄凤玲地图真的把我恶心到了。现在都是开着网页地址,一边看一边跑。
现在超级不满意的就是 无小地图。
weixind
106 天前
@Planarians 其实就是关卡设计能力不够,引导太差了。不做小地图出发点应该是为了让玩家多看风景。有小地图一般直接跑图了。
jtacm
106 天前
哈哈哈,大家不要歪楼了,纯技术探讨,如何实现内置的实时定位和地图。
@coderluan 如果要做一个带地图的黑神话 mod ,该如何入手,有什么思路吗?望指点,谢谢。
Vegetable
106 天前
这不就是外挂吗,外挂的原理有什么难懂的吗
evill
106 天前
看评论,很多人都没玩过类似模式的游戏。难道不知道很多类似游戏都没地图的吗?
CSGO
106 天前
内存读取咯?先读取到地图名字,加载对应图片。人物应该都要 xyz 坐标,对于到地图上?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX