开发一款游戏需要什么软件?

游戏开发是指使用计算机编程语言,如C编程语言、C++、java等。,要在电脑、手机或者游戏机上写游戏。目前流行的游戏开发语言是C++编程语言,流行的游戏开发接口是DirectX9.0,还有OpenGL和SDL(SimpleDirectMediaLayer)。现在手机上玩的游戏分为Android和IOS两个不同的平台,分别使用eclipse/MyEclipse和xcode。现在一些跨平台的编程引擎也很流行,比如cocos2d-x,unity3D。

接下来,我们来看看游戏开发的历程。游戏开发的课程不仅包括理论知识,还包括软件操作。

C++程序基础:通过学习C++语言,打好编程基础。使用VS.net2005编译器高效地构建代码。

算法和数据结构:通过学习算法和数据结构的基本概念,了解常用的数据结构和相关的抽象数据定义,了解计算机求解的基本思想和方法。

Win32程序介绍:通过API和MFC的学习,熟悉Windows环境下编程的基本方法。用DirectX绘制2D图形。

游戏数学与智能应用:坐标系、向量、矩阵、几何碰撞、物理模拟、人工智能、游戏中的寻路算法。

2D游戏技术与应用:2D游戏技术介绍,游戏地图系统,GUI系统,战斗系统设计,任务系统优秀声音引擎BASS,Cocos2D-X引擎,Box2D物理引擎。

游戏开发常用的软件有C++、DirectX、Box2D、Cocos2d-x、Unity,我们也不能说哪一个是最好的,因为它是游戏开发过程中必须使用的软件,必须精通。

C++是在C语言基础上发展起来的通用编程语言,应用非常广泛。

DirectX(简称DX)是微软公司创建的多媒体编程接口。

Box2D是一个模拟2D刚性物体的C++引擎。Zlib许可证是一个自由软件许可协议,但它不是copyleft。

Cocos2d-x是一个开源的移动2d游戏框架,在MIT的许可下发布。这是C++Cocos2d-iPhone项目的一个版本。

Unity是UnityTechnologies开发的多平台综合游戏开发工具,允许玩家轻松创建3D视频游戏、建筑可视化和实时3D动画等互动内容。这是一个完全集成的专业游戏引擎。

首先,你有编程基础是很棒的。

手机游戏开发的平台是JME,一般不用C++。当然学过C++的更好。

你可能正在研究JEE,所以你必须学好JME,重点是MIDlet、CANVAS和RecordStore。另外,要明确MIDP1.0和2.0的特点,如果和网络有关,需要学习MIDP网络编程。掌握这些基本都是问题,没学到多少。对于一个懂C++/JEE的人来说,我应该能在1个月左右完成。

像其他语言一样,JME的关键是多练习。尝试自己开发几个小游戏是一个很好的练习方法,可以发现自己在学习上的不足。如果可能的话,游戏应该在真机上运行,因为在模拟器上运行和真机上运行是不一样的。

如果是独立开发手游,也要掌握一些基础软件,比如PhotoShop,Mappy,简单的音效处理。

另外,如果有必要,可以学习JTWI,尤其是Mobile3DGraphics(M3G)的技术,这是未来的发展趋势(我不能误导你,因为我在这一块比较弱,就不多说了)。

简而言之,你需要学习JME,多练习,这就足够了。PS。一般来说,JME工程师的工资比JSE和JEE高。而且在游戏行业玩游戏也不会被骂。如果有一天你无聊和同事聊天,老板看到你,他的第一句话应该是“有空多打打游戏,聊聊天!”。"

手机游戏制作

全面披露世界顶级手机游戏3dmotoracer的制作

图文_吴刚北京数位红软件应用技术有限公司执行董事。

林志强数位红nightmareii首席3D美术设计师

王珂数码红摩托3d首席3D美术设计师

3dmotoracer是数位红公司开发的一款适用于nokias60设备和sonyericssonp800(uiq)的3d游戏。连续几个月成为全球销量前三的nokias60和p800游戏应用。本文是对3dmotoracer开发过程的总体介绍。

