Android真不适合做游戏,但Google收购Ajax工具厂商,增强Android

来源:互联网 发布:缅甸密松水电站 知乎 编辑:程序博客网 时间:2024/05/17 21:54

Android真不适合做游戏

原文:http://www.eoeandroid.com/thread-1745-1-1.html

 

很多开发者朋友想必很多都是游戏玩家,对于游戏的感情也一定很深。
Android的开放平台,也燃起了很多朋友的游戏梦。

但是Android在发售之后,还有这近1年的表现,让我感觉Andriod平台并不适合制作传统的游戏,请注意我的措辞。而且一段惨痛的经历更加证明了这个想法。

1.首先我这里先说一下我这里的传统游戏

      游戏的范畴很大,文曲星上的推箱子也能算是游戏。这里讲的游戏主要是指一些包装精美,有复杂玩法,游戏时长在100小时以上的游戏。
      对于这样的游戏,如果是资深的玩家,肯定会首先想起PSP、还有NDS,GBA等等。如果范围大一些,大型的PC版的网络游戏也可以被包含其中。
      而且像Android这样的平台推出游戏作品,必然会和这些作品进行比较。那么我们就按照这钟游戏的要求来继续。


2.Android平台没有一个稳定的发展路线

      回顾那些成功的游戏平台,他们的成功,都有一个前提,就是标准。
      起码我的硬件都是同一的,无论我们的主机其他方面再变,起码对于一个游戏制作厂商来说,我们面对的都是同一的机器,我们可以不用不用去考虑兼容性的问题。这就少了很多的工序。

      但是对于Android来说,硬件没有一个统一的标准,而且性能有高有低,这个不统一,就让开发商难以把我全局,如果对硬件的性能要求高了,会失去很多低端机的玩家,但是如果要求低了,又会损失不少的性能。
      这对开发商来说,在一开始做决定的时候就十分犯难。

      随着Android手机的不断发售,这个问题反而不会改善,而且会愈演愈烈。反观iPhone,虽然目前只有3款终端,但是起码在配置上都保持很高的一致性,在iPhone平台上的游戏开发就没有这样的问题。

3. 居然是Java

     其实对于开发者来说,这样的高级语言要比普通的C或者是C++,要更加爱有利于编程。其实Java也是一个优秀的编程语言。

     但是对于游戏开发呢!Java的开发使用的是虚拟机,必然无法发挥出全部的硬件性能。而且之前在手机上已经有了很多优秀的J2ME游戏。所以Android是一个天然的J2ME游戏的承载器,这反而让很多开发者会更加倾向于J2ME。而且现在的Android框架所提供的框架,对于游戏的开发来说,支持得一点都不好。

     NDK的开发,可能会对这一情况有所改观,但是Android游戏环境,必然会受到J2ME游戏的影响。

4. Android是Linux

     这里还要简单说一下,很多游戏的显示模式。虽然2D游戏仍然有很多的市场,但是3D的发展已经成了趋势。其实3D并不一定要做成真正的3D,最主要的是,3D可以利用自己的先天优势,做出更多让人感官强烈的效果。就那最近的《街霸4》来说,其实游戏的模式还是2D的横板,但是用3D的效果就显得更棒。

      Linux则对3D的支持,可是一说是三大操作系统中最差的。Windows虽然核心的代码和性能都很烂,但是DirectX却为开发者提供了一个极为优秀的开发环境。玩家也因为DirectX可以更加统一,硬件的不同,只会影响显示的效果,但是不会影响功能的实现。但是对于Linux来说,问题就大多了!

      而Android平台在这一方面依然做的不好。

      其实对于iPhone,还有PSP平台,他们都有自己的独立的3D加速引擎,NDS的3D很弱,但是仍然可以通过双CPU实现3D的效果。这里还是忍不住要批判Android硬件问题。没有统一的标准,每个厂商如果想更好得支持3D,那么就必须从整个系统,从硬件驱动到中间实现重新来一遍,成本非常之高,这样手机的售价也会攀升,最后没有好的硬件基数,软件再优秀也无法达到盈利。

