也谈智能手机游戏开发中的分辨率自适应问题

现在市面上的智能手机品种可谓浩如烟海,其分辨率也千差万别,在开发手机游戏时,势必会遇到如何自动适应分辨率的问题。我前段时间在开发的一款跨平台的手机游戏引擎,自然也遇到了这个问题。这款引擎的名字叫《OGL2D》,使用者可以开Windows下方便的开发和调试游戏,完成后可以编译到Android和IOS操作系统上。在确立设计目标时,我们要求其自动适应目前主流的分辨率:如240X320,320X480,480X800,480X854,640X960,768X1024,800X1280。以下是我对这个问题的一点点体会。

问题的提出

面对这个问题,懒惰的开发者会毫不犹豫的说,我只支持最基本的分辨率就行了,其它的交给操作系统去处理吧,比如Android和IOS都只用支持320X480,系统在运行时会自动缩放的。可这样一来,新的问题出现了,对那些买了较高性能的手机的用户而言,他们看到的画面总是模模糊糊的,甚至还有锯齿,这对一个高品质要求的游戏而言是不可容忍的,可以想见,如果一个iPad用户在其768X1024的屏幕上看到的画面是由320X480放大2.5倍的结果,他(或者是她)会说:我的个天,是我的Pad坏了还是我的眼睛出问题了!

问题的分解和讨论的要点

分析一下可知,这个问题可以分解为一下几个子问题:

1、如何为使不同分辨率看到精细的图像;

2、如何在不同纵横比的屏幕上正确控制界面的布局;

3、如何方便分辨率支持的扩充。

这里我不打算详细描述如何使游戏程序使用实际屏幕分辨率以及获取当前分辨率的问题,这些你可以在Android和IOS相关的书籍上学习;这里讨论的当然也不会涉及诸如如何加载图片、如何绘制矢量以及如何访问文件IO流的基础知识,这些你可以在Google或Baidu上查到大量的样例代码。以下讨论的完全是一些策略性的建议,这些建议不一定是最优化的,它们可能存在这样那样的局限性,但请你相信,这些策略至少是可行和合理的。

首先,我们看看如何为使不同分辨率看到精细的图像?

这个问题回答起来太简单了,只要给一些主流的分辨率分别配以相应的图片就行了,这是最直接而有效的。当然还需要注意一点,这些支持不同分辨率的图片分别放在了响应的目录下。比如我们以屏幕的短边的像素作为资源目录路径的一部分,OGL2D的资源目录中就包含的240(代表240X320分辨率,以此类推),320,480,...,800等几个子目录。其中的图片都已经事先缩放为各自分辨率上合理的尺寸。等等,你说的合理尺寸是什么?我的意思是,依据各分辨率短边的比例,将图片缩放至与其各自短边相同的倍数,比如一个按钮,在800分辨率下为100X100像素,那么自然在其320分辨率下的的尺寸应为30X30像素,都是屏幕短边的8分之1。这里的合理尺寸还隐含着这样一个要求,就是这些在不同分辨率下的尺寸最好都是整数,避免出现严重的锯齿。

240:

320:

480:

...

...

800:

 其次,如何在不同纵横比的屏幕上正确控制界面的布局?

从上面的分析中,可以得到一个重要的提示,布局应不依赖于屏幕的分辨率和纵横比,我所采取的策略是,规定一个基础的单位,所有屏幕元素的定位都基于此单位,我选择的单位是一个标准按钮的宽度。在手机上,大多数手机的屏幕都不大,为了更加人性化,按钮不可能做得太小,我选择的尺寸是屏幕短边的1/8或1/10。有了这个单位长度,布局起来就简单了,任何屏幕元素在不同分辨率下,都布局到距离屏幕4个角或中心的标准距离的相同倍数位置,比如游戏中的暂停按钮布局到距离屏幕右上角1.5标准长度的位置。具体位置的像素值并不重要,在运行时刻计算一次就行了,因为用户在玩手机游戏时是不会改分辨率的(呵呵,在写Windows游戏时,需要注意的一些问题,在手机上似乎就不是什么问题了)。

最后,如何方便分辨率支持的扩充?

这当然也是个策略问题,这里指的扩充分辨率支持是指在不修改程序的基础上,仅通过资源包的内容添加就使程序支持新的分辨率。我所选取的策略是,在程序运行时,罗列资源目录下的分辨率目录,再逐一比较这些预先支持的分辨率哪个与当前分辨率最接近,当然大多数情况下会直接匹配其中一个。也有些手机的屏幕分辨率很特别,也没问题,只需要将其短边与最接近的支持分辨率的短边相除,就获得一个缩放比例,在绘图和定位时(如果你使用的是OpenGL的话,一种替代办法是调整观察者的视角和焦距)使用这个比例进行缩放,当然这样同样会有模糊和锯齿,但因为选择的缩放资源与目标尺寸已经很接近了,这样的失真可以控制在一定范围之内。

以上是我在编写跨平台游戏引擎《OGL2D》过程中的一点点体会,不成熟更谈不上什么原则,仅是我所选择的策略和解决思路,供个位朋友参考。那么这个引擎最终的效果会是什么样呢?以下就是用其开发的一款小的动作休闲游戏,还在不断升级更新中,见笑了,呵呵,这是一个初版,移植于我们两年前的开发的一款同名Android游戏。

