最近想要设计款手机游戏,游戏设计我是零起点,于是开始找一些flash小游戏来学习一下。渐渐发现那些设计精美制作精良的小游戏的魅力丝毫不比像EA,GAMELOFT这类大公司的巨作逊色。游戏的魅力在与能让人沉醉其中,可以说能让人痴迷上瘾的游戏无一例外都是成功的游戏。从这个角度来说游戏设计者的初衷就应该是让无差别的玩家痴迷在自己的作品中。

     到底怎么才能做到的呢?每个游戏都是一个独特的世界,存在于画面上的世界,通过键盘和鼠标等设备将玩家的身体和意识“拉进”这个虚拟世界里。使得玩家在意识上把自己视作这个世界里的一部分(通常是游戏的hero或actor),遵循着虚拟世界的每个规则,最好使之暂时忘记现实世界的规则。这种意识替换的作用越强,游戏的可玩性越好,越能使人沉迷其中。
比如:愤怒的小鸟营造的是一个模拟物理的世界,基本规则与现实世界相同,但重力阻力等却有与真实世界有所区别,加上卡通的画风,构成了一个完整的卡通世界。玩家能专心于应用自己的物理经验,将自己的意识关注在操作弹弓上,把自己想象成这个卡通世界的参与者、行为者。

     再比如超级玛丽,是一个幻化的世界,有各种物体和角色组成,玩家的意识化作马里奥,通过有限的动作和能力使玩家参与这个世界的活动。

     所以说制作游戏的基本目标就是创造一个世界,制定行为规则或者创造一个角色让玩家的意识依附其中。

     游戏的乐趣来源于人的本性,最基本的比如求胜心理,比如大富翁;还有收集物品、金钱的满足感;再有高度精神紧张后的忽然如释重负,比如CS。越是能实现现实社会里很少被满足的心理需求越容易受人欢迎,越容易使人沉迷。我想这也是为什么青春期的学生是游戏沉迷的主要群体,一方面他们简单的生活只能给他们展现很有限的满足心理需求的机会,一方面伴随着青春期而来的越来越多的欲望和烦恼驱使他们追求更多的心理满足感。一款好的游戏,恰恰可以一方面带给他们实现心理满足感的机会,一方面也会激发更多的心理需求。

     人的本性之一性就常被游戏设计者拿来做文章,且屡试不爽。各种男性向女性向的游戏在不和谐的国家卖得火热。

     至于游戏世界的规则,玩家作为actor的时候,规则复杂了玩家会抵触,甚至产生挫败感放弃游戏。简单了没有挑战,失去过关后的成就感。规则变化太多让人应接不暇,太少又枯燥乏味。CutTheRope是这方面权衡的很好的例子,游戏分几个世界,每个世界增加一到两种新物品丰富世界的规则,易于学习,同时也逐步增加难度,让过关后的满足感随之递增。超级玛丽世界的规则除了水下关都大体相同,难度增加不大,其变化源于不同关卡里变化丰富的敌人和,隐藏物品也是画龙点睛之笔,直接增加重玩次数。