5. Android目标是手机、不是游戏机

      玩过Gphone的朋友都知道,所有的应用程序,在退出之后,并不会关闭。这样是提高了程序运行速度,并且合理得运用了内存。但是这样必定影响性能,如果我同时,运行一款游戏,那么游戏在Android的这个框架之下,必定无法发挥最大的硬件性能。这个损失可一点都不小。
      而且重要的是,Android是Linux,对程序的管理非常严格。我之前还想,在运行游戏的时候,可以关闭其他的进程,让游戏更好得运行,但是这样天真的想法,都在Linux严格的要求下破灭了。

6. 开发周期

     按照第一点定义的游戏,这里的游戏更应该是一个艺术品。在很多玩家眼中,游戏是与电影、音乐并驾齐驱的作品。那么这个开发就不像是我们的普通的应用开发,应用开发是发现用户的需求并满足用户的需求。
      而游戏则要挖掘用户对新鲜事物的乐趣,我们的开发者要把用户自己都想不到的东西做出来。
      这需要一定长的周期,这个的基础则是一个稳定的环境。如果我们的开发人员在实现一个功能的时候,老是期待下一班的Android
SDK,那怎么能做好这款游戏呢。

      iPhone的
SDK
都是集中某一段时间发布,而且每一次都有很规整,并且大的改变,这样我们的游戏开发公司也能更好安排自己的工作。

7. 你真的想做游戏吗?

     这个也是我切身的一点感受。能做出好游戏的人或团队,必定是有一批喜欢游戏的人,因为只有自己玩着有乐趣,才能将这份乐趣带个玩家。
     但是很遗憾的是,很多开发者还是太过于注重游戏的商业品质,而不是其艺术品质。

     虽然说现在Android上的游戏大多都很烂,但是仍然有一些蛮不错的产品,比如说Hudson公司出的几款软件,虽然是2D的画面,但是因为自己以前丰富的积累,在贫弱的Android平台,依然做出了相当不错的作品,棒球和炸弹人的效果,比起其他的游戏不知强了多少。

     J2ME的时代,正在衰亡!如果真要做游戏,就要想清楚了,做,就要按照一个标准的游戏厂商严格要求自己,如果不做,趁早转行吧!

这七点是我对Android不适合游戏开发,这个观点的阐述。

但是游利卡写这个也不是为了给大家泼冷水的,游利卡也经过了一定的思考。
鉴于现在这样的状况,游利卡认为,进行Android的游戏开发应该朝着这样的路线。

1. 3D很炫,但是2D依然精彩

    3D的实现需要很多硬件的支持,虽然不能做。但是2D仍然有很多绚丽的特效,不说别的《地下城与勇士》的成功,其实也宣告着并不是所有游戏都需要3D。而且通过一些视觉的特效,2D也是可以做出一些立体的效果。
      与其在3D上死磕,不如在2D上加强自己的功力。

      当然如果开发周期本来就订的比较长,那就应该去考虑一下3D了。

2.  试试Flash 其实很多开发人员不喜欢Flash的游戏

     Flash其实做不出特别号的游戏,虽然Android的Flash注定不会很强大,但是一个标准化环境,肯定比动荡不安的环境要更加有利。

3.  弃用Java、拥抱C

     这点是针对上面的第七点来说的,如果真的打算要做一个专注游戏开发的团队或者是厂商,那么就要拿出做游戏的样子。

     从现在开始对自己今后的发展做一定的积累。每一款游戏coding结束之后,将一些优秀的资源整理保留,用做以后的更好的开发!

     文章,写的比较匆忙,可能有些管带还有待商槌,有不同意见的朋友,欢迎讨论

 

————————————————————————————————————————

 

虽然发帖人是版主,不过还是感觉是一大堆的废话

