游戏开发用到的c 知识点
2025-08-07 4 0
一、有C语言基础想开发游戏,还需要学哪些
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏--Space Travel。他背着老板,找到了台空闲的机器--PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为--UNIX。
1970年,美国贝尔实验室的 Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。
1971年,同样酷爱Space Travel的Dennis M.Ritchie为了能早点儿玩上游戏,加入了Thompson的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。
1972年,美国贝尔实验室的 D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了UNIX。此时,编程的乐趣使他们已经完全忘记了那个"Space Travel",一门心思地投入到了UNIX和C语言的开发中。随着UNIX的发展,C语言自身也在不断地完善。直到今天,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承Thompson和Ritchie之手的代码。
在开发中,他们还考虑把UNIX移植到其他类型的计算机上使用。C语言强大的移植性(Portability)在此显现。机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha,SPARC和ARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1977年,Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。1989年,ANSI发布了第一个完整的C语言标准--ANSI X3.159-1989,简称"C89",不过人们也习惯称其为"ANSI C"。C89在1990年被国际标准组织ISO(International Standard Organization)一字不改地采纳,ISO官方给予的名称为:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被简称为"C90"。1999年,在做了一些必要的修正和完善后,ISO发布了新的C语言标准,命名为ISO/IEC 9899:1999,简称"C99"。在2011年12月8日,ISO又正式发布了新的标准,称为ISO/IEC9899: 2011,简称为"C11"。
二、学手机游戏开发需要学什么
1、首先要有Java基础
安卓是基于Java的,所以想要从事android开发相关工作一定要先有一定的Java基础知识,这里的Java基础主要包括两方面:JavaSE基础和JavaWeb开发基础。
2、JavaSE基础
JavaSE是整个Java的核心,其他所有的Java相关知识点,都是在JavaSE的基础上进行的扩充而已。所以对JavaSE的学习,需要牢固掌握Java的基本语法、理解面向对象的一些概念、Java异常、集合框架、JavaI/O,反射、泛型和多线程以及网络编程等知识。
3、JavaWeb开发
JavaWeb的主要内容包括:
Java解析XML文件DOM4J、MySql数据库的应用、多表连接查询的应用、Jsp和Servlet应用、Http协议解析、Tomcat服务器的应用配置、WebService服务配置应用。
游戏开发引擎开发基础知识
一、游戏开发主要学什么学习的先后顺序1、首先是C++语言。2、只是做windows方面的游戏学习,可以学习下DirectX,这个很方便在windows下做游戏开发。3、如果想制作跨平台游戏,建议学习下opengl/opengles,这是个很强大很专业的图形接口,因为很多平台支持所以适合跨平台游戏制作使用。4、想学习3d游戏并迅速工作,建议学习u3d引擎、ue引擎这些游戏引擎,有了以上的基础学习这些...
4、Android基础
有了Java基础之后还要学习一些android开发的基础知识,包括学Android的基本控件开发和使用、高级控件的使用,掌握布局和自定义控件、Android的数据存储方法,Android的图形编程技术,2D图形的编程,图像的旋转、动画框架等。
5、android游戏编程知识
android开发也分为很多方面,所以从事android游戏开发就要学习一些安卓游戏开发方面的专业知识,包括Android游戏开发概述,SurfaceView的使用方法,物理小球技术碰撞检测技术,游戏引擎基础概念,Cocoa2d-Android引擎使用方法,OpenGLES使用方法,图片、文字和背景音乐等资源的使用方法。
拓展资料
关于大型游戏的开发:
大型游戏(cs已经有些过时了)魔兽世界,星际等等还有国内的剑侠情缘,这类游戏都是大型游戏。开发它们肯定不是一个人能完成的,一般的大型游戏开发绝不是用某种语言这么单纯的问题。
一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是DirectX(Windows平台)——游戏引擎——游戏。DirectX可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但DirectX接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。
此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
参考资料百度百科软件开发
三、游戏开发需要用哪些编程语言,JAVA或者C可以开发游戏不
游戏需要运行到不同的平台上,所以平台也在一定程度上影响游戏开发使用的语言。目前我们熟知的平台主要分为两大类:PC端和移动端。
PC端:使用的编程语言大部分是我们熟知的C/C++,因为我们使用的操作系统如window,mac的底层是C,而使用C/C++可以极大的发挥性能上的优势;
移动端:又可以分为IOS与Android两个方向来说。Android上面的游戏以Java开发居多,大概是因为安卓系统本身就是以Java开发为主的;IOS上面的游戏以object c开发居多,也主要是因为系统本身的因素;
但因为一款游戏要部署到各个平台的成本太高了,所以现在主流的技术是使用跨平台的游戏引擎开发,然后发布到不同的平台。因此现在选择语言主要看主流的游戏引擎使用哪些语言。主流的游戏引擎有:unity,cocos,unreal等。其中,unity是以C#语言为主;cocos有C++、lua、js等开发语言;unreal也主要是以C++为主。
事实上,大部分高水准的游戏是以C++结合lua来开发的。C++负责处理高性能的部分,lua处理逻辑部分来加快开发速度。即使是使用unity引擎,大部分产商也会选择C#结合lua的方式来开发,C#负责核心部分,lua处理逻辑部分。
以王者荣耀为例,王者荣耀团队的相关文章中有明确提到,客户端,也就是手机上的的APP是用的Unity3D游戏引擎。具体的开发语言以C#为主。至于王者荣耀的后端编程语言,基本可以确定是C++,C++到现在都是腾讯公司的核心技术栈,并且游戏领域,使用java/php等语言很难达到游戏对性能的要求,编程难度较大。
如果是想要选择一门语言学习,那么需要考虑自己未来的发展方向,是想做大项目还是做小项目。网游之类的大项目,目前推荐C++和lua。如果是微信里面的小游戏之类的小项目,推荐的是js或typescript。
以上就是关于《游戏开发用到的c 知识点》的全部内容,想了解更多最新游戏下载,免费绿色游戏分享,游戏玩法攻略知识分享请关注本站!游戏开发者基础知识是什么
一、游戏开发需要学什么学习游戏开发需要熟练掌握游戏编辑软件,熟练掌握好这些基础的游戏软件功能就可以了。常用的编辑软件有以下6种。1、3dsMAX:大多数游戏开发公司美工使用,效率较高,可以独立制作游戏中所有美术相关资源。2、MAYA:跟3dsMAX差不多的软件,因个人喜好而定,MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。3、Deeppaint3D:可以直接打开3维...
本文转载自互联网,如有侵权,联系删除