一、游戏引擎准备

在制作一款游戏之前,你必须要有一套经过长期测试,并且适用的游戏引擎。

数位红花了两年时间开发了一款基于移动设备的游戏引擎:dragon bone game engine mobile phone,目前可以支持大部分高端移动设备。不仅为程序开发者和游戏项目节省了大量的时间,也让美工们最直观的看到了它的设计效果。它最大的价值是开发者的一套代码可以在不改变程序的情况下编译运行在不同的设备平台上(改变不超过20%)。目前,数位红和其他公司已经用它开发了30多个游戏。

该引擎提供了9个完善模块和3个增强模块,完全可以满足各类游戏开发的需求。游戏引擎可以直接嵌入到开发者的程序中,开发出来的游戏可以独立运行,不需要额外的支持程序。游戏引擎简单易用,编译后体积小,占用内存少,可以节省玩家的内存空间和无线下载费用。基础引擎由9个模块组成,引擎功能界面提供了类似windows的使用方式:

1,文件操作模块:提供类似标准c的fopen,fclose的功能。

2.内存管理模块

3.2d图形图像模块

4.对话模块

5.短信操作模块:可以在程序内部拦截和处理短信的发送和接收。

6.加密模块:提供imei功能识别所用设备,用于软件加密。

7.声音模块

8.资源打包压缩模块:但是最后卖出去的软件包体积减小,尽量少占用用户的内存空间。

9.常用函数:如字符串操作。

10,例:为magicline提供一套完整的源程序。

发动机增强模块组成

其增强部分包括三个模块:

1,实时3d增强模块

2.声音增强模块

3.图形文件增强模块

二。正式开发的准备工作

A.开发工具的准备

在很多人眼里,手游还是一个很新鲜很时尚的东西,所以说起手游难免有一种深不可测的感觉。其实整个制作手游的过程很简单。从某种角度来说,是一种传统的回归,也是新旧技术的相互融合。最常用的开发工具是vc++、jbuilder、codewarrior,设计工具和普通pc游戏制作软件差别不大。有些设计师更喜欢使用“硬核”二维设计工具dp,有些则愿意在用3dmax和maya建模后进行二维修改。当然这些方法都要根据游戏的最终设定来决定。我们玩java游戏的时候,一般都是用像素级的二维画图来完成画面,也就是一个像素一个像素的画。但在用pda等类似设备制作游戏时,会使用3dmax或maya进行建模,渲染后再进行裁剪。在设计过程中,我们也像大多数游戏公司一样,使用了maya、3dmax、photoshop、painter等工具。

b、确定游戏和目标设备的各种参数。

这就需要程序员给出一个准确的图片极限大小,即所有图片允许美工占用多少空间。因为手游的制作受数据量的限制很大,所以我们在设计游戏的时候,往往会很头疼缩小1k空间的大小。此外,还要准确了解手机允许的颜色数量、分辨率、全屏刷新率。其实这也是对游戏引擎的一个考验。

以motoracer3d为例,我们设想它将运行在nokia9210、nokia7650/3650、sonyericssonp800和pocketpc平台上。在数位红,因为我们有自己的开发引擎DragonBoneGameEngine mobile phone,而且游戏引擎是跨平台的,所以这一步我们节省了很多时间。我们使用nokia7650/3650作为最初的调试蓝图,因为在这些设备中,nokia7650/3650相对较慢,屏幕尺寸也比其他设备小,所以是基于它最合适的设备。

下表中,我们设计了motoracer3d的基本技术参数。

达到目标和要求的技术参数。

图像刷新率>;18/秒

文件安装完成大小

文件安装时没有大小

内存使用峰值

游戏在使用过程中会占用内存

游戏和操作系统兼容性nokia9210、nokia7650/3650、sonyericssonp800、pocketpc

游戏图形特效列表没有alpha。

图形文件

声音文件。声音资源文件

数据定制

目录结构/更改文件列表

使用了未知的动态链接库。