1,PSP,NDS,这样的平台能做游戏,它的原因是什么?CPU啊,如果ANDROID平台集成了3D的显示核心,最少跑跑简单的应用没任何问题,现在G1没3D应用,当然没法做3D游戏,举出PSP这种极端的例子更是不知所谓,PSP就算是用ANDROID做系统,一样能做出很好的效果,硬件底层完全是两个概念的东西,硬拿来比较很让人头晕。
2,100个小时的大型游戏,你确定你没发烧?一般人出门甚至都不拿手机看书,因为手机是拿来联系别人的,游戏功能只是其次,一般的手机游戏控制游戏时间都在20个小时之内
3,JAVA和LINUX,这两个理由很让人喷饭,就是在PC平台上,也没人敢拿这两个来说事情啊。


综上:一大篇的文字,却是拿游戏机对比OS,拿PC游戏对比移动开发,夜深了,言语里措辞不当之处,明天有空再来修改吧:)

 

————————————————————————————————————————

 

很欢迎你的讨论

可是在用户眼中,我不关心G1手机有没有3D加速,我只知道G1比PSP还贵了几百块钱!所以我认为G1应该至少和PSP相近的东西

和PSP硬件上当然没法比。但是如果从系统上来看Android也没有为3D的硬件预留一些接口,我还是希望能完整的看完整篇文章,我并没有说Android不能做出那样的效果,这里是指Android的发展路线,Android的Market的路线。Android是走开放路线,开放则无法统一,没有统一的配置,那怎么能让开发者和玩家放心得开发游戏、玩游戏呢?

我那PSP比,是因为PSP上的开发游戏,开发商可以直接上来,不用为硬件做过多的着想,玩家拿来游戏可以直接玩,顶多是看看有没有一些配合1000、2000、3000的不同版本的外设。

但是现在的Android可以做到吗?

 

对于最后一句话。

这样做对比的确对Android 这样的OS 不公平。
但是我们要看到的不是当前,而是以后的发展,既然同平台的iPhone可以做到的,Android有什么理由做不到呢!

而且以后移动设备的硬件性能越来越强,把对游戏机和PC的要求放在对Android上进行要求一点都不为过。

 

————————————————————————————————————————

 

在android上是无法进行j2me开发的,类库不同。
android的虚拟机是基于寄存器的,这于普通的java基于堆栈不同,速度得到了很大的提示,并不逊于c++,而且openGL在很多方面还是很有优势的。
现在的手机游戏是手机的一个重要亮点,而且随着硬件性能的不断提升,手机将会成为一个很好的游戏平台,但是现在手机上优秀的大型游戏(不是那种简单的小游戏)还是个空白,所以我觉得前景还是不错的,虽然android对3d的支持不是很好,但是随着版本的更新问题应该能解决。
“J2ME的时代,正在衰亡!”其实从j2ME诞生起就处在了一个尴尬的地位,姥姥不亲舅舅不爱,虽然在有些平台上可以运行,但是到处受限制。

 

————————————————————————————————————————

 

我想说的是:手机最基本的用途就是用来通讯的。
它毕竟不是游戏机,把一些大型的操作复杂的游戏弄到手机上面,那的确很有吸引力。
但是电力续航,操作键盘,手机屏幕大小,手机的大小,以及系统的硬件的要求就会很高很高,这些问题又该怎么解决。如果为了满足那些要求,而把手机的体积做的很大,那和小型笔记本又有什么差别。

 

————————————————————————————————————————

 

你说的前三个问题已经解决了,只是暂时还没用到手机上。键盘采取的光学成像原理,只要找一个平整的介质,手机可以将一个虚拟键盘投影到介质上进行操作;屏幕大小现在有一种眼镜相当于手机上的耳机,带上后整个手机的屏幕就会放大。这些方法以后不一定能用到手机上,但是至少证明很多人都在尝试,解决只是个时间问题,按照现在的手机的发展速度,咱们还能赶上。

 

————————————————————————————————————————

 

