㈠ java可以做出游戏么
唉,楼主和我有一样的梦想啊,我也马上大四了,时间真快啊...
这个问题是这样的。
游戏要看是什么游戏,我这里说的是3D游戏,我相信你的意思也不是要做个扫雷,呵呵。
游戏开发常用的框架说白了就是DirectX,OpenGL确实大不如当前了。因为游戏开发大量设计与系统底层的交互,而这恰恰是Java程序的软肋。Java必须使用JNI调用本地库才能实现硬件3D加速,这当然比直接开发的本地代码效率低的多,所以目前用Java做3D游戏的相当少。
但这并不代表Java不能进行3D开发,java.net维护的java3d项目,https://java3d.dev.java.net/,就是一个j2se上的3d API。可以说是3d在Java上的官方实现。
具体说到3D游戏,Java确实是可以做出高水平的3D游戏的。你关注游戏开发的话应该知道一些C++的开源游戏引擎,比如Ogre什么的。Java方面也有比较成熟的游戏引擎,有一个开源项目叫java monkey engine,在JavaOne 2008上还是很受瞩目的,它应该是基于Java3D实现。http://www.jmonkeyengine.com/ 这个是它的网站,上面有很多Demo,你可以慢慢看看。
㈡ unity3d 为什么不用java
游戏引擎,肯定是找快的用,推荐用javascript,然后才是C#。
㈢ Java游戏开发现状和走向怎样开发者该怎么选择
亲,由于技术及硬件技术的不断发展,许多基于Java的2D和3D游戏不断产生,其中不乏大型多人在线游戏。现在让我们来看看Java游戏的开发现状和走向是什么样的。
当然,其实现状并没有听起来那么糟糕,对于不使用Java的大多数游戏来说,根本就只能运行在一个平台上,许多游戏对directx或者opengl的版本有要求,更不要提那些运行在家用游戏机上的游戏了,跨平台是整个游戏业的大问题,Java只是像其他人一样没有把这个问题彻底解决掉而已,但仍然比其它技术做得要好。不过,值得一提的是,在那些不直接使用硬件加速的网页小游戏上,Java确实在稳定性和方便安装上输给了flash;在家用机方面,Java是0,而微软的xna(c#)可以跨xbox360和vista。
4. 网络
Java一向强于解决网络方面的问题,在这方面,Java主要有两个优势,第一是基于applet和Java web start的游戏非常容易更新,不会像其他游戏那样需要用户手动下载全新版本;第二是Java在网络交互的api相对比较友好,而对于大型网络游戏来说,分布式系统非常重要,这正是JCP的巨头们喜欢的东西,可能由于这是一个卖硬件的好机会,sun下了不少功夫开发了project dark star来做网络游戏服务端,由于这个工程还没有到1.0,所以现在也很难说具体好用不好用。
5. 速度
这个没什么可讨论的,基于Java的游戏肯定会比写得很好的c++程序慢,当然写一个好的c++程序所花费的庞大的薪水也是Java不能比的。
Java游戏方面主要的技术
1. Java3D
作为sun公司较早推出的一项3d技术,是一种高度封装的api,构建在opengl和direct3d之上,可以说是最有名的Java的3d技术。由于种种原因(api设计,面向的用户不明确),Java3d一直没有办法流行,不久前Java3d的团队宣布暂停对Java3d新功能的开发,转而为JavaFX开发3d 渲染引擎。同时sun的另一个项目 project wonderland宣布将其渲染引擎由Java3d转为JMonkeyEngine。令人唏嘘的是sun的Java3d再次进入尘封状态,大量基于Java3d的程序和教程都面临一个非常尴尬的境地;令人高兴的是在这一领域终于有比sun做得更好的团队出现了。引用别人对此事的评价:Java3D is dead! Long live Java "3D"!
2. Lwjgl(http://new.lwjgl.org/index.php)
全名为light weight Java game library。作为一个非官方的对Java游戏的全面解决方案,lwjgl将游戏图形(opengl)、音效(openal)、控制输入集合为一,以成为Java界的directx(不是direct3d)而努力。其在图形方面采用了opengl的Java绑定,其函数与c语言版的完全相同,所以对于习惯opengl编程的程序员来说比较友好。目前有大量的Java游戏和游戏引擎是基于lwjgl的,它可以说是Java游戏社区最广为被使用的函数库之一。
3. Jogl(https://jogl.dev.Java.net/)
Jogl是Java对opengl的一个绑定,或者说是opengl接口的Java实现,它是由sun支持的。其语法与opengl完全相同,api也紧跟随着opengl的版本进行更新,而Nehe的opengl范例程序大多数都有jogl版本。去年jogl正式通过jcp审核成为jsr231,是lwjgl的主要竞争者。值得一提的是,jogl项目的领导者Ken Russell曾经声明并不希望jogl成为jre的一部分,因为他认为这样会使jogl的更新周期与jre相同,从而变得过于缓慢。Ken Russell目前全力工作在新的Java plug-in的开发上,而opengl的api也没有进行更改,所以现在的jogl版本将持续较长的一段时间。
㈣ 请问android上的软件是用java语言开发的,游戏引擎用unity3D,语言是C#怎么做软件
你可以这样理解,unity是一个播放器,英文叫player——gameplayer。游戏是运行在播放器之上的。
在unity中,我们更倾向于C#是一种脚本语言。这种脚本是运行在播放器雀陆这个宿主之上的。这就类似与JavaScript运行于浏览器之上。JavaScript离开了浏览器是不能运行的。
(这里不包括特殊情况比如node.js,windows宿主js等)
所谓脚本,就是不编译成本地机器代码(包括java字节码、汇编等),而是由宿主直接负责解释,即游戏播放器负责解释,这就让C#与安卓系统很少发生关系。
如果理解不了什么是播放器,就想想音乐播放器、视频播放器,更加贴切的是早年的flash播放器。flash播放器是可以播放游戏的。鼠消岁腔标、键盘操作,脚本,都是在和播放器打交道。
这个unity播放器,既可以运行于windows,也可以运行于安卓、iOS、浏览器。unity游戏,如何与安卓系统交互,这是unity负责的事。C#只负责通过脚本形式执行游戏逻辑。
注:上面的讨论只是一种简化,实际过程比这复杂,比如虽说是C#脚本但还是要涉及一些编译工作,还有打包、压缩工拿衫作。
㈤ 蜂鸟视图所提的三维地图引擎用的什么底层技术是如何实现跨平台的展现的
蜂鸟视图所建立的三维地图引擎是将传统GIS地图引擎与三维游戏引擎技术相结合,在满足日常三维空间分析的功能上,支持单机应用及多用户大场景下的协同操作展现。简单实用的物理引擎、高质量蠢哗的粒子系统、动画系统、柔春余和阴影及光照系统。
引擎底层使用C++技术基于OpenGL及相应的WebGL、OpenGL ES 技术进行定制裁剪。应用层使用C#、Java、JavaScript语言对于不同系统平台进行封装,确保保证外部接口的统一性,并使其可运行在电脑端、网页端、手机端、以及HTML5的带森行公众号内。所采用的GLTF三维数据格式是国际标准格式,满足VR及室内定位技术的对接展现。
㈥ 怎样做游戏
设计游戏方法如下:
1、游戏制作主要分为3大块,即程序开发、美术设计和游戏策划。
2、程序开发包括服务器端开发、客户端开发。
3、美术设计包括场景、角色、特效、动搭桥画等部分。
4、游戏程序:做游戏程序,需要精通至少一门以上程序语言,比如c语言和c。
5、游戏美术:游戏中的画面都是由游戏美术师来制作的,具体细分为游戏原画、3D游戏模型贴画、游戏动画、游戏特效、关卡美术等,需要学习3dmax、ps、zbrush等软件。
6、游戏策划:游戏策划主要制定世激游戏的规则和玩法,游戏策划需要有较高的综合素质、沟通能知返猛力、理解能力、逻辑思维能力等。
㈦ 手机游戏《家园》是用的那款开发引擎开发的,要求具体的答案
具体那个引擎开发的我也不知道,不过安卓系统开发游戏引擎有8种,
1.Rokon(2D java)
Rokon是一款强大、可扩展、灵活的Android 2D游戏引擎,基于OpenGLES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为2.0.3(09/07/10)。总体来说,此引擎最大的优点在于其开发文档相当之完备,并且项目作者对反馈Bug的修正非常之神速,所以该框架的使用在目前也最为广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也很像)。
最低运行环境要求:Android1.5。
2.Angle(2D Java)
Angel 2D是一个基于OpenGL和C++ 的2D游戏引擎的原型。它最初是由洛杉矶一群电子艺界的雇员用于他们在2008年4月的Game Jam计划。原型提供了许多有用的游戏功能,包括简单的文字渲染、声音、输入映射、 config文件、 path finding和Python脚本。
Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。
最低运行环境要求不详。
3.LGame
LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本,目前最高版本同为0.2.6(31/07/10)。其底层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics 2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本间主要代码能够相互移植。Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息禅搭。
该引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有派高Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版已突破1.2MB,Android版有所简化,大小为500KB左右。此外,该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数J2ME游戏平移到Android或PC版中。唯一遗憾的是,该项目作者至今都没有提供开发文档,只有游戏示例可供下载。
最低运行环境要求:Android1.1。
4.libGdx
libGdx是一款基于Open GLES技术开发的Android游戏引擎,支持Android平台下的2D游戏开发,物理引擎采用Box2D实现。libGdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。它基于Apache License, Version 2.0 协议,对商业使用和非商业使用均免费。单从性能角度来说,堪称一款非常强大的Android游戏引擎,但缺陷是精灵类等相关组件在使用上不够简化,而且文档也较为匮乏。
最低运行环境要求不详。
5.AndEngine
AndEngine是一款基于OpenGL ES技术的Android游戏引擎。AndEngine基于libGDX框架开发,使用OpenGL ES进行图形绘制。同时集成了Box2D物理引擎,因此也能实现一些复杂的物理效果。相比于其他Android游戏引擎,AndEngine的效率优势十分明显。在Rokon(另一个Android 2D游戏引擎)宣布停止更新以后,AndEngine成为Android最为流行的2D游戏引擎。该框架性能普通,文档缺乏,但示例较为丰富。
最低运行环境要求不详。
6.jPCT
jPCT是一款基于OpenGL技术开发的3D图形引擎(PC环境为尘袭尺标准OpenGL,Android为Open GLES),以Java语言为基础的,拥有功能强大的Java3D解决方案。该引擎与LGame(此为2D游戏引擎)相类似,目前拥有PC(J2SE)以及Android两个开发版本。
jPCT的最大优势之一,就在于它惊人的向下兼容性。在PC环境中,jPCT甚至可以运行在JVM1.1环境之中,因为jPCT内部提供的图形渲染接口完全符合所有的Java1.1规范(即使是已经消失的Microsoft VM乃至更古老的Net scape 4 VM也不例外)。
最低运行环境要求:Android1.5。
7.Alien 3d
Alien3d是一款体积非常之小的Android 3D游戏引擎,基于OpenGLES技术开发。为了压缩体积,它根据不同功能采用多jar方式发布(包括alien3d-engine.jar,alien3d-tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d-particles 2d.jar,),实际上,它的核心文件大约只有40KB,所有相关jar的总和也不足150KB。
最低运行环境要求:Android1.5。
8.Catcake
Catcake是一款跨平台的Java3D图形引擎,目前支持PC(J2SE)及Android环境运行(已有iPhone版规划)。该引擎在易用性和运行性能上皆有出色的表现,支持常见的游戏开发功能,诸如精灵动画,音频处理和视频播放等。
最低运行环境要求:Android1.6。
㈧ 网络游戏开发小组:主要负责游戏开发和维护部门需掌握哪些基础知识
游戏开发主要分为三大块工作:
1、程序:包括游戏各个系统的逻辑功能实现及数据管理
要参与这部分工作,必须要会编程。常用的游戏编程语言有C++、Java、ActionScript、Python、Lua等。其中C++和Java比较难,常用于大型3d游戏的底层引擎开含岁发和手机游戏开发,ActionScript、Python、Lua等语言属于脚本语言,学起来相对简单,常用于网页游戏和3d游戏逻辑层功能的开发。程序这块工作很难细分,因为相互牵扯很大,一般只能大致分为引擎层开发、逻辑层开发和交互层开发三个分支,但具体操作上一般一个程序员这几部分都可能涉及到。
2、美术:包括角色、模型、场景、UI、动画以及特效等的设计
要参与这部分工作,必须要有较好的美术功底和计算机绘画基础。常用的设计软件有Photoshop、Flash、AfterEffects、3DMax、Maya以及一些3d游戏引擎自带的建模工具。
这部分工作一般又细分为原画设计、模型动画设计、场景地图设计、特效设计、UI设计等几个分支,每个分支所要掌握的技术也各有不同,因此在游戏公司内的美术部门谈唯睁是分工最明确的。例如做模型动画设计的必须会用3DMax或Maya等3D设计软件,能将平面的人物原画制作成3D模型并做出协调的动作动画,具体我就不细讲了。
3、策划:包括游戏背景、剧情山闹、角色特征、关卡、玩法、战斗数值、经济数值等等的设计
这部分工作对专业技术要求最低,但却是游戏成败的关键所在。游戏行业内有句话叫做“策划人人能做,但要做好很难”。如果你想要做一个游戏策划,那么你不需要专门为此学什么东西(必要的逻辑分析能力还是要的),但你必须要有足够的游戏经验和体会。当然,这块工作也不是那么乱,真要认真来讲,那么策划也可分为剧情策划、系统策划、数值策划几个分支。其中剧情策划主要负责游戏剧情安排和人物对话方面的工作,系统策划则主管游戏各个功能玩法的逻辑设计,数值策划则负责整个游戏中和数值相关的数据规划和平衡。
当然,从游戏公司的角度,所需的人才远不止这三块,还有运营、推广、音乐、活动等等周边的工作。一个人的精力有限,不可能什么都会什么都管。你想进游戏这个行业,你需要先找好自己的定位,到底想做哪一块,然后再根据这块工作的需要去学习相关的知识,累积相关的经验。
㈨ 请问JME是什么意思
是一个非常棒的java 3D游戏引擎。
㈩ 3D游戏开发的问题,懂的再来~~~~~
开发3D游戏所要使用的东带隐胡西主要有:
1、模型;3D游戏使用的模型大多是用3D Max、Maya设计的。
2、纹理贴图;有了模型并不能完美的表现出物体、人物的形态、面貌,还必须为这些模型加上蒙皮(也就是纹理)才能更好的表现细节、增强真实感。纹理贴图通常使用的工具是PS。(其实任何绘图工具都能使用,只不过PS功能丰富)
3、游戏剧本;这个蠢拦就是游戏的内容,一般是使用某种脚本语言来设计(比如:Python)。
4、游戏引擎。这个是游戏的关键,所有的游戏视觉效果都是通过它展现的。前面提到的模型和贴图也是为引擎准备的。可以说,引擎的好坏决定游戏的表现力。游戏引擎就是你所说的“后台代码”(通常不会这么说,你的说法估计是借鉴网页开发的吧:-)),一般使用C++开发,其实任何语言都可开发,只是我们通常会选择速度快、效率高的语言来设计,因为,游携雀戏程序是很讲求速度的:-)
引擎可以自己开发,也可以使用第三方现成的,这取决于你自己。