以下是初步估算后的基本图片列表:

跑道外的沙草元素

跑道边上指示方向的标志。(左和右)

跑道地面要素

背景中的天空图。

起跑线。

选择时获取汽车地图(4张)

比赛前站立的背影(4张)。

比赛期间,车手和人的背图共4套(每套9张,分别为9个角度,从直立位置开始,每15度一张)。)

撞车后的照片(3帧)

比赛结束后,排名屏幕。

速度仪表图。

数字(0-9横向等宽排列,共4组,分别为速度号、档位号和排位号)

菜单背景

topten

按钮

旅游排名背景

C.准备游戏策划

很多开发者认为手游的策划不重要,这是严重错误的。手游的美术和程序开发工作量非常有限,表现力也受到很大限制。所以一款手游如何完成,某种意义上完全取决于游戏策划本身。

在这个过程中,手游策划和传统游戏策划基本相同。但是,游戏策划必须对游戏的运作做出准确的设计。每个手机的键盘都不一样。毕竟pc上的键盘基本都是101。

然后,根据上面第一步给出的美工的空间限制,美工要和策划人商量,严格计算每张图片所占的空间,哪怕是一个小图标也不能漏掉。

以motoracer3d为例,我们的游戏策划做了很多关于物理力学的公式,使得其美工在设计画面时更符合真实效果。

下表:我们展示了每辆赛车的速度特征。

齿轮1齿轮2齿轮3齿轮4齿轮5手柄颜色

车1最高时速(mph)971071351561760.45绿黄。

加速度(英里/小时/秒)211816128

2号车最高车速(mph)为901021271481680.25紫黄色。

加速度(英里/秒)2320181410

车辆3的最大速度(mph)为1021121401601800.65蓝黄。

加速度(英里/秒)201613107

4号车最高车速(mph)为941051331521720.35黄蓝。

加速度(英里/秒)221917139

车辆5最高车速(mph)为104115145161820.75黑红。

加速度(英里/秒)191714107

6号车最高车速(mph)921051331521780.5红黄。

加速度(mph/sec)211815118。

D.艺术和程序开发工作

motoracer地图设计

建立摩托车模型和赛车。

在运行时调整操作。

此外,最重要的是,如果你想做一个像摩托罗拉一样的游戏,你首先应该是一个摩托车专家。motoracer3d的首席美术设计师王珂是一个疯狂的摩托车爱好者。为了攒钱买摩托车,他可以啃一年馒头。责骂

演示测试

以motoracer3d为例,我们的开发周期是6个月。因为有了引擎,主代码的开发周期缩短到3个月。为了保证这个产品有国际水准,剩下的3个月基本都在找问题,找骨头。于是一款位居全球手游销量前三的motoracer3d终于发布了。

当然,数位红像motoracer3d这样幸运的产品并不多,数位红有30%的产品在试玩时因为完整性、操作感等问题没有出来。毕竟,要建立一个优秀的品牌,你必须做出巨大的牺牲。

三。手机游戏制作合集

由于手机硬件的诸多限制和性能差异,我们在开发制作的过程中不可能天马行空的创作游戏,而是要综合考虑诸多因素的平衡。下面列出的是一些关键的性能参数,这些参数直接影响游戏的效果。

分解率

手机屏幕尺寸从80*30到320*240不等,就像pc发展中的cga,ega,vga一样。分辨率直接导致模型的大小和表现力,相信每个设计师都有些体会。另外,由于手机型号和操作系统的多样性,一款游戏不加修改就无法在不同的手机上运行。对于美术设计师来说,在设计之初就要考虑画面的适配性。比如在128×128的分辨率下,200×200的分辨率下,如何在不再次更换图片的情况下达到同样的效果?

颜色数量

目前手机能做到的色彩数量也是限制艺术家发挥的重要瓶颈。从前几年的黑白屏手机到今天的256色、4096色、真彩。数位红在开发游戏的时候接触了很多手机,有的号称显示4096色。但是当我们展示一张4096色的色阶图时,发现有些颜色根本无法分辨。更让人惊讶的是,有的手机还严重掉色。所以设计师一定要根据实际的手机来画图。在这方面,数位红吸取了很多教训。