我觉得针对android游戏方面 不能拿它跟nds psp来比, 毕竟大家侧重点不一样, 不然的话 有了ps3 xbox后 还需要pc游戏 掌机游戏吗! android 作为终端平台, 将作为我们个人所需品的承载者, 毕竟有它的位置, 我们不可能一手拿个psp 一手拿个手机, 两者能够更好的结合不是更好吗。现在android还是发展阶段, 支持的功能也少,也很有限, 针对游戏的框架也没(个人还没发现), 前几天在网上发现的 游戏 crystallight 确实很不错, 创意很好, 画面也很精美! 如果产商在资源加载处理上能更精益求精就更好, 在看这个游戏之前, 我下了个魂斗罗, 刺客信条, 虽然是大公司做的,但是这些都是“手机游戏”的级别,我认为针对做游戏方面,不应该把android当做手机对对待!  昨天开始山寨这个crystallight游戏了, 不知道能不成功! 希望坚持下去, 现在菜单,地图选择包括菜单旋转,射入等效果都已经做好! 真的很佩服做这个有消息的公司! android平台现在虽然不能很好的“做游戏”,但我们自身可以突破这个界限!  说的非常琐碎。楼主应该大力鼓励大家去做哈哈,不然还没加入行列,就被你说的事实吓跑了可不好哈哈

 

java 使程序开发周期大大缩短  而且能吸引大量的java程序员  底层用linux上层用java开发这是 Android最大的特色,当然你也可以直接用C开发

 

————————————————————————————————————————

 

android的硬件没有标准,确实是非常大的一个问题,别说游戏,就连一个普通的带界面的软件,都要考虑不同的屏幕大小问题,SDK的模拟器就自带了好几种屏幕样式。这还不算,如果硬件厂商使用电阻屏(比如联想),在触摸的操作感知上将会有很大的区别!
android虽然开放,但仍然需要有标准来支持,不然就没办法做到“跨手机平台”,试想想开发者为了让某个软件或游戏能正常显示在大部分的android手机上都需要考虑“兼容性”(这在大量的不同厂商的android手机上市后会显现出来,毕竟现在还只有HTC的G1,G2,G3),那么工作量之复杂将难以想象。
如果还想把软件运行到android上网本……OMG!

 

————————————————————————————————————————

 

突然发现完全和LZ不再一个位面啊。。。。。。。。。

1,ANDROID是OS,PSP拼的是硬件,两个概念的东西就不要拿来比,另外,PSP貌似是修改后的LINUX。。。。。
2,手机开发游戏都存在你说的问题,IPHONE是个例外,但是如果出了一个高分屏的IPHONE,那同样的问题将降临到IPHONE身上
3,手机不是游戏机,限制这一点的并不是其它的,而是电池,但是弄一些好玩的,娱乐的东西,当然还是不错的

4,J2ME最火的应用,就是游戏
5,最后,J2ME不会消亡,非智能机的存在是它生存的空间

 

————————————————————————————————————————

 

顶一个,我是做游戏的,也认为android本身就不是为游戏所设计。跟游戏机就不比了,整个硬件规格、寄存器、数据交换的方式都不一样。跟IPHONE比,游戏的运行效率也低的要命。。。系统的机制、JAVA都是很大的瓶颈。总之就是让人郁闷呢。

 

————————————————————————————————————————

 

实际上 感觉an对内存的管理很不好 为什么8G的闪盘 有7G空闲 而内存只有可怜的2M(最近用wifi狂下了N多游戏),莫名其妙地内存没有了 哎 很多游戏都不想删呀。
我知道,这也是一种内存管理策略,为了系统的更稳定性,但是这个代价也忒大点了吧 损失了多少的资源呀,再说很多好的游戏一般都是很大的,这可怜的内存 怎么能够搭载呢。期望2.0能很好的解决这个瓶颈吧

 

————————————————————————————————————————

 

 楼主确实说到不少Android的短板,但个人觉得还是偏颇了点。
