你都知道哪些游戏是用C++开发的么?

开课吧开课吧锤锤2021-05-21 18:18

    在开发者的世界中,一直存在争议,谁是世界上最好用的语言。各类语言你方唱罢登场,但如果要说到游戏开发领域,C++绝对是执牛耳的存在。可以说,如果你向从事游戏开发,熟练掌握C++是必不可少的一环。

c

    也有很多小伙伴有疑问,如何用C++开发一款大型游戏,之前一直听说的游戏引擎又是什么,这不5月20日的《HelloWorld公开课》,资深游戏开发者查勋老师就来给你讲解,为什么大作游戏都是用C++开发的,以前一直听说的虚幻引擎、寒霜引擎都是什么?

    为什么都在用C++开发游戏

    C++语言是出了名的难学,语言接近底层、支持多范式编程、语法细节多如牛毛。那么为什么要用这么难的语言来做游戏开发呢?

    我们都知道,游戏开发一个最重要的特点就是需要高性能,对于客户端来说需要满足低延时、高并发、高承载,需要单个服务器承载大量用户。对于客户端来说,还要处理物理引擎、图形渲染、特效等非常吃资源的功能。

    所以能满足上面的所有需求的开发语言,基本也就非C++莫属了,因为接近硬件底层,所以C++具有非常高的性能,同时又具有高级编程语言的特性,抽象能力、泛型编程这些特点在大型软件工程中是必不可少的,又因为跨平台和包体小的特点,C++就理所应当的成为了大型游戏开发语言的不二选择。

    游戏引擎介绍

    在介绍游戏引擎前,我们先来了解下游戏开发中常见的图形库。下图列举了当下在大型游戏开发中经常使用的各类图形库。下面我们来一个一个介绍这些图形库

c

    OpenGL(全写OpenGraphicsLibrary)是一个功能强大,调用方便的底层图形库。是行业领域中最为广泛接纳的2D/3D图形API。因为OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows、Unix、Linux、MacOS、OS/2之间进行移植。

    相较于OpenGL,Vulkan不再使用状态机设计。内部也不保存全局状态变量。显示资源全然由应用层负责管理。应用程序能够充分利用CPU的多核多线程的计算资源,降低CPU等待,降低延迟。带来的问题是。线程间的同步问题也由应用程序负责,从而对开发人员的要求也更高。

    OpenGLES(OpenGLforEmbeddedSystems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。

    WebGL是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。

    Metal是一项全新的技术,专为开发高临场感主机游戏的开发者打造,可让开发者全力发挥芯片的性能。该技术经过优化,使处理器和图形处理器能够协同工作来实现最优性能。

    聊完了图形库,再来看看游戏引擎,这个表格列举了目前主流游戏引擎的代表作品,比如虚幻引擎:(UnrealEngine),寒霜引擎:(FrostbiteEngine),起源引擎:SourceEngine,无尽引擎:InfinityWard,鬼泣引擎:CryEngine3,狂暴引擎:RAGE等等,相信有很多游戏你都玩过。

c

    根据游戏的种类,每个游戏引擎的侧重点都略有不同,比如虚幻引擎一般应用虚拟现实、VR、AR、模拟训练、大型游戏、主机游戏等。Unity3D一般应用3D游戏、手机游戏。像COCOS这种则更多应用2D游戏、手机游戏、h5游戏、跨平台app等。

    以上我们仅仅是简单介绍了几种游戏引擎,如果有同学想要了解更多游戏开发的内容,可以点击C++应用之跨平台的游戏设计观看公开课的回放视频!

 

c

 

    讲师介绍

    查勋,毕业于重庆大学。十多年游戏开发和运营经验和多年技术管理经验,精通游戏前后端开发,带领团队开发并上线过十多款各类型手机游戏。参与过中国移动4G网络升级和CRM系统升级。主导中国移动统一开通系统千万工单级的改造升级。开发和主导上线多款IM和视频APP。擅长游戏开发和运营、尤擅长系统架构和解决方案。

    《Hello,World公开课》是由开课吧推出的面向广大开发工程师的免费加餐课,集结业内名师大咖,聚焦热门技术和实战解决方案,以专业知识分享交流为桥梁,链接正在创造世界的一群科技主力们,向初心致敬,为技术发烧。无论你是初入职场的应届生,还是准备升职加薪的职场精英,相信这里都有你需要的养料。

    以上就是开课吧广场小编为大家整理发布的“你都知道哪些游戏是用C++开发的么?”一文,更多动态相关内容尽在开课吧广场动态频道!

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用2
分享

相关文章

全部评论(共 2 条评论)
登录 后可发表观点…
发表
  • xxzx_38998356
    不知道梦幻西游是不是也是C++开发的
    2021-06-15 10:48:22
  • 大黄峰
    游戏竟然是C++开发的,终于涨知识了!
    2021-05-21 18:47:36
  • 超人不会飞回复大黄峰
    这你都不知道
    2021-05-25 15:53:15
Hello,World公开课