《黑神话悟空》是用什么编程语言开发的?

NoSQL数据库数据安全微服务

大家好,我是苏三。

在知乎上刷到一条比较有意思的帖子,有博主逆向了一下《黑神话:悟空》的脚本语言,最后得出的结论是:黑神话的脚本方案是魔改的 USharp,且支持全平台,包括 Xbox、PC 等。

然后就有挑事的留言说:“快说是用 Java 写的 。”真是吃饱了撑的啊。作为一名 Java 后端开发,我是看不下去了,引战没必要啊,每一门编程语言生存至今,都有各自的优点,以及应用领域。

picture.image

Java 最主要的应用场景之一就是企业级后端开发,大家面试最多的也是这个岗位。因为 Java 领域有 Spring Cloud 和 Spring Boot 这两套体系,高效且成熟。但 Java 确实不适合拿来做游戏开发。

目前游戏领域的两个当红炸子鸡非 Unity 3D 和 Unreal Engine 莫属。

  • Unity 3D:主要使用 C# 作为开发语言。开发者可以通过编写 C# 脚本来控制游戏行为、交互和逻辑。
  • Unreal Engine:中文译名虚幻引擎,主要使用 C++ 进行底层开发,同时提供了 Blueprints【蓝图】这个基于节点的可视化脚本系统,允许开发者无需编写代码来实现复杂的游戏逻辑。

像《黑神话:悟空》这一旷世大作就是用 Unreal Engine 开发的,而像《原神》、《王者荣耀》则是基于 Unity 3D 开发的。

picture.image 截图来自数据科学官网

那有些小伙伴可能就要问,如果我想学习 Unreal Engine,该去看哪些学习资料呢?

那其实虚幻引擎官网已经给出了一条非常清晰的学习路线,我这里简单给大家梳理一下。

①、虚幻引擎入门。官网在 B 站上公开了一套学习目录,带中文字幕哦,基本上把虚幻引擎和蓝图的要学得知识都讲到了。

picture.image

视频地址:https://www.bilibili.com/video/BV1hy4y1k7JB/

②、虚幻引擎进阶。官网还提供了很多入门的 demo 可供上手入门,并且配套了对应的教学视频。不过我必须吐槽的一点是,视频加载贼慢,当然也可能是我家里网络的问题。

picture.image

https://dev.epicgames.com/community/unreal-engine/getting-started/games

另外,从《黑神话悟空的脚本方案》帖子中,我还了解到一种技术,叫热更新,主要是通过蓝图、USharp 和 Lua 来实现的。

所谓的热更新,就是在不重启游戏的情况下动态更新代码,是游戏开发中一个非常重要的特性。

原贴地址:https://zhuanlan.zhihu.com/p/715690420

对于 Java 后端开发来说,蓝图、USharp 可能比较陌生,Lua 就很熟悉了,尤其是在涉及到 Redis 缓存的时候,面试还经常问。

picture.image

还有像 RedissonLock 的源码中,也有通过 Lua 脚本封装一些 Redis 命令。

picture.image

你看,技术之间是相通的吧?

《黑神话:悟空》的主程招招在分享《如何评价腾讯开源 Unreal Engine 的 Lua 解决方案 sluaunreal》中也提到了,他们是如何在 Unreal+ 蓝图和 Unreal+Lua 之间做取舍的,感兴趣的小伙伴可以去围观下。

picture.image

原贴地址:https://www.zhihu.com/question/288766781/answer/487019763

我觉得作为程序员,最大的乐趣就是可以随时随地去探索新的编程知识 ,只要有一台联网的电脑就 ok。lua 的官网非常简洁,就好像一个维基百科主页。

https://www.lua.org/

picture.image

也是突发奇想,能不能让 lua 来画一只猴哥(以前学 Java 总是打印杨辉三角),然后我就问了 GPT4o,很快就给出答案了。

picture.image

结果,跑出来的样子是这么一回事(笑)。

picture.image

没对比就没伤害,不得不说,离《黑神话:悟空》中猴哥那种逼真生动的形象还差十万八千里啊。

picture.image

不过 GPT4o 也知道单靠 Lua 是不可能完成这项任务的,于是就跟了一句:悟空这样的高质量角色通常是使用3D建模工具(如 Blender 或 Maya)制作的,然后在游戏引擎中(如 Unreal Engine 或 Unity)进行渲染。

如今黑猴已经卖出了 1000 万份,当前收入应该超过了 25 亿人民币,确实已经创造了神话。

picture.image

与此同时,Unreal Engine 也是赚的盆满钵满,因为他们规定,产品销量超过 100 万刀时,他们就要收取 5% 的费用。

最后,我想说的是,别再争论编程语言了。

学什么都可以,关键是能物尽其用,Java 也好、C++也好,Python 也好、C# 也好,只是一门工具,他们的价值最终还是要看用的人能创造出什么样的产品。

最后推荐一下我的技术专栏《程序员最常见的100个问题》,里面收录了很多踩坑经历,对你的职业生涯或许有些帮助,最近收到的好评挺多的。

这个专栏总结了我10年工作中,遇到过的100个非常有代表性的技术问题,非常有参考和学习价值。

Java、Spring、分布式、高并发、数据库、海量数据、线上问题什么都有。

每篇文章从发现问题、分析问题、解决问题和问题总结等多个维度,深入浅出,分享了很多技术细节,定位和排查问题思路,解决问题技巧,以及实际工作经验。

你能从中学到很多有用知识,帮你少走很多弯路。

扫描下方二维码即可订阅:

picture.image

原价199,现价只需21,即将涨价。

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 NoSQL 的实践与探索
随着 NoSQL 的蓬勃发展越来越多的数据存储在了 NoSQL 系统中,并且 NoSQL 和 RDBMS 的界限越来越模糊,各种不同的专用 NoSQL 系统不停涌现,各具特色,形态不一。本次主要分享字节跳动内部和火山引擎 NoSQL 的实践,希望能够给大家一定的启发。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论