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

发布日期:2024-09-19 20:24

来源类型:证券之星 | 作者:范津玮

【澳门金牛版正版资料大全免费】【新澳开奖记录今天结果】【2024年新澳门王中王资料】【管家婆最准一肖一码】【新澳彩开奖结果查询】【新澳门4949免费资料大全】【4949澳门免费资料大全特色】【2024今晚澳门特马开什么号】【123969澳门资料大全】【2O24澳彩管家婆资料传真】
【494949澳门今晚开什么】 【2024新澳免费资料】 【香港今晚六给彩结果今天晚上】

《黑神话:悟空》真是火得一塌糊涂,这款被誉为中国第一款3A制作的单机游戏,凭借其惊艳的画面、流畅的战斗体验和深厚的文化内涵,属实是火出圈儿了,连央视、外交部都纷纷点赞了。



关于这款游戏的制作和文化咱就不聊了,今天咱们聊聊另一个话题。

话说,你知道黑神话·悟空这款游戏是用什么编程语言开发的吗?

答案是C++

根据游戏开发公司游戏科学官网的显示,《黑神话:悟空》游戏使用的是虚幻引擎(Unreal Engine):



而这个引擎的底层源码主要使用的就是C++。

开发这款引擎的是Epic Games,一家来自美国的游戏公司。

虚幻引擎属于开源项目,大家自己学习或者开发一些免费的东西是可以直接用的。但如果要开发像《黑神话:悟空》这样的商业产品,那就得给钱了。按照他们的协议,当产品销售超过100万$时,就要付5%的版税。

悟空的销售早就超过这个数了,所以现在每多一个人购买这款游戏,就会有5%进入到这家公司的钱包里。当然这种算法可能有些粗糙,在不同平台还有平台抽成,但大体是这么个意思,每销售一次,就会有一笔钱进到这家公司的账户。

在微博、知乎、公众号很多平台看到大家都在感叹,国内的游戏公司很少愿意投入到这样的3A游戏制作,投入太大、周期长、收益不确定,导致大家都更愿意做投入小、来钱快的网游、手游,做一些奶头乐的游戏,而这类游戏,往往很难承载起文化传播的重担。

确实是这样,过去的十几年里,中国的游戏开发者们大多集中在网游和手游领域,原因很简单——来钱快。网游可以通过内购和会员制等方式持续盈利,而手游更是凭借短平快的开发周期和庞大的用户基数成为了香饽饽。

每次看到这样的评论留言,我就想到咱们软件开发领域其实不是一样的吗?

在中国的软件开发行业,Java和Python几乎成为了开发者的首选。

无论是互联网公司开发的各种应用,还是传统企业的信息系统,这两种语言无处不在。

为什么它们如此受欢迎?

原因很简单:Java和Python的学习门槛低,开发速度快,并且有丰富的生态系统和社区支持。这让企业能够迅速推出产品,抢占市场份额,迎合快速迭代的商业需求。

再来看C++,国内做C++开发的团队实在是太少了,企业想招聘一个合适的C++人员往往要付出更多的时间和成本。

这里面有多方面的原因,一方面C++学习曲线陡峭,开发人员需要掌握内存管理、操作系统机制等复杂内容,不仅耗时,而且容易出错。其次,C++的开发周期较长,企业在如此内卷的市场下,也很难快速迭代,毕竟市场不等人。

于是多年下来,造成的局面就是,国内的软件开发主要集中在网站、APP、小程序等领域,很少有涉及底层的软件系统。各种工业软件、操作系统、游戏引擎、数据库、浏览器这些东西基本都是国外的东西。

我看到很多人期望《黑神话:悟空》能像一束光,照亮国内3A游戏的道路,有更多的公司和团队进入到这个领域。

实我也希望,国内有更多的C、C++这些编程语言的开发者,开发出各种基础设施软件,走向全球市场,未来别人用我们的东西,每卖出一份也能给我们交钱。而不只是像现在一样,做一些同质化严重的小程序和APP。