总之规则层级变化,难度逐渐增加都是游戏的变化方式。

     故事的必要性。有些游戏有故事,有些没有,无疑有故事的游戏创造的世界更能让人信服,从而更快的融入其中,而且也是不同关卡过度的好方法。比如植物大战僵尸,故事就是保卫你得房子免于僵尸的入侵。如果没有故事,没有神经兮兮的邻居,背后的不是房子而是划地为界,植物换成手枪大炮,游戏主线变成不让僵尸过界,恐怕可玩性大打折扣。玩家会不仅想为什么那么多手枪大炮,又是哪来得那么多僵尸呢?加上个故事就好了,爱国为家匹夫有责,管他娘的哪来的僵尸。而如果还是手枪大炮的话,这款游戏很可能会演变成一款血腥打僵尸游戏,受众会大大受限,至少女性玩家和孩子不喜欢这类游戏。我一直认为走可爱、简约路线是手机游戏的倾向,毕竟男女老少都会是手机用户,只有张开怀抱拥抱所有人的设计者才是聪明的设计者。反过来想,改造一些受众受限的恶俗游戏,把他们“萌化”,让他们从良不失为一个好的设计路子。

    关于游戏风格。风格很重要,可以区别你得游戏和其他人的游戏,同样是方块消除游戏,卡通化跟写实化,现代派和古典风又有区别。风格独树一帜,就算玩法再俗也能让人记住。风格的营造全靠画面、音效的统一,画面不能一会卡通一会写实变化突兀,一会是圆润的水晶按钮,一会是平坦的网页按钮。音效也是,一会摇滚一会古典,一会灵异一会激昂会让人迷惑。音效符合画面环境跟游戏节奏最重要。比如休闲游戏画面要简单明快,音效也要轻松舒缓才好。

     对于手机游戏需要考虑的问题我归结以下几点:

    首先受限与屏幕大小,各种按钮和触摸部件的大小需要合理,比如手指触摸物体不应小于0.6cm-0.8cm,否则容易误触。小物体能不用触摸点击尽量不用,反倒是滑动更好控制而且趣味性更强。游

    戏背景不应太多,因为这类图最大,加载耗时耗内存,不宜设计成每关单独一个背景。反倒是设计成不同World每个World包含若干关,每个World背景相同。这样兼顾了性能和UI的变化。UI元素分为两类,共同部分——游戏菜单按钮,背景,英雄的Sprite、音效,独特部分——关卡特有的Sprite、关卡设计数据。共同部分启动时仅载入一次,特有部分在切换关卡或者World的时候载入。这点在CutTheRope里体现的很好,关卡切换动画是载入资源和释放资源的好机会。

    性能上避免把大运算量的工作一次性完成,应该把工作量在各次更新或线程里分步分量均匀的去做。否则画面会不稳定忽快忽慢。

    此外,个人开发的话,设计灵活很重要。因为没有完整的规划和详细的设计,好的设计便于后期改动。也能减少开发周期。比如我现在能想到的几点,基于AndEngine:

    先行开发通用的界面功能,MainMenu,HighScore,Credit,LevelChooser, EndGame,ResourceManager,SceneManager等类。把游戏主体放在Scene类里,开发的时候主要精力放在游戏Scene上,再根据需要开发各个游戏元素类。通用界面只需修改载入图面的名称、大小、位置就能轻松的把界面改头换面。

    共同的关卡参数放在全局访问的类里,一些关卡特定的数据——重力等,可能会在关卡初始化的时候有个初始值,游戏中某个按钮或事件还会修改重力,那么把PhysicsWorld放在全局类里是个好主意。考虑CutTheRope的开发,如果设计前几个World的时候没有考虑重力的改变,后面又忽发奇想想加入重力按钮的话,你只需要加入重力按钮类,生成关卡元素的代码里加入重力按钮的部分就可以了。PhysicsWorld 可以被重力按钮类和关卡数据读入类访问,放在静态数据里比较合适。

    元素的生成和消除,一起消除一起隐藏。如果速度不快处理又多,界面元素逐个出现或逐个消失看起来会很奇怪。
    Box2d里,如果不在绘制线程里消除Body会导致崩溃,在碰撞检测的beginContact,postContact 等几个函数里也是不能消除Body的。一些触摸操作也会导致崩溃,除非在EngineOption里设置把触摸事件放在绘制线程里处理。
    各种类对象避免互相引用,尤其是涉及静态类和资源的情况,否则会出现内存无法释放。总之,高内聚低耦合。

    开发过程,应该尽可能想得长远些,前期调查的充分些,把需求尽早固定下来,减少后期的改动。需要尽早确定的有:游戏世界的规则和玩法、游戏世界的参数(重力、粒子池元素数等)、各种元素的能力以及涉及到的游戏世界的参数、关卡数据结构……然后根据这些信息,确定程序结构:哪些值需要是全局的哪些是类成员。这些都确定了,游戏Scene的结构和流程就明了了。千万别把游戏规则和元素的设计留到后面修改,游戏主体修改会很大很麻烦的,而直接导致BUG。美工的设计,最好绘制矢量图,在生成PNG,美工可能会改来改去,有矢量图工程方便些。 音效我不会设计,从小不识谱,只能盗版其他游戏跟网站的。这个不急,可以有时间陆续找,找到合适主题的音效也不容易。Google的音乐库也许是个找音效的好办法,毕竟能根据节奏和心情描述找曲子。

阅读原文:http://blog.sina.com.cn/s/blog_670f9b990100wokd.html


原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
发表评论
表情
emotemotemotemotemotemotemotemotemotemotemotemotemot
emotemotemotemotemotemotemotemotemotemotemotemot
打开HTML 打开UBB 打开表情 隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写
 

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