C++与C#相比,哪个更适合开发大型游戏?

简介:

我觉得这个问题倒过来回答比较合适,先解答一下目前主流的大型游戏,都是使用什么语言开发的。再说说哪种语言更适合开发大型游戏。

首先,先说下,大部分游戏,甚至是应用,都极少只使用一种语言开发的。

主流游戏的开发语言

LOL

42d5dcb177cf4749679d8727f0aadaaa52cbf1ce

LOL登陆后的界面,是使用html编写的,主界面的动画效果是html+flash动画处理的。重点来了,游戏所使用的引擎,是拳头公司自己开发的3D引擎,是基于C++开发的。

GAT5

这里就说GAT5吧,GAT5采用的是RAGE引擎,这个引擎适用于PC、PS3、PS4、Wii、Xbox One和Xbox 360平台。据我所知,应该是用C++写的……

王者荣耀

cfa9d22d6ac657d2032d76b2e66faf16022477db

王者荣耀是基于Unity3d(.NET C#)引擎开发的跨平台游戏,具网友拆包发现,王者荣耀使用的开发语言为C#。

绝地求生

ecd6e4e363b4578fe6203a1dc59968f875588a68

据我所知,绝地求生(端游),使用的是虚幻4引擎,用的是C++。

游戏开发语言

如果一家游戏公司要开发自己的游戏引擎,为了效率,大部分都会选择C++作为开发语言。但可以开发游戏的语言非常多,主要包括C/C++,汇编语言,着色器语言、脚本语言、高效的开发语言C#或Java。可以说开发游戏,C/C++是基础。

但随着移动时代的到来,Unity3D引擎被越来越多的游戏使用,而Unity3D有三种脚本语言可供选择:java、C#、Boo,而C#是比较主流的。

C++和C#哪个适合?

这个要看你对大型游戏是个什么定义了,精细一点,MMORPG才算大型游戏,通俗点,画面精致,可创造性强,笼统一点,只要很多人玩,游戏也很需要技巧,就算大型游戏。

这样,我列出一般开发游戏使用的语言。

2D页游:AS3 JS

3D页游:AS3 C#(Unity)

IOS游戏:Obj-C js/lua(Cocos-2d-x) js/C#(Unity) AS3

安卓游戏:java js/lua(Cocos-2d-x) js/C#(Unity) AS3

在线小游戏:AS3 JS大型单机游戏/客户端MMORPG::C++ C#


原文发布时间为:2018-08-15

本文作者:w3cschool

本文来自云栖社区合作伙伴“w3c编程教程”,了解相关信息可以关注“w3c编程教程”。

相关文章
|
14天前
|
机器学习/深度学习 算法 算法框架/工具
为什么使用C++进行机器学习开发
C++作为一种高性能语言,在某些性能要求极高或资源受限的场景下也具有非常重要的地位。C++的高效性和对底层硬件的控制能力,使其在大规模机器学习系统中发挥重要作用,尤其是当需要处理大数据或实时响应的系统时。
29 3
|
9天前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
14天前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
54 1
|
1月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
48 0
|
2月前
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
76 0
|
2月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
56 0
|
2月前
|
开发者 Apache 程序员
揭秘Apache Wicket:页面生命周期背后的神秘力量!
【8月更文挑战第31天】李工是一位热爱Web开发的程序员,近日在技术博客上分享了他对Apache Wicket框架的学习心得,特别是页面生命周期的理解。他认为掌握Wicket页面生命周期对于开发富交互式Web应用至关重要。他通过一个简单的计数器应用示例,详细解释了Wicket的组件化设计理念以及页面和组件在生命周期中的变化。
30 0
|
2月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
76 0
|
15天前
|
编译器 C++
C++ 类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。
60 30
|
4天前
|
并行计算 Unix Linux
超级好用的C++实用库之线程基类
超级好用的C++实用库之线程基类
12 4
下一篇
无影云桌面