期望归期望,但坦率来讲,这很难,毕竟《流浪地球》五年过去了,如今也只有一个《流浪地球》。

商业和资本本质毕竟还是逐利的,尤其是国内的市场太过浮躁,大家更看重短期利益。别说公司和企业了,个人同样如此,很多人都期望培训班培训三个月,就能月薪上万进入大厂。

不过星星之火总好过一片暗淡,当《黑神话:悟空》这样的星星之火越来越多时,终究有燎原之日。

最后期望中国游戏产业和中国软件产业都能有美好的未来!


作者著作


▊《趣话计算机底层技术》

轩辕之风(@編程技术宇宙) 著


  • 一趟故事与技术的奇幻之旅
  • 涵盖CPU存储IO操作系统编程安全六大主题
  • 几十个故事之间既有关联让你像追剧一样学技术
  • 也有一定独立性,随时翻开一篇都能看下去


本书主要是用讲故事的方式介绍计算机底层相关的技术,用通俗易懂的表达方式帮助大家学习底层技术。

故事的主人公可能是计算机里的一个程序、一个进程、一个线程、一个函数、一个数据包、一个文件等这样的软件角色,也可能是CPU、内存、网卡等这样的硬件角色。

本书透过这些角色的视角去讲述发生在计算机世界里的故事,帮助大家在故事中学习和了解计算机底层技术的工作原理。

整本书由几十个故事构成,故事之间既有关联性,让你像“追剧”一样学习技术,也有一定的独立性,让你随时翻开一篇都能看下去。

本书主要涵盖计算机中的CPU、存储、I/O、操作系统、系统编程、安全六个主题,每个主题一章,你不必从头到尾逐篇阅读,完全可以挑选自己感兴趣的任何章节开始阅读。



C++领域经典好书


▊《看漫画学C++:有趣、有料、好玩、好用(全彩入门版)》

关东升 著,赵大羽 绘


  • 看漫画学C++,简单、有趣、入门!
  • 提供免费配套视频、课件、代码、软件、习题、读者群等,小灰、臧秀涛等众咖力赞!


C++,简单而强大,已经渗透到计算机领域的各个角落,甚至有很多中小学也开始引入C++编程课程。

本书秉承有趣、有料、好玩、好用的理念,通过精心设计的漫画,生动而有趣地讲解C++编程知识。本书在每一章中都安排了“练一练”环节,并在附录A中提供了相应的答案,可帮助读者巩固所学知识。

无论您是想入门C++,还是想参加信息学竞赛,抑或是想从事C++软件开发工作,本书都是您的理想选择。它也是一本非常适合广大教学工作者使用的C++入门教材。本书还提供了读者群及配套源码、教学视频、教学课件、勘误等,学习资源非常丰富。让我们一起踏上这充满乐趣的C++编程之旅!



▊《零基础学C++(升级版)》

明日科技 编著


  • 经典畅销书全新升级
  • 海量资源包实现立体化学习
  • 编程从入门到精通

本书从初学者的角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了使用 C++ 语言进行程序开发所需要掌握的知识和技术。全书共分为 16 章,包括初识 C++,C++ 语言基础,运算符与表达式, 条件判断语句,循环语句,函数,数组、指针和引用,结构体与共用体,面向对象编程基础,类和对象,继承与派生, 模板,STL(标准模板库),RTTI 与异常处理,文件操作,坦克动荡游戏等内容。书中所有知识都结合具体实例进行 讲解,设计的程序代码给出了详细的注释,可以使读者轻松领会 C++ 语言程序开发的精髓,快速提高开发技能。

本书适合作为 C++ 语言程序开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人 员查阅、参考。

▊《C++ Primer(中文版 第5版)》

Stanley B. Lippman,Josée Lajoie,Barbara E. Moo 著