这是一款最新的体感动作游戏《财神到2》,可运行于各版本的iPhone,iPad和iPod Touch上,Android开发也已经完成,将适时推出。相信很多朋友都喜欢许冠杰的经典歌曲《财神到》,这是一款同名的手机游戏全新上线,伴着财神到的音乐,在春天的朝霞下,在深山的小径上,在缤纷的烟火中,追逐财神的脚步,接收财神的赐福!财神爷已经来到人间,千万不要错过!
官方地址:
http://www.otlive.cn/html/mobile/app/FortuneKing2/iphone_cn.shtml
IOS版本下载地址:
中文下载地址:http://itunes.apple.com/cn/app/fortune-king-2/id496183122?l=zh&ls=1&mt=8
英文下载地址:http://itunes.apple.com/app/id496183122?mt=8

进入游戏,立刻沉浸在一片欢快喜庆的气氛之中,深沉的背景,迷离的烟火,动感的音乐,带你来到财神的福地。这款游戏已经是第2代了,它保留了1代的游戏主线,方便了操作,并添加了新的模式,无论美工还是特效都有了质的飞跃。

进入游戏前,可以点击屏幕左上的头像,可以切换游戏主角。这里头有一个真实的故事,据说在开发期间,制作公司的一位员工将其装在他老婆的手机上,她的同事们立刻都喜欢上这款游戏,但又不约而同的提出一个疑问,为什么游戏中老是一个小男生跑来跑去,难道就运财童子不能是女孩吗?于是游戏就有了选择角色的这项功能。
游戏有三个模式可选:

普通模式:也是成长模式,玩家拖动童子或倾斜手机来控制童子的左右移动,以接住财神播撒的宝物,接得越多,分数越高,连续接中越多,分数越高。接住一定数量的宝物而没有漏过太多,则过关,过关时还依据玩家在本局的发挥奖励分数。屏幕左下方的绿色彩条代表本关完成的进度,屏幕右下方的红色彩条代表漏过宝物的情况。不同的宝物有不同的得分,其中还有两种特殊宝物:接到龙珠将全屏消除得分,接到仙桃的童子将变大。游戏进行中,还有机会启动天女散花,当看见仙女飘在空中时,点击屏幕上半部,宝物会倾盆而下,呵呵够给力吧。

限时模式:在规定时间内接住更多宝物。随着时间的推移,宝物的下落或越来越快,极具挑战性。

小鸟模式:一种接近无限的模式,在漏过一定数量的宝物前,一直继续。当然了随着漏过的数量增多,游戏也将更加紧张刺激,充分挑战您的极限。

游戏集成了GameCenter和九城的游戏社区,去比比看谁更幸运。

天官赐福、三星报喜,在传统的中国文化中,每年新春之际,家家户户张灯结彩,接新纳福,喜迎财神,为来年的好收成好财运祈福。在新年到来之际,《财神到2》震撼发布了!在游戏中您就是运财童子,通过简单的左右移动去接财神播撒的财富和好运。《财神到2》把传统的中华文化融入时尚的动作游戏之中,从音效设置到操作风格,从界面色彩到游戏元素,每个细节都独具匠心,让玩家在欢庆中恭请财神降临!财源滚滚从天而降,接得多,财运旺!

财神到2》由成都原点科技有限公司(www.otlive.cn)开发,好财运从《财神到2》开始吧!
★公司网址:http://www.otlive.cn
★官方博客:http://blog.sina.com.cn/otlive
★官方微博:http://weibo.com/ottec

财神到2》可以运行于多种主流设备上,画面精美,动感十足:
★iPhone
★iPod Touch
★iPad

财神到2》提供友善的操控体验,无论哪种操控方式您均可以任意切换:
★重力感应
★触摸控制

财神到2》提供了三种不同的游戏模式:
★经典模式
★限时模式
★小鸟模式

财神到2》集成了多个社区互动体验,您可选择喜欢的游戏互动社区与网友互动:
★九城游戏中心(The9)
★游戏中心(Game Center)

<Fortune King 2> Description

In traditional Chinese culture, in the annual occasion of Chinese New Year , every household being decorated, celebrating the Spring Festival and enjoy a life of ease and comfort . celebrating the Fortune King, praying for a good harvest and good fortune for the coming year . In the New Year approaching, "Fortune King 2" released fortunately! You are a money dispenser in this game,you can get the wealth and good fortune spreaded by the Fortune King ,by moving around simply. "Fortune King 2" put the traditional Chinese culture into the fashion action game, and from the sound settings to the operating style, from color interface to the game elements, every detail is unique, allowing the player to greet the Fortune King arrival in highly celebrating. Continuous treasure fall from the sky, catch more, better fortune!

"Fortune King 2" action game develop by ChengdDu Origin Technology Co.,Ltd(www.otlive.cn),and good fortune from the beginning of "Fortune King 2" !
★Website:http://www.otlive.cn
★Official blog:http://blog.sina.com.cn/otlive
★Official microblogging:http://weibo.com/ottec

"Fortune King 2" can be run on a variety of major divices and exquisite picture and dynamic full:
★iPhone
★iPod Touch
★iPad

"Fortune King 2" provides friendly control experience,you can switch any control way as you pleases anytime:
★Gravity control
★Touch control

"Fortune King 2" provides three different game modes:
★Classic mode
★Time limit mode
★Bird mode

"Fortune King 2" integrates multiple community interaction experience, you can choose a SNS which you like , to interact with the players:
★The9
★Game Center

 

作者:汪峰 www.otlive.cn

posted @ 2012-02-21 15:19  OtLive  阅读(2130)  评论(0编辑  收藏  举报