做为一个平台,就不可能去限制使用这个平台的硬件设备,如果限制了,平台就难以发展。
IPhone之所以现在硬件规格等都差不多,是因为它刚发展没多久,是由同一家公司所控制,而且相信IPhone今后肯定也会出现许多不同规格的手机。
那Android手机的游戏和专业游戏机去做比较,是不公平的,他们的侧重点是不一样的。
Windows对游戏的支持够强大了吧,但Windows Mobile下的游戏还是不能和PSP之类的专业游戏设备比。
Android还处于幼年时期,可别三岁定终身啊。

 

————————————————————————————————————————

 

GBA上的英雄本色(Max Payne),比PC和PS2上的英雄本色(Max Payne),更加好玩。
GTA2比GTA3好玩。
2D经常超越3D的。Android就做2D游戏,准没错。

 

————————————————————————————————————————

 

 吸引人的游戏不一定要靠强大的硬件做支撑
比如现在的开心网,和魔兽世界相比,哪个更华丽呢?但是照样有不亚于魔兽的受众,而且也不会被归为网络沉迷的范畴。
关键是看你做出来的应用,有没有吸引用户的地方,手机就要开发手机适合的游戏,不同平台之间本来受众就不一样,是不具备可比性的。。

 

————————————————————————————————————————

 

你会每天捧着手机玩上几个小时吗?
手机从来不是将来也不会是适合开发大型游戏的平台.
手机需要的是简单但耐玩,可以随时中断和继续的游戏.
手机游戏的开发者应该时刻意识到.
我们写的游戏很可能是在上WC或等公车时用来打发时间的.
精美的画面和丰富的故事情节并不是取胜的关键.
简单, 趣味性和挑战才能赢得用户的青睐.

 

————————————————————————————————————————

 

楼主说的很有道理,不过我觉得android是一个趋势,加上3G,如果android再增强系统的性能,将来市场会很大的,现在学android没错。

 

————————————————————————————————————————

 

的确不是很适合开发游戏啊!
毕竟现在还不是很成熟,与其开发游戏还是集中精力,开发一些好的android程序.

 

————————————————————————————————————————

 

在android上用JAVA的类性能确实慢,但android也有推出了自己的类功能上是和JAVA一样的...好好看看API吧...还有3D方面你用OPENGL ES开发性能也是可以的,

还有楼主提到(所有的应用程序,在退出之后,并不会关闭)这个确实我觉得不好,
但G1自己有带个DEV TOOLS可以选当玩家退出会关闭程序,但去到G2就没了,郁闷

 

————————————————————————————————————————

 

其实,最同意的还是放弃java,拥抱c,也许和自己的工作有关,android的本质其实就是c,虽有人说android的本质是Java直接面向寄存器,事实是这样吗,事实是,java通过c面向虚拟机,换句话说,HTC的应用它难道是用java作的吗?当然对于我们这些爱好者来说其实c就已经足够,但是随着NDK的在此发布,我觉得越来越多地c的应用会出现的

 

————————————————————————————————————————

 

 

Google收购Ajax工具厂商 增强Android

 

http://tech.it168.com/a2010/0806/1087/000001087254.shtml

 

【IT168评论】Google近日收购了一家名为Instantiations的开发工具厂商,该公司的主要产品是Java和Ajax开发工具,这些工具在Google Web Toolkit(GWT)开发方面表现出色。

  Instantiations已经给客户发邮件告诉他们这一变化,Eclipse Java产品的下载将在过渡期暂时停止,未来新的产品将在Google Web Toolkit博客发布。

  Instatiations的官网已经发布了这一消息

  有分析称,Google这一收购用意不仅在GWT设计工具,更在于Ajax和Java方面。Google所有网页应用都部署了大量的Ajax,而Android应用则使用Java来创建。未来Google很可能推出自己的Google Web Toolkit开发工具,而Android的Eclipse开发环境ADT也可能得到增强。

 

 

原创粉丝点击