王刚,杨巨峰 译

  • C++领域专家:潘爱民、孟岩作序,代表技术圈鼎力推荐!
  • 一线C++工程师腾讯Milo、微软刘未鹏、陈梓瀚、阿里李云、侯凤林高水准技术审校!
  • C++学习头牌,技术影响力图书冠军


无论初学或老手既可用来理解C++11规则背后的原理,也可用其新语言特性与标准库来快速构建健壮程序,采用中文版页码全面呈现原书大量交叉引用及详尽索引,新式辅学设置与课后操练用于避开陷阱、巩固良法!


▊《Essential C++中文版》

[美] Stanley B.Lippman 著

侯捷 译


  • 上手C++的捷径!
  • 《C++ Primer》精华版,《C++Primer》作者Lippman又一经典名著,提炼C++的精华,带你快速掌握、实践C++!


《Essential C++中文版》以四个面向来表现C++的本质:procedural(面向过程的)、generic(泛型的)、object-based(基于对象的)、object-oriented(面向对象的)。全书围绕一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性来组织。循此方式,你将不只学到C++的功能和结构,也可学到它们的设计目的和基本原理。

《Essential C++中文版》适合那些已经开始从事软件设计,又抽不出太多时间学习新技术的程序员阅读。



▊《C++之旅(第3版)》

[美] Bjarne Stroustrup 著

Pansz 译


  • C++之父扛鼎之作
  • 全面接纳C++20/23新版
  • 带领卓越程序员参透设计哲学照见语言未来
  • 知乎轮子哥/蓝色/Boolan创始人李建忠隆重作序力荐


在本书中,Bjarne Stroustrup提供了ISO C++、C++20的概述,旨在让有经验的程序员清楚地了解现代C++的构成。这个经过修订和更新的版本,以精心制作的示例和实用的入门帮助为特色,简明扼要地说明了有效使用所需的大多数主要语言功能和标准库组件的相关知识。

Stroustrup在对应编程风格的代码中展现了相应的C++特性,例如,面向对象和泛型编程。本书内容非常全面,讲解范围从基础知识开始,广泛涵盖更高级的主题,强调更新的语言功能。此版本还包括由主要C++供应商实现的C++20中的许多新功能,如模块、概念、协程和范围,甚至引入一部分计划到C++23才收录的标准库组件。

本书的目标不是教你如何编程,也不是你掌握C++所需的唯一资源。但如果你是C或C++程序员,想更加熟悉当前的C++语言,或者是一名精通其他编程语言并希望准确了解现代C++的特性和优势的程序员,那么本书可能是你很难找到的简明精干的宝贵资料!



▊《C++之美:代码简洁、安全又跑得快的30个要诀》

[英] J. Guy Davidson,Kate Gregory 著

王江平 译


  • C++之父及核心准则缔造者作序力荐
  • 30条浓缩精华来自世界级真实项目经验
  • 直击大型复杂工程实践难点与暗坑
  • 向C++14/17/20的技能跃迁


本书从《C++核心准则》(C++ Core Guidelines)中精心挑选了30条准则进行细致、深入的讲解。内容涵盖C++语言最主要的方面,如类型系统、面向对象、模板和元编程、错误处理、程序性能、常量性等,其间又恰如其分地穿插了编码风格、设计模式等主题。

书中汇集了作者数十年职业生涯的经验和一些有趣的示例,除了深刻的见解,行文也充满了趣味性。作者试图通过这种突出重点、以点带面的方式帮助读者了解并学习《C++核心准则》,进而更深入地掌握C++这门编程语言,特别是它的“现代”形态。本书适合各种水平的C++开发者阅读。


▊《Effective C++:改善程序与设计的55个具体做法》

[美] 梅耶(Scott Meyers) 著

侯捷 译


  • 这是一本轻薄短小高密度的“专家经验累积”
  • 如果你声称自己是个C++程序员之前,那你一定得读过这本书
  • 认真地读完这本书,普通的C++程序员也可以摇身一变成为专家级C++程序员
  • 这是作者智慧的再一次提炼和升华,你没理由还在原地踏步,赶紧阅读这本书,迎头赶上吧

