游戏开发需要懂几种语言?

游戏开发需要懂几种语言?,第1张

游戏开发大致可以分为PC端游戏开发和移动端游戏开发,但不管怎样都离不开这三大语言,即Java、C语言和C++语言,用来的开发引擎主要就是Unity3D和Cocos,比较熟悉的还是unity
Unity过去主要针对3D游戏开发的市场,目标是占领整个游戏开发团队。72%的以游戏开发类别为首要工作的参与者选择Unity作为他们的首选游戏开发工具。采用Unity目标定位于桌面平台的开发又占了一半,这可显然比均值高很多,此外还有一些其他的垂直功能,例如视觉结构,军事仿真和教育等Unity都迎合了设计者的需求。
编译原理之类的都需要学习;动画做工具),STL,而不是程序。这些只是属于基础知识,只有引擎并不是一个游戏,比如说一个网游里面有10个副本:
网络游戏里面有副本系统。
如果你单纯想知道游戏引擎相关的技术,线性代数,撤销,你说的 *** 作系统,数据结构,有了引擎。
比如说你会需要了解3DSMAX Script(用来给美术,自动存盘,场景,里面怪物的模型,不过根据不同的游戏类型可以设计出各种不同的开发工具,等等之类的;粘贴NPC;动画,游戏本身事实上是数据驱动的,叫副本编辑器,统筹方法,目前的情况游戏程序员大部分的时间都是在做各种工具,设计模式,副本的关卡设置。
理论上讲戏编程开发包含的内容太广了,主要集中在对DX API的了解,设置关卡,而且有了工具,那么副本的制作就需要有一条制作流水线。
======================================
补充回答楼主的问题,游戏里面要实现20个不同的副本,等等之类的,则和工具没什么关系,很难做到完美的数据驱动,而工具则和具体的游戏类型相关的,我举这么个例子,另外需要自己学习的就是了解一下游戏开发中一般常用的一些方法和工具流水线,版本控制等等之类的,比较重要的还有线性代数;重做,而不是通过程序员写代码来实现的,这个工具本身和引擎无关。工具编写又牵扯到很多其他方面的编程技巧(和游戏本身无关的)比如说复制,编写makefile,物理,设计模式;美术可视化的在场景里面放置机关,里面可以让策划。那么基于以上的一些策划,图形学,这10个副本都是通过各种工具配置出来的,算法,因为引擎是更加通用的,等等,比方说副本的美术场景资源,我们就需要开发一个工具;软件信息,奖励系统,Office系列软件的COM接口(用来给策划做工具),还是需要制作。

1、后台开发方向,我想应该是服务器后台开发,大约是Linux/UNIX环境,C/C语言

客户端开发方向,简单点讲,就是QQ了,具体开放环境,好像是VisualC,只能说好像是,不确定,求证。

2、终端开发方向,应用开发方向,这两个大约是针对移动互联网终端(平板电脑,手机)的吧

3、测试开发方向,为测试工作开发一些辅助的自动化测试工具

4、运营开发方向,开发工具分析服务器日志文件,辅助运营管理

5、WEB前端开发方向,这个就很好理解了,腾讯微博,WebQQ等等

6、游戏开发方向,QQ游戏吧

实际上,这些是根据应用场景来进行分类,但是不管怎么分,都要靠开发语言来实现,至于各自用什么语言,这就由这个场景的特点来决定了,比如,服务器后台开发,必然是C/C,而移动应用开发,很多是针对Apple,那就是Objective-C了。

至于到底适合哪种开发,那就兴趣爱好和掌握的技能了

一、 *** 作系统:

Microsoft Windows : 汇编 -> C -> C++

备注:曾经在智能手机的 *** 作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。

相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用C#写,但是最终因为执行慢而放弃,结果之前无数软件工程师日夜劳作成果一夜之间被宣告作废。

Linux :C

Apple MacOS : 主要为C,部分为C++。 备注: 之前用的语言比较杂,最早是汇编和Pascal。

Sun Solaris : C

HP-UX : C

Symbian OS : 汇编,主要为C++。 (诺基亚手机)

Google Android :2008 年推出: C语言(有传言说是用Java开发的 *** 作系统,但最近刚推出原生的C语言SDK)

RIM BlackBerry OS 4x : 黑莓 C++



二、图形界面层

Microsoft Windows UI : C++

Apple MacOS UI (Aqua) : C++

Gnome (Linux图形界面之一,大脚): C和C++, 主要是C。

KDE (Linux图形界面) ,C++。



三、桌面搜索工具

Google Desktop Search : C++

Microsoft Windows Desktop Search : C++

Beagle (Linux/Windows/UNIX 下): C# (基于开源的 net : Mono)



四、办公软件

Microsoft Office : 在 汇编 -> C -> 稳定在C++

Sun Open Office : 部分JAVA(对外接口),主要为C++ (开源,可下载其源代码)

Corel Office/WordPerfect Office : 1996年尝试过Java,次年被抛弃,重新回到C/C++

Adobe Systems Acrobat Reader/Distiller : C++



五、关系型数据库

Oracle : 汇编、C、C++、Java。主要为C++。

MySQL : C++

IBM DB2 : 汇编、C、C++,主要为C。

Microsoft SQL Server : 汇编 -> C->C++

IBM Informix : 汇编、C、C++,主要为C。

SAP DB/MaxDB : C++



六、Web Browsers/浏览器

Microsoft Internet Explorer : C++

Mozilla Firefox : C++

Netscape Navigator : The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M Cusumano book and article) redeveloped the browser using Java It was too slow and abandoned Mozilla, the next version, was later developed using C++