聪明

液晶屏由于其独特的发光原理,无法达到传统显示器的亮度,同时很多色彩鲜艳的图案在强光下也无法呈现出原本的效果,这一点在手机户外展示时尤为明显。所以设计师在设计手游画面时一定要考虑到这一点,不能把色彩对比度设置的太近,画面设计一定要简洁明快,避免画面过小。

显示速度

在我们接触的很多手机中,动画帧数都无法流畅,甚至达到10帧/秒,这对游戏动画来说是致命的。我们一般采取偏帧刷或者尽量避免全屏动画来达到预期的效果。而且液晶屏本身就有显示速度问题,我们发现很多手机都有“拖尾”图像。这种情况下,在实际游戏中很容易造成玩家的视觉疲劳,尤其是在颠簸的汽车中或者行动中。如果游戏时间太长,会头晕。这样,再优秀的游戏也留不住玩家。

力量

因为手机是液晶屏,所以大部分设备在高亮度像素显示和一般像素显示时功耗都不一样。例如,白色背景比黑色背景消耗更多的电池能量。所以对于手游来说,尽可能的节省玩家的电池是一个考虑因素。

手机游戏开发中的几个误区

很多想开发手游的朋友都对手游充满幻想。像这些朋友一样,数位红在他们的脑海中有许多想法等待实现,但一旦游戏真正开发出来,我们发现它不切实际。这里有一些常见的误解与你分享:

将电脑游戏移植到手机上

游戏在pc上占用的空间已经按百兆计算了,而很多手游是按k计算的,大部分手游能装60k游戏就不错了。

J2me游戏可以在各种手机上运行,无需改动。

J2me有一个midp1.0的移动设备标准,但是各个手机厂商在推出支持j2me的手机时,都进行了扩展甚至改动。一个程序要想达到最好的效果,必须针对不同型号的手机。

用java开发手机游戏比用c++好

用java开发手机游戏非常方便,但在效果和性能上很难和c++代码相比。比如在symbianos/wince设备上,我们还是建议尽量使用c++。

java开发的应用程序占用的空间很小。

开发小应用时,java程序确实占用空间少,但如果游戏项目太大,java游戏的小优势就很难体现出来。

手机游戏策划和传统游戏策划没什么区别。

手机游戏的策划有很多禁忌,需要策划人员充分了解手机的技术性能,才能做出有针对性的优秀游戏。

美术可以画一幅大图,然后缩小。

如果把大图缩小到12*12,效果可想而知。

1.建筑3

一个适合小白的游戏开发软件不需要自己编程。游戏开发工具完全由GUI驱动,游戏逻辑和变量由应用本身提供的设计功能实现。

2.GameMakerStudio2

与Construct3一样,GameMakerStudio2允许您使用其变量和游戏逻辑的拖放界面来创建整个游戏。然而,与Construct3不同的是,GameMakerStudio2通过其GameMaker语言被赋予了更多的功能。目前是最受欢迎、最活跃的免费游戏开发引擎之一。

3.一致

Unity最初是一个3D引擎,但在2013中,增加了2D官方支持。虽然它完全有能力创建2D游戏,但你可能会遇到意外的错误或失败,因为Unity的2D系统实际上已经加入了其核心的3D系统。这也意味着Unity给2D游戏增加了很多不必要的麻烦,可能会影响性能。

4.戈多发动机

Godot支持2D和3D游戏的创作。不过和Unity不同的是,Godot的支持要好得多。引擎的2D方面从一开始就经过精心设计,这意味着更好的性能、更少的错误和更干净的整体工作流程。

5.虚幻引擎4

在这个列表的所有工具中,UE4是最专业的。它是由虚幻系列背后的天才创造的。他们知道顶级引擎需要什么,需要什么来提供下一代的功能。他们很清楚自己在做什么。

"