有人说C++程序员可以分为两类,读过Effective C++的和没读过的。世界C++大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过本书之后,就获得了迅速提升自己C++功力的一个契机。

在国际上,本书所引起的反响,波及整个计算机技术的出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。

本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是真正程序员的语言,背后后精神的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮您跨越C++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的C++程序员。


▊《More Effective C++:35个改善编程与设计的有效方法(中文版)》

Scott Meyers(斯考特.梅耶) 著

侯捷 译


  • 梅耶尔大师Effective三部曲之一


继Effective C++之后,Scott Meyers于1996推出这本“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……这一章的每个条款篇幅都达15~30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。

虽然出版年代稍嫌久远,但本书并没有第2版,原因是当其出版之时(1996),C++ Standard已经几乎定案,本书即依当时的标准草案而写,其与现今的C++ 标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。读者可以登录作者提供的网址,看看上下两集的勘误与讨论(数量之多,令人惊恐。幸好多是技术讨论或文字斟酌,并没有什么重大误失)。



▊《深度探索C++对象模型》

Stanley B. Lippman 著

侯捷 译


  • 一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意


作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。

本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟――虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。




▊《C++标准库(第2版)》

Nicolai M. Josuttis 著

侯捷 译


  • 全球C++经典权威参考书
  • 1100页鸿篇巨著,基于C++11重写全书示例代码


本书是全球 C++ 经典权威参考书籍时隔 12 年,基于 C++11 标准的全新重大升级。标准库提供了一组公共类和接口,极大地拓展了 C++ 语言核心功能。《C++ 标准库(第2版)》详细讲解了每一标准库组件,包括其设计目的和方法、复杂概念的剖析、实用而高效的编程细节、存在的陷阱、重要的类和函数,又辅以大量用 C++11 标准实现的实用代码范例。除覆盖全新组件、特性外,本书一如前版,重点着眼于标准模板库(STL),涉及容器、迭代器、函数对象以及 STL 算法。此外,本书同样关注 lambda 表达式、基于区间的for循环、move语义及可变参数模板等标准库中的新式 C++ 编程风格及其影响。




▊《C++服务器开发精髓》

张远龙 著


  • 从操作系统原理角度讲解C++服务器开发技术栈,内容详尽细致、版本新,重磅级C++服务器开发红宝书


本书从操作系统原理角度讲解进行C++服务器开发所需掌握的技术栈。全书总计9章,第1~2章讲解C++ 11/14/17新标准中的常用特性、新增类库,以及C++开发者必须熟练掌握的开发调试工具链;第3~6章详细讲解C++服务器开发中的多线程编程技术、网络编程重难点知识、网络故障调试与排查常用工具,以及通信协议的设计思路、技巧;第7~8章详细讲解一个带网络通信组件的高性能服务的基本设计思路和注意事项;第9章进一步补充服务相关的常用模块设计思路和方法。本书秉承的思想是,通过掌握技术原理,可以轻松制造“轮子”,灵活设计出优雅、鲁棒的服务,并快速学习新技术。

无论是对于C/C++开发者、计算机专业的学生,还是对于想了解操作系统原理的读者,本书都极具参考价值。

卡佳·赫尔伯斯:

2秒前:本书适合各种水平的C++开发者阅读。

罗伯特·福捷:

9秒前:Stroustrup在对应编程风格的代码中展现了相应的C++特性,例如,面向对象和泛型编程。

槙田雄司:

6秒前:▊《More Effective C++:35个改善编程与设计的有效方法(中文版)》Scott Meyers(斯考特.

何夏昕:

9秒前:除覆盖全新组件、特性外,本书一如前版,重点着眼于标准模板库(STL),涉及容器、迭代器、函数对象以及 STL 算法。