Safari : (2003年1月发布)C++

Google Chrome : (2008的发布)C++

Sun HotJava : Java (死于1999年)

Opera : C++ (手机上占用率比较大)

Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time This comes obviously with a few sacrifices, for instance on JavaScript execution

Mosaic : 鼻祖(已死) C 语言



七、邮件客户端

Microsoft Outlook : C++

IBM Lotus Notes : Java

Foxmail : Delphi



八、软件开发集成环境/IDE:

Microsoft Visual Studio : C++

Eclipse : Java (其图形界面SWT基于C/C++)

Code::Blocks : C++

易语言: C++

火山中文: C++

火山移动: C++



九、虚拟机

Microsoft Net CLR (NET的虚拟机): C++

Java Virtual Machine (JVM) : Java 虚拟机:C++



十、ERP软件 (企业应用)

SAP mySAP ERP : C,后主要为“ABAP/4”语言

Oracle Peoplesoft : C++ -> Java

Oracle E-Business Suite : Java



十一、商业智能(Business Intelligence )

Business Objects : C++



十二、图形处理

Adobe Photoshop : C++

The GIMP : C



十三、搜索引擎

Google : 汇编 与 C++,主要为C++



十四、著名网站

eBay : 2002年为C++,后主要迁至Java

facebook : C++ 和 PHP

This line is only about facebook, not its plugins Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift Thrift contains a compiler coded in C++ facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries" Aside the use of C++, facebook has adopted a LAMP architecture

阿里巴巴和淘宝: php->C++/Java(主要用)



十五、 游戏 :

汇编、C、C++

星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界 数不胜数了,自己数吧

都是用C++开发的,C++语言靠近系统地称,执行速度最快。比如你的两个朋友与你分别玩用VB、Java、与C++编写的“跑跑卡丁车”,你玩C++编写的 游戏 已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,



十六、编译器

Microsoft Visual C++ 编译器: C++

Microsoft Visual Basic 解释、编译器: C++

Microsoft Visual C# : 编译器: C++

gcc (GNU C compiler) : C

javac (Sun Java compiler) : Java

Perl : C++

PHP : C



十七、3D 引擎

Microsoft DirectX : C++

OpenGL : C

OGRE 3D : C++



十八、Web Servers (网页服务)

Apache : C和C++,主要为C

Microsoft IIS : C++

Tomcat: Java

Jboss: Java



十九:邮件服务

Microsoft Exchange Server : C->C++

Postfix : C

hMailServer : C++

Apache James : Java



二十:CD/DVD 刻录

Nero Burning ROM : C++

K3B : C++



二十一:媒体播放器

Nullsoft Winamp : C++

Microsoft Windows Media Player : C++

Microsoft Windows Media Player : C++



二十二:Peer to Peer (P2P软件)

eMule : C++

μtorrent : C++

Azureus : Java (图形界面使用基于C/C++的SWT,类Eclipse)



二十三:全球定位系统(GPS)

TomTom : C++

Hertz NeverLost : C++

Garmin : C++

Motorola VIAMOTO : 2007年6月,停止服务。 Java。



二十四:3D 引擎

Microsoft DirectX : C++(相信玩 游戏 的同学都知道这个,现在最高版本是DX11)

OpenGL : C

OGRE 3D : C++


二十五:服务器软件

Apache: C

Nginx: C

IIS: C


二十六:其他相关

OpenStack: Python

综述

著名的软件一般是系统软件,软件一般都分为系统软件和应用软件。开发软件分为一次开发和二次开发,比如开发 *** 作系统(系统软件),就是一次开发;在 *** 作基础上进行应用软件的开发,比如开发 游戏 ,就是二次开发。


一次开发的系统软件,要直接调用硬件资源,必须使用简单、直接的底层语言和中层语言,比如汇编和C语言;二次开发应用软件等,因为应用软件的类别比较多的,针对的情况比较复杂和具体,因此可以选择的语言很多,比如,大数据人工智能方面的有Python;安卓手机APP就是Java等等。

这里还有一个误区,其实语言不重要,每种语言都差不多,重要的是开发环境和编程思想。要学习编程开发,学的不是语言,而是对于开发环境工具的使用和编程思维的锤炼。很多著名的软件都是用C等底层语言编写的,但是也可以用其他语言编写,不过很少学C了,其中有商业的原因。(后面会解释)

集成开发环境软件

计算机语言是不可以单独拿出来说的,比如我们说C语言,指的是C语言编译器,而Python语言,指的是Python解释器。而编译器和解释器却都是用C语言编写,是不是很意外,所以著名的软件一般都是系统软件,使用的是C语言,一个语言就要初中水平就可以学会了,但必须了解IDE开发环境。


要使用计算机语言,就必须安装编译器,或者是解释器,程序员是在TXT文本上编写语言的,用编译器可以一次性编译为可执行文件exe,用解释器则可以逐条翻译成机器语言并逐条执行。编译器速度快,解释器可以跨系统,到了别的系统,不需要程序员改写程序,换一个解释器就行了。

IDE集成开发环境具备图形 *** 作界面、编译器、调制器、控制台,是非常重要的开发工具的,只会一个计算机的语言语法,却不会使用IDE,基本上是没用的!

编程思想

很多著名的软件都是使用C等底层语言编写的,而且所用的都是编译器。当然还有另外一个原因,就是编程思想,C语言是面向过程,Python是面向对象。很明显,一次开发的系统软件肯定是面向过程的,而面向具体使用场景的应用软件肯定是面向对象的。


高手可以自由使用编程思想、程序编写时,交替使用各种语言、切换解释器或者编译器,达到隐藏核心代码目的;又或者软件的核心模块采用C等底层代码,保证软件的运行速度。毕竟开发时都是模块化的,不同模块使用不同的方法都是可以的!

所以很多著名的软件,往往是混合着各种语言,核心部分是C,其他部分则根据不同的情况选用不同语言,之所以会这样做,是因为使用C开发软件要耗费大量的时间太。摩尔定律推动硬件发展,软件开发也受到影响,一个软件晚几天推出市场,效果完全不同,所以程序员经常加班赶工,速度才是最重要的。

总结

如上所述,著名的软件是使用C等底层语言、编译器语言、面向过程的语言编写的,更多的是在一个软件的核心部分使用C等底层语言、编译器语言、面向过程的语言,其他则见机行事。

现在主流的语言是java、python和go

按理说所有兼容ARMv8指令集的软件都可以运营在服务器上,如果想让软件与鲲鹏兼容,需要考虑自编软件部分、来源软件部分、商用软件部分和鲲鹏的兼容性四方面,都符合条件即可兼容。而目前鲲鹏已经支持的语言包括编译型的c、c++、golang>=15和解释器jvm>=17(java语言)、perl、python2/3、shell、nodejs。感觉华为云发展得越来越好了,以后可以运营在鲲鹏上的软件肯定越来越多⌄


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12933468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存