游戏软件编程要先学什么
首先,别的都不管,一定要先学精以下数学科目:线性代数、空间解析几何、微积分。
都要学到比较深的程度,千万不能囫囵吞枣,否则往后的压力会越来越大。
现在本科的内容其实不够的,例如quaternion你在课本里就没学,但游戏里绝对用得多。
还有,课本里大概也不会教你怎样判断任意两个多面体是否相交。
这些都要靠自己多钻研、多琢磨,不能满足课本内容的。
然后,看你是侧重图形、物理、还是AI方向。
图形方面,其实基本上就是几何和光学问题,关键是熟悉API(DirectX或OpenGL)。
如果想获得尖端效果,则要先学一些光学基础,然后才能进入可编程Shader的美妙境界。
物理方面,本人经验太少,只能说:这真的是太太复杂了。
AI方面:本人也没经验。
就不多说了。
最后才说C++编程:其实C++编程这东西真的很奇怪。
我们先是在课堂上学了一套东西,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦、不安全啦,等等),反正又得学另一套东西。
搞C++特别是游戏的人,都有一种近乎病态的完美主义倾向,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,什么都加const,其实你就算加了const,人家用强制类型转换,一样可以转成非const)。
还有那个指针,如果你真的用CObject *pObj这样的形式,肯定要被人骂。
他们要用所谓的“smart pointer”。
诸如此类,都相当变态。
其实真的要做AAA级的游戏,简直就和强迫自己开发一套操作系统、加上一套程序框架、加上实现绝大多数的数据结构和算法一样痛苦。
为什么那么痛苦那么麻烦?想想:做一个游戏,本质上就是想用有限的资源模拟出无限的显示世界,而创造这个复杂的世界是上帝才能胜任的事情,那你想模拟它出来,不就是要和上帝竞争吗?(本人不信教,呵呵。
)当然,如果你只是满足比较不那么出众的游戏,或许并不用那么痛苦,随便拿个所谓的“引擎”过来用就行。
或者用C#,也可以吧。
请问开发手机游戏需要什么软件?
首先你有编程基础是再好不过的了。
手机游戏开发的平台是JME,一般不会用到C++。
当然学过C++的更好。
你学的可能是JEE,所以你一定要把JME好好学一下,重点是MIDlet,CANVAS,RecordStore。
此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。
掌握这些就基本上门什么问题了,学的不多,对于一个会C++/JEE的人来说,应该可以在1个月左右学完。
和其他语言一样,JME关键是要多练,自己试着开发几个小游戏出来是不错的练习办法,可以找出你学习上的不足点。
有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。
如果是独立开发手游,那么还要掌握一些基本的软件,如PhotoShop,Mappy,和简单的声效处理。
另外有需求的话可以学学JTWI,特别是Mobile 3D Graphics(M3G)技术,这是以后发展的趋势(由于本人对这块很薄弱,所以不能误导你,就不多说了)。
总之,你就再需要学JME和多练习,就够了。
PS.一般来说JME工程师比JSE和JEE的待遇要好一些。
而且从事游戏行业的上班玩游戏不会被骂。
如果哪天你闲着无聊和同事聊天聊的太嚣张被BOSS看见了,他第一句应该是说“有闲功夫多玩玩游戏,闲聊什么天!。
”手机游戏制作 全球手机顶尖游戏3d motoracer 制作全揭密 图文_吴刚 北京数位红软件应用技术有限公司执行董事 林志强 数位红nightmare ii首席三维美术设计师 王科 数位红motoracer3d首席三维美术设计师 3d motoracer 是数位红公司开发的一款针对nokia s60设备及sony ericsson p800 (uiq)的3d游戏,该游戏上市几个月来,已经成为全球最畅销的nokia s60、p800游戏应用前三名之一。
本文就是对3d motoracer 的开发过程进行大致的介绍。
i. 游戏引擎的准备 在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。
数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎:dragon bone game engine for mobile phone(龙骨),他可以支持目前大部分的高端移动设备,它不仅可以使程序开发人员及游戏项目节省了大量的时间,另外还可以让美术人员最直观的看到其设计效果。
它最大的价值就是可以使开发人员的一套代码在不需要改动程序的情况下编译运行在不同设备平台上(改动不超过20%)。
目前数位红及其他公司已经使用它开发游戏超过了30款。
引擎提供了非常完善的9个模块与3个增强模块,可以完全满足各类游戏开发的需要。
游戏引擎可以直接嵌入到开发者的程序中,不需要额外的支持程序即可使所开发的游戏独立运行。
游戏引擎简单、易用,编译后体积很小,占用内存也很小,可以节省玩家的内存空间及无线下载费用。
基本引擎包含9个模块,引擎函数界面提供了类似windows的使用模式: 1、 文件操作模块:提供类似标准c的fopen,fclose等函数。
2、 内存管理模块 3、 2d图形图象模块 4、 对话框模块 5、 sms操作模块:可以在程序内部对sms的收发进行截获处理。
6、 加密模块:提供识别使用设备的imei功能,用于软件的加密目的。
7、 声音模块 8、 资源打包及压缩模块:可是使最后发售的软件包体积变小,尽量少的占用用户的内存空间。
9、 常用函数:如字符串操作等函数。
10、例子:提供一套完整游戏magicline的源程序。
引擎增强模块构成 其增强部分,包含三个模块: 1、 实时3d增强模块 2、 声音增强模块 3、 图形文件增强模块 ii. 正式开发的前期工作 a. 开发工具的准备 在很多人看来,手机游戏还是一种很新鲜时尚的玩意儿,所以,谈起手机游戏的时候难免有种莫测高深的感觉。
其实,手机游戏的整个制作过程十分简单。
从某种角度而言,它是一种传统的回归,同时也是新旧技术的相互融合。
最常用的开发工具有vc++,j builder及codewarrior,在设计工具上则更是和普通的pc游戏制作软件没有大的区别。
有的设计人员更愿意使用“骨灰级”的二维设计工具dp,也有人愿意用3dmax、maya建模之后再进行二维修改,当然所有这些方法都要根据游戏的最终设定来决定。
我们在做java游戏的时,一般都是采用像素级的二维绘制完成图片,即逐个像素点的完成。
但在制作pda等类似设备的游戏时,就会采用3dmax或者maya建立模型,渲染后再修整。
在设计过程中,我们也与大多数游戏公司一样使用了maya、3dmax、photoshop、painter等工具。
b. 确定游戏的各项参数及目标设备 这要求程序人员能给出准确的图片限制大小,即所有图片允许美工占用多少空间。
由于手机游戏的制作受数据量的限制很大,所以我们在设计游戏时,经常为减少1k空间大小而大伤脑筋。
另外,就是需要准确了解该手机允许的色彩数、分辨率、整屏刷新率,其实这也是对游戏引擎的一种测试。
以motoracer 3d为例,我们设想使其运行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平台上。
在数位红,由于我们拥有了自主开发引擎dragon bone game engine for mobile phone,游戏引擎是跨平台的,所以这一步骤我们就省去了不少时间。
我们以nokia 7650/3650为最初调试蓝本,原因是在这些设备中,nokia 7650/3650的速度相对较慢,屏幕尺寸也相对...
想学软件开发和游戏编程报什么专业?
-很明显是软件工程- -你报了后- -后期软件工程- -也会分- -很多专业的。
。
- - 不过真要我说- -大学基本就是自学--大学那种- 程度和- -专门的培训机构学习出来的- -和工作室那种的人比起来 差距太大 这只不过是从专业能力整体上说的- - 当然大学也有牛B的人 - -看自己罗
游戏软件是怎么样做的?用什么软件?
大型软件一般是用计算机高级语言(最常见的是C语言)编程后经调试编译而成的。
通常也不是由单个人完成的,而是至少组成一个研发小组,分解任务后,由小组成员各自负责,最后联合调试而成。
编程也不是所有的源代码都得自己编写,通常有很多是利用已有的源代码成果。
你也可以用VB编写出简单的游戏程序。
一般游戏编程用什么语言和软件
一般分二种:网络游戏和手机游戏。
网络游戏有2D和3D,主要用的语言是C++,用的软件是VC,还需要DIRECT包,用于DIRECT编程,一般单机小游戏用的是SDK或MFC编程。
手机游戏用的语言是JAVA,用的软件很多,现在比较流行ECLIPSE,还需要一些J2ME的插件。
想学游戏设计的话,可以去这个网上看看:http://www.gameres.com/
【如何开发游戏软件】如何开发游戏软件和制作需要什么样的编程呢
目前通用的编程语言有两种形式:汇编语言和高级语言。
展开全部 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序通常由三部分组成:指令、伪指令和宏指令。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。
[NextPage] 学习编程,从何入手 如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧! ============================================== 方案一 Basic语言 & Visual Basic 优点 (1)Basic 简单易学,很容易上手。
(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点 (1)Visual Basic 不是真正的面向对象的开发文具。
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。
它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品。
对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。
Basic/Visual Basic简介 ============================================== 方案二 Pascal语言 & Delphi 优点 (1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。
缺点 Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
综述: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。
Pascal语言简介 Delphi简介 ============================================== 方案三 C语言 & Visual C++ 优点 (1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
缺点 对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述: VC是程序员用的东西。
如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。
C语言简介 ============================================== 方案四 C++语言 & C++ Builder 优点 (1)C++语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
缺点 由于推出的时间太短,关于它的各种资料还不太多。
综述:我认为C++ Builder 是最好的编程工具。
它既保持了C++语...
游戏编程问题红白机游戏是用什么软件做的(扩展名*.nes)?哪里
你可以参考这篇文章《用什么语言做游戏》 简单的说现在的游戏还是用C、C++和汇编混合编程的,因为游戏的性能要求很高,而C系列是性能最好的高级语言了,尽管它存在许多别的方面的缺陷。
外挂和游戏不一样,不是绝对追求效率,但要很方便的获取和干涉游戏信息,最好根据实际需要,从汇编、C、C++、VB和Delphi中等语言中选择最合适的。
一般游戏编程用什么语言和软件
展开全部 一般分二种:网络游戏和手机游戏。
网络游戏有2D和3D,主要用的语言是C++,用的软件是VC,还需要DIRECT包,用于DIRECT编程,一般单机小游戏用的是SDK或MFC编程。
手机游戏用的语言是JAVA,用的软件很多,现在比较流行ECLIPSE,还需要一些J2ME的插件。
想学游戏设计的话,可以去这个网上看看:http://www.gameres.com/...
可爱FFFF