游戏设计_游戏设计模式 - CSDN
精华内容
参与话题
  • 当我去设计一个游戏,一个玩法,包含规则,游戏对象等等一系列的游戏系统,用纸可以写下来,用嘴可以说出来,但是当我想要用程序去实现这一堆东西的时候,就有些无从下手。比如我们大家都会下五子棋,它有一个明确的...

    游戏开发这个世界太广阔了,这篇文章中,我只在程序实现的抽象逻辑上,开一个口子进行一些肤浅的阐述。

    当我去设计一个游戏,一个玩法,包含规则,游戏对象等等一系列的游戏系统,用纸可以写下来,用嘴可以说出来,但是当我想要用程序去实现这一堆东西的时候,就有些无从下手。

    比如我们大家都会下五子棋,它有一个明确的规则“一人一字交替放置棋子,率先5颗连成一线获胜”,在现实世界中,我们不用考虑五子棋的硬件配置,拿一张白纸,画上横纵格子,两人分别执笔就可以完成一场五子棋的游戏,或者是使用正规的五子棋盘和棋子。无论用什么玩,要实现“玩”是很简单的。

    但是在做一个五子棋视频游戏的时候,那就需要把“棋子”“棋盘”这些东西用软件去实现,

    进一步,作为抽象概念的“游戏规则”“胜负判断”也需要软件去实现,这就需要更多的“用计算机思维去思考”。

    于是我花了一些时间,凭借有限的本科计算机基础以及一些自我东拼西凑的自学,总结了一下游戏框架的一个通用设计方案。

    一.随便开个头

    首先阐述一下大的抽象概念,这里也不用被“抽象”二字吓到了,什么是抽象,就是归纳总结出来的结论之类的东西,就像把自行车,飞机,汽车都抽象为“交通工具”一样,这里归纳总结一下这些玩意的共性,于是“交通工具”这一个抽象概念就诞生了。

    视频游戏程序框架,我认为她(she)就是一个循环(Loop)过程性,“开始游戏——杀敌/解密/闯关/…——游戏胜利/游戏失败——开始游戏”,对吧,关键字,循环(Loop)的,过程的。

    进一步对此概念进行细化,衍生出GameState(游戏状态)和GameController(游戏/规则控制器),至于为什么会有这两个概念?我是参考了UE4提供的GameState类和GameMode类,同时也参考了前辈们用Flash写的游戏逻辑,至此我总结为GS和GC两大块,至于更高级的学术阐述,受限于我学识水平目前还做不到。

     二.GameState

    GameState就是对游戏状态的描述,最基本的两个,GamePlay(开始游戏)GameOver(游戏结束),这里GameOver不能理解成玩家平时看见的GameOver,玩家平时看见的GameOver大多表示游戏失败,而在这里,这个概念只是表示游戏结束,因为无论你游戏胜利还是游戏失败,游戏都结束了(GameOver)。

    在此之上,可以进行扩展,例如现在游戏都会有主菜单,也有暂停,或者有多人模式,游戏设置等等,于是我们可以在GameState中添加MainMenu,GamePause,MultiPlay,GameOption等等。

    使用GameState进行游戏状态的管理有什么用?最重要的就是给你一个清晰的编程实现游戏的思路,或者说给你一个入手点,至于方便管理游戏进程,方便后续游戏程序功能性扩展,降低游戏程序各系统耦合性等等,实在太多了。

    至于GameState如何使用?这东西就是用来切换的,作为标识游戏目前状态的一个Flag。

    之前在阅读《游戏人工智能编程案例精粹》这本书中,其中详解了FSM(有限状态机)在游戏AI的应用和扩展,以此联想,对于GameState的处理使用FSM岂不是再合适不过了。《lua游戏开发实践指南》中提到“对于Singleton,无论什么情况下,只要它们提供方便就使用它们”,虽然这句话说的太满,不太符合中国人的思维,也不符合辩证法(笑),但也某种程度上表明Singleton的实用性和广泛性。所以更进一步,使用Singleton(单例模式)的FSM处理GameState,以我来看是极好的。

    当然,以上是抽象概念的阐述,最终用到游戏程序设计上,还得按照一些编程语言的语法和特性来实现,这里,我也给出了一份Unity的C#的原型代码,可以当作伪代码吧。

    Unity的C#的原型代码: 

    publicclassS_GameState : MonoBehaviour {

       publicenumGameState

       {

           GamePlay,

           GamePause,

           GameOver,

           GameReady,

           GameInit

       }

       publicstaticS_GameState Instance;

       privateGameState m_GameState;

       void Awake()

       {

           Instance = this;

       }

       publicGameState GetGameState()

       {

           returnm_GameState;

       }

       publicvoid ToGamePlay()

       {

           m_GameState = GameState.GamePlay;

       }

       publicvoid ToGamePause()

       {

           m_GameState = GameState.GamePause;

       }

       publicvoid ToGameOver()

       {

           m_GameState = GameState.GameOver;

       }

       publicvoid ToGameInit()

       {

           m_GameState = GameState.GameInit;

       }

    }

    补记:

    至于FSM和Singleton,请教谷歌老师是一个很好方法,不过,这里我稍微阐述一些FSM的应用,FSM早些年用于游戏AI的构建,毕竟游戏AI不同于科研领域的AI,游戏AI不是为了让玩家无法战胜而设立的,基本上游戏AI就是一套规律的集合,比如《黑暗之魂3》的第一个BOSS——古达,其中一个规律就是半血之后会变身,变身时候有动画,不会攻击,玩家可以很安逸的砍空一条体力,然后全身而退,这个规律,打几百遍古达都不会变。

    回到原来话题,FSM广泛应用于游戏AI的地位现在基本被行为树取代了,然后FSM现在就专职做起了角色动画的管理,比如第三人称玩家角色的各种动画切换,UE4和Unity都使用FSM进行动画状态切换的管理。

     三.GameController

    说完了GameState,就该说一下GameController了

    GameController就是用来管理游戏规则的了,比如开始游戏了,要生成玩家角色,生成敌人,生成地图等等;玩家按了ESC,要暂停游戏了;玩家通关了,妙极,GameOver;

    所以GameController比起GameState要更加具体,基本上GameController就是要处理GameState切换之后一系列工作,依旧是五子棋,比如GameState从MainMenu切换到了GamePlay,那么GameController就要加载一个载入画面,载入结束后,消掉载入画面,同时显示一个棋盘等待。当然,OnLoading也可以作为一个GameState,至于要不要这个OnLoading的GameState,就归到弹性选项里面好了(笑)。

    这里就需要一个游戏状态的检测,如果游戏某一时刻切换了状态,那么作为GameController就得做点事情了,所以要快!准!狠!

    于是在一个独立线程里面整个一while(true)来不断循环判断是否游戏状态进行了切换

    当然GameController也可以使用一个Singleton来实现,我认为是不错的,不仅可以异步执行,而且很快,充分满足快准狠的需要,而且分离了游戏的渲染线程和逻辑线程,并行优化/劣化好像很不错(笑)——对于一般的小型游戏,多线程可能会杀鸡用牛刀,反而劣化的游戏性能。

    不过现在游戏引擎都体统了一个每帧调用的函数,所以将游戏状态检测放在里面也是很好的,以下,提供一个Unity的C#代码,以供参考。

    Unity的C#的原型代码:

    void Awake()

       {

           Instance = this;

       }

       void Start()

       {

           m_StartWait = newWaitForSeconds(m_StartDelay);

           m_EndWait = newWaitForSeconds(m_EndDelay);

           StartCoroutine(GameStateOperator());

       }

       IEnumeratorGameStateOperator()

       {

           while(true)

           {

                switch(S_GameState.Instance.GetGameState())

                {

                    caseS_GameState.GameState.GameInit:

                        GameInit();

                        break;

                    caseS_GameState.GameState.GameReady:

                        GameReady();

                        break;

                    caseS_GameState.GameState.GamePlay:

                        GamePlay();

                        break;

                    caseS_GameState.GameState.GamePause:

                        GamePause();

                        break;

                    caseS_GameState.GameState.GameOver:

                        GameOver();

                        break;

                }

                yieldreturnnull;

           }

       }

    补记:

    这里使用了Unity的伪线程——协程,方便使用多线程进行参考,同时也为了让代码结构清晰一些。

     四.状态切换

    GameState提供了游戏状态来切换,GameController提供了状态切换后的工作处理,那么问题来了,什么玩意儿来切换GameState呢?

    自然是游戏对象了,GameObejct,玩家角色,Npc,某个子弹,某些触发器,键盘操作等等。回到上面看看GameState的切换函数使用了public,也是这个原因,反正都是static了,稍微裸一点,我觉得颇为不错(笑)。

    回到原来话题,比如玩家角色也许有一个HP的属性,当HP==0时,GameOver,调用一下GameState的状态切换函数,将状态切换称GameOver,这时,GameController检测到了GameState切换了,开始做出响应,很完美。

    当然GameController也可以用一用状态切换,比如一些类似关卡倒计时计算需要写在GameController里面,当倒计时为0是,游戏结束,这时候就需要GameController调用切换函数了。同样的,对于玩家角色的HP检测放到GameController里面也未尝不可,不过这显然不符合OOP的设计原则,这么明显的增加耦合性,软件工程老师要气死。但是我就是要气死他(笑)。

    补记:

    对于游戏对象的分析和设计,我觉得需要综合OOP思想和设计原则,虽然设计主流游戏类型,大多有原型了,比如UE4就很人性化,提供了各种类型游戏原型,这里UML之类工具使用起来也是极好的。当然不能忘了UI的设计,UI是要契合游戏程序的,有效利用GameState是很好的入口点。下一篇我应该会说说UI设计的东西。


    展开全文
  • 一个游戏是如何被设计和开发出来的

    万次阅读 多人点赞 2018-10-03 20:14:24
    我在知乎回答“想要自己做一款游戏,需要学习哪些知识”下面简单列举了四个能力,分别是:程序、设计、美术、音乐。但是碍于篇幅限制,我并没有详细展开来说明每一项能力具体是如何发挥作用,以及发挥作用的形式和...

    我在知乎回答“想要自己做一款游戏,需要学习哪些知识”下面简单列举了四个能力,分别是:程序、设计、美术、音乐。但是碍于篇幅限制,我并没有详细展开来说明每一项能力具体是如何发挥作用,以及发挥作用的形式和功效。如果在学习之前,我们对即将学习的东西一无所知的话,会导致学习中产生不小的迷茫感:不知道为何而学,不知道学了有什么作用,不知道该学习到什么程度。带着这样的迷茫去学习,会导致学习效率低下,容易受挫,甚至会在达到一定程度后动摇自己理想,怀疑自己的学习能力是否有问题。作为以“引导自学游戏开发”为使命的一个专栏,我认为非常有必要解除初学者对于游戏开发的朦胧认识。这也是自学游戏开发专栏第二篇文章的意义之所在,让初学者了解:

    • 一个常规的游戏开发团队有哪些人,每个人具备怎样的能力
    • 一个游戏从最初构想到最终完成开发,会经过一个怎样的过程
    • 团队中的每个人在游戏开发过程中的什么时间,发挥了怎样的作用

     

    在了解完以上三个问题以后,我们会对自己的情况做一个判断,根据自己的情况,再对未来的方向做一个规划。比如说,你是一个喜欢画画的人,想从事游戏相关的美术工作,那么你就应该知道不同的美术工作在游戏开发流程的哪一步需要画什么样的东西 做什么样的美术资源,设计师和技术人员拿到你做的美术资源又会加以怎样的修改和使用,你在后面的学习中应该着重练习哪方面的技术和能力;再比如说,你想成为像我一样技能覆盖面比较广,各个方面都知道一点的开发者,那么你应该如何去组织你的技能,在众多的技能中考虑到你的性格和你的特长,你更喜欢亲自做哪一项工作内容,应该选取哪个作为核心能力,如果今后不做独立开发而是进游戏公司工作,你会站在哪个位置工作?在阅读完本篇的正文后,你会开始思考这些问题,并尽快找到一个大致的答案。

    预先了解我们即将从事的工作,预先概览我们即将学习的知识,这件事对于引导我们前进有重大的意义。为了完成这个环节,我从第一篇文章发布后到现在一直都在筹备此事(边看春晚边做配图)。要让任何一个从没接触过游戏开发的人,在一篇文章的篇幅内了解整个游戏开发的全过程,这件事情真的是非常难。我认为真正要做好这件事情,需要一个纪录片的工作量。要完整地记录下一个游戏从设计师的头脑中 转换到电脑中的过程,然后展现给别人。我本人的搜索能力有限,到目前为止并没有找到一个非常理想的此类纪录片,但是在知乎问题 “有哪些介绍游戏开发过程的纪录片或视频?” 下面,

    @windleavez

     的回答中有非常多零零散散的相关纪录片(在此也感谢他为这些视频做的字幕)。在后文中,我会适当地引用其中一些视频片段以及YouTube上的相关视频来辅助讲解。下面正文开始。

    一、游戏开发团队的人员配置

    一个常规的游戏开发团队有哪些人?我们先过目几张图:

    下图是一个国内很常规的 MMORPG开发&运营 人员配置图。

     

    ↓是几个国外游戏开发团队的人员配置图。

     

    大家把每个头衔看一遍就行了,不用去记忆。从名字当中,或许大家都能猜到某些岗位是干什么的,有些猜不到也没关系,我正要去一一讲解。为了方便阐述,我自己做了一张人员配置图,融合了以上的实战配置和我自己对于游戏开发的理解。(注:为了方便查看,建议另存到本地)下图:

     

    阅读指南:

    • 矩形代表“岗位”、平行四边形代表“工作内容”。
    • 红色:代表设计能力;蓝色:代表计算机编程能力;绿色:代表美术能力;
    • 颜色明度:代表专业性要求;颜色灰度:代表综合能力要求。(非严格遵循)

     

    因为我非常反感国内把Game Designer叫作“游戏策划”的翻译,还有一些其他岗位翻译不准确或是在中文语境中遭到了贬低,所以这张表我特地全部使用了英文名词。每个名词旁边有小小的中文注解,放大到100%即可看清。

    首先一个标配游戏团队中有三大Director:Creative Director(创意总监)、Technical Director(技术总监)、Art Director(艺术总监)。说土鳖点就是:主策、主程、主美。很多新人以为Creative Director(主策划)就是游戏团队中最大的BOSS,可以拍板说话。但其实三大Director上面还有Producer,在公司里Producer上面还有CEO,CEO上面还有Board of Directors。

    在国外的话,Creative Director享有更高的权利,他来决定游戏往哪个方向设计和制作,对于设计上的分歧进行最终决断。Technical Director决定采用的技术方案,制定游戏特需的功能和系统,保证技术组的步调一致。Art Director负责领导制作游戏所需的美术资源,保证游戏画面的美观性和统一性。 Producer更多的是提供三大Director需要的资源和帮助,并保证游戏项目的正常推进和最终发售。当然了,有的制作人本身也担任创意总监的职责,比如说小岛秀夫、席德梅尔。

    (讲个段子)在国内的话,基本情况就是一层压一层,逐级给压力。最上面的投资人想赚快钱,给CEO压力,要求其多长时间内实现多少盈利;CEO把压力分担给制作人,要求其多长时间内必须完工,上线后的ARPPU最好要达到多少;制作人菊花一紧,从身体下面拿出棒子去敲主策的头:“上头要求又提高了,你这个武器合成的系统,把坑给我开到要玩家花20W人民币才能填满。” 主策老王顶着一头包跟跑腿刚回来的执行策划小王说:“你去把升级武器用的所有材料的价格乘个2。” “好。”小王把软中华和剩下的35块钱放到主策桌上,然后跑到主程电脑椅旁蹲下扒着他肩膀:“张哥,上次拜托你们优先查的那个武器合成系统的BUG怎么样了,我现在要改数值能不能起作用?” 老张pia一下把小王打翻在地:“别来烦我,今天美术老赵那边给的模型放进引擎里法线一个都不对,我正在愁这事儿呢!” 小王懂事地爬起来地回到座位,一只手指在屏幕的EXCEL表上游走,另一只手在键盘托里握着手机,继续开心消消乐的第652关。差不多到吃中饭的时候,小王跑到主策位置上:“老大,我去跟程序那边搞了一上午,武器系统那BUG他们还没修好,我现在还改不了数值啊~” “要你有什么用!给我去买份羊杂汤回来!劳资亲自去找他们说去!…………对了加个蛋!”(大误)

     

    段子讲得很有讽刺意味,可能有点过了头,大家看个开心就好。下面我将把人员配置图的每一个角色/工作 带到游戏开发流程中去讲解。

    游戏开发流程

    在人员配置图中还有很多其他的角色,我将在游戏开发流程中逐个说明他们的作用。现在建议大家把 人员配置图 打开放在屏幕的一边,然后把下面这张 开发流程图 打开放在另一边,下图:

     

    这是一个游戏开发流程理想模型。我将按阶段来逐一讲解。

    1、立项阶段:

    一个游戏项目是如何开始的?一般有三种打开方式:

    1.1、始于市场

    一般一个大点的公司都会有市场部,也有专门的市场调查公司,他们的日常就包括收集市场数据、分析数据。市场部的人在完成一次调查之后,会得出一些结论。他们把这些结论交至项目部,Producer拿到数据分析,会决定下一个项目应该做什么样的游戏。然后Producer再把决策告诉游戏设计师,让他们来着手开始设计相应的游戏产品。

    比如说:经市场部研究分析,今年三国题材的游戏,不论游戏玩法类型如何,都比相同类型的游戏拥有更多的下载量,预测明年三国题材将会保持这项优势;今年传统TOP-DOWN类型的MOBA游戏,总活跃玩家数比去年有轻微下降,但是FPS和TPS类型的MOBA游戏有明显的增量,预测后面几年MOBA游戏市场大流将会从细分类型TOP-DOWN转向FPS。公司里正闲着想做下一个项目的制作人老李拿到这些数据:“噢!那我们就来做一个三国题材的FPS+MOBA游戏吧!稳赚不赔,就这么定了!” 然后老李就找到御用主策老王:“你看我们之前那个项目能不能换个皮变成一个三国题材的FPS+MOBA游戏,或者说你重新设计一个?” 这是Market->Producer->Creative Director模式。

    1.2、始于大佬

    我这里说的大佬一般指那些煤老板啊,房地产老板啊,搞赌博网站的老板啊,做互联网其他领域搞得比较风生水起的各种老板啊,反正就是从来没有接触过游戏行业有钱有人的老板。他们看到游戏行业赚钱快,忍不住也插一脚进来,扔一笔钱招个团队组个公司,做个游戏吧,什么都行,赚钱多的那种。

    事情是这样的,有一天他关掉37玩大天使之剑的网页,抽着闷烟突发奇想:马勒割鸡,那些搞游戏的做这么个辣鸡玩意儿动不动月流水上亿?劳资怎么不去搞一个呢?雾草,就是了,我也搞他妈一个,就不信在自己的游戏里还干不过排行榜第一名那个“熊爸傲哥”。于是他就打电话给二把手:“强子,给我他妈的招个游戏开发团队,对,劳资要做个游戏,就做个37玩大天使之剑那样的!” 后来?后来策划老王、程序老张、美术老赵把这个煤老板的钱分摊拿去交各自的房子首付了,项目糊弄几下,上线前几天一起离职,组队去了另一家公司,老李的手下。

     

    1.3、始于游戏设计师

    曾经有一个少年,他从小学时就一直玩游戏,一直玩到高考玩脱。考了个三本。在大二的某一天,他突发奇想:“诶!如果把这个想法做成一个游戏,简直太绝了!前无古人啊,一定敲好玩!估计小赚个一两亿没问题,嗯~” 于是他找到下铺商学院的小李,跟他激动地分享了一下这个想法。小李一脸凝重地点着头:“好像还行,不如这样吧,先去网上搜搜看到底有没有这个类型的游戏嘛?或者说看看会玩这种游戏的玩家大概有多少他们会花钱买嘛?……” 时光荏苒,十年过去了,在落地窗前站了许久的老王,突然浮现出异样的笑容,屁颠屁颠地跑到老李的办公室:“老李我跟你说,我刚刚想到一个绝妙点子,是这样的……&*%&……¥……&” 老李一脸凝重的点了点头:“好像还行,不如这样吧,我让市场部那边做个调查,看看你说的这个创意有大市场要达到收支平衡最多能投入多少资金。”

    我写这个段子并没有半点讽刺的意思,只是反映了一下大多数人的情况。实际上,我们少年都是这么过来的。这个叫做Creative Director-> Producer->Market。

    1.4、补充

    以上三种呢,只是游戏行业比较常见的开启项目的方式。一般来说,大的公司更喜欢炒冷饭,把他们现有的IP拿来立项开发续作,这样能保证游戏的销量相对稳定,降低风险。这种方式可以归类于1.1,因为他们是在确定市场的基础上来立项开发的。至于1.2,前几年在国内可谓遍地都是,有钱人都想进来赚个快钱,捞一把是一把。后来做游戏的人中出现了Bad Guy,不靠游戏销量赚钱,而是想赚投资人的热钱,游戏都不好好做了。一堆一堆的垃圾出现在市场上,垃圾中的战斗机没有玩家买单,于是投资人的热钱尽数打水漂,全都变成的那些开发者的个人工资,一分都收不回。中套的投资人多了,知道游戏这个行业已经捞不到好了,于是现在1.2的情况越来越少。相应的是,国内游戏行业的资本寒冬来临,越来越少的投资人愿意来投游戏开发团队了。1.3的情况应该是最理想的,无论是在小型团队还是大公司,我都倾向于一个创新游戏的立项之初是来自设计师的想法。因为玩法是一个游戏的核心,是游戏与电影以及其他艺术形式得以区分的关键因素。 对了,1.3中的少年即小王。相信许多正在看这篇文章的少年都有过小王相似的想法,这是好事。但是我鼓励每一个想自称游戏设计师的少年,在有一个想法后,把它置放一年,期间去读一读游戏设计相关的书,反复构思、打磨、验证你的那个想法。关于一个游戏创意的想法又能从何而来,我在我自己的设计方法论中有系统的理论分析,但现在不是和盘托出的时候。在此我们就假设我们通过某种思考已经得到了一个游戏创意的想法。老王:“我有一个想法,老李,给我几个人让我们来验证它吧!”

    2、原型阶段

    当一个游戏项目成立之后,并不是就会顺水推舟地做下去,一直到上线发售。事实上很多游戏项目会在开发中的各个阶段遭到关闭。关闭的原因很多种,包括资金断裂、成员分歧、发现这个游戏并不好玩。我们知道一个游戏立项之初,基本都有一个想法。但是除了设计师本人,其他人都不知道这个想法到底好不好玩,值不值得做,可能设计师本人也并不知道。虽然设计师可以写出洋洋洒洒的几万字的设计文档,但是从文字上我们也很难能透彻理解其中的精妙之处,就像我们难以用文字来真正了解一份佳肴吃起来是什么味道。但是当厨师把一堆食材塞到我们嘴里的时候我们就知道了。原型阶段就是一个检验 游戏玩法 和 开发可行性 的阶段。在这个阶段,设计师要向技术负责人阐释清楚游戏的玩法框架,游戏中存在的各个系统。技术总监会仔细聆听并斟酌设计师想法,在聆听的时候他的心理活动大概是这样的:他说的这个资源系统,我们上一个游戏的应该可以搬过来套用;这个建造系统,好像和《模拟人生》比较像,回头找找看有没有开源的方案;等等,国界线可以让玩家来的动态划分?这个设定似乎要求地图的无缝切换功能,这会导致开发难度和服务器性能要求上升,等会儿要提出来看看能不能避免这个设计;乳摇是什么鬼?劳资没接触过这种技术,又要研究新东西了……

    图中Creative Director就是游戏的首席设计师。最初,他带着Technical Designer(技术策划)跟Technical Director开会,大致讲解游戏的玩法框架,让技术总监心里有个数,下去要研究下哪些新的技术方案。其中Tech Designer的作用就是负责协调设计和技术的矛盾之处:帮助技术总监处理掉那些技术上根本不可能实现的设计,优化那些会带来技术压力的设计;帮助创意总监在删减掉一些设计后,补充其他廉价的设计来保障游戏系统的完整性。所以想要成为设计师的人,必须要了解到掌握编程能力的重要性。一个不懂程序的设计师,往往会天马行空设计出那些根本不能实现的东西,或是坚持要实现一些对计算机性能消耗很高的设定。《最后的守护者》在立项之初,还没决定采用什么作为玩家的同伴时,本来想过用人(一个女孩),但是设计师们考虑到人的行为十分复杂,要用AI做到逼近自然很难,于是才把目光移到了动物身上。他们观察了猫猫狗狗等各种动物,最后设计出Trico这么个生物。

     

    这是一个很好的例子,他们避免了一个研发的上大坑,但是当时他们不知道一堆羽毛的拟真表现对计算机性能消耗很大(其实开发难度也不简单),就算是在现在的PS4 PRO 上也只有30FPS的表现。如果说十年前上田文人就知道这些的话,我相信现在的Trico可能就不会有这么多毛了。

    在Creative Director和Tech Director会晤之后。Creative Director会带着其他的Game Designers把经过修剪的玩法框架填充完整,把每一个系统细节设计出来,编写成案。在这个过程中,Designers的思考过程可以大致参考下面这个视频。不过要注意这是游戏已经开发完成后设计们说的话,大家可以自行脑补成 他们正在游戏设计的前期 讨论如何设计:

    视频封面

    《魔兽世界:经典旧世》幕后传奇

    视频

    这时这群设计师已经知道这个游戏怎么玩了。为了检验他们的想法是否好玩,之后的一段时间内他们会和Programmers一起把这个游戏做出来。是的,整个游戏做出来,就在原型阶段。只不过哈哈哈,他们做出来的游戏原型差不多长成这个样子:

     

    (第一张图是《战地:叛逆连队》的原型截图,第二张是《美国末日》的原型截图,最后一张是玩家自制的《战地》模拟器:Ravenfield)

    这些设计师和技术人员坐在一起开发出来的东西确实一个个都是ugly baby。Designers和Programmers会创建一堆Box来替代游戏中的任何物体,或者用游戏引擎自带的预设物体来充数。画面中仅有的一点特殊美术资源,也许是Technical Artist顺手做的。这是Tech Artist参与原型阶段的附赠作用,他在此阶段更主要的任务是预先制定美术资源的输出规范,做好美术与技术之间的接口。 一个配备了Designers、Programmers、Tech Artist的小组,在几个月或者一两年的时间里一翻折腾,基本上实现了游戏所有的玩法、系统和功能,甚至技术细节,做出上面那种玩意儿。终于可以邀请一堆人坐在一起来玩这个游戏了,但是得忽略掉画面因素,纯粹地体验游戏性带来的乐趣。这是检验设计师创意的重要环节。现在,我代表Ravenfield的制作者SteelRaven7邀请你,来试玩这款Prototype级别的游戏:Ravenfield (如果你当前不便试玩,也可以通过“Ravenfield宣传视频”来了解它) 没有华丽的画面,没有精致的音效,被剥得赤身裸体的玩法能否给电脑前的试玩者带来乐趣?还是休息室茶几上的可乐和薯片更吸引他?如果这个丑陋的游戏能够让每一个试验者玩得放不下手,那么它毫无疑问通过了原型测试。但是,往往来试玩的大胖子们会点着头认真地说:“嗯……我喜欢你们这个游戏,如果它完成得更好的话。对了我能把零食带走吗?”

     

    Again,本篇文章着重于讨论开发流程,故在此不深入探究设计与迭代的话题。假设大胖子真的被我们的游戏原型所吸引,让我们来吃掉他的可乐和薯片,然后愉快地进入下一个阶段:Alpha阶段。

    3、Alpha阶段

    我们的玩法已经得到了验证,我们的功能已经得到了实现。但是之前的这些,只能算是pre-production。 现在,真正的游戏开发,才刚刚开始。在Alpha阶段,我们最重要的工作就是给有趣的核心玩法,包装上一层美丽的外表。不仅仅是视觉上的,还有很多其他东西。所有的这些事情,从High Level Design开始。

     

     

    3.1、High Level Design

    我翻译为:宏观设计。这项工作,主要是为游戏架构一个可信的世界。我们喜欢把负责这项工作的游戏设计师称作:世界架构师。世界架构师会考虑到游戏的特性、需求,以此为基础设计一个虚拟世界。完全的世界架构,以我的经验为参考,会从“世界法则”开始,然后设计出时间、空间,再之后是自然(以现实为模板就包括:星系、星球、地质、地理、动植物……),最后是文明和历史。当然,我们往往不会从零开始架构(即使是小说家们也不会),而是借鉴一个现成的世界,从中间的某一层切断,保留高层,自行设计低层。就像《魔兽世界》的世界观,改造于D&D与《魔戒》的魔幻架构;《阿凡达》从现实世界中的行星这一层进行了切断,自行设计了其下一层的卫星“潘多拉” 及之后的内容。《使命召唤:现代战争》从现实世界的历史层进行了切断,设计了从2011年之后发生的势力冲突。《俄罗斯方块》从……对不起这个游戏没有进行这项设计工作。在进行世界架构的时候,设计师会充分地考虑游戏的需要,然后才是调动他们对于世界的经验认识和丰富的想象力。在完成设计工作后,他们能回答像下面这样的问题:

    • 这个世界的最高法则是什么?这个法则如何运行?
    • 龙族是在什么时间,什么地点,以什么样的方式诞生的?他们有什么特点?红龙和黑龙分化的原因是什么?
    • 如果自然界中的树木隐藏着比人类更高的智慧,这个世界将会怎样?什么树木是森林的中枢神经?人类是在什么时间,如何发现这一事实的?在那之后人类文明和森林文明是如何相处的?
    • 如果美索不达米亚人在赫剃人进攻之前就掌握了冶铁技术,历史将会怎样?假设古巴比伦王国中有三大势力,他们是怎样形成的?
    • 如果在一个双星系统的星球中存在文明,他们会是什么样子?如果人类和他们接触会发生什么?(请参考《三体》)

     

    看到这些问题的时候,你是什么感觉?欢迎在评论中发言。一个合格的世界架构师,拿到上面任何一个问题,都能够在1秒之内开始回答,并且能够保持叙述20分钟不停口。中间你问他任何问题,他都能够响应你的引导把细节阐述得厘厘入微,并且,在即将完成回答之时,他能够在逻辑上把之前叙述的离散的内容全部联结在一起。世界架构师熟悉天文、地理、政治、哲学、历史、文明、生物、社会,他最重要的技能是:能够一本正经地具有逻辑地胡说八道。(很多人都知道,想要成为游戏设计师,最好上知天文,下知地理,中晓人和,尽可能多地去了解世间万物万事,这,说的就是对世界架构师的要求。)

    在High Level Design进到中后期,Art Director会进入到世界架构师的团队,他会搞清楚那些人的脑子现在都装了些什么。然后会用速涂的方式,来尝试着用画面表现那些人想出来的世界,并与他们确认。随后,Art Director就会开始初次设定游戏世界的画面风格,制定绘画规范。

    来看看《魔兽世界》的世界架构师在工作时想了些什么,视频中也可以看到艺术家为他所画的部分东西:

    视频封面

    《魔兽世界:经典旧世》幕后传奇

    视频

     

    与此同时,技术组会开始着手游戏代码优化或重构的工作。在原型阶段,为了快速实现功能,程序上可能会存在大量的不合理和BUG。好一点的情况是对代码行进优化,补足残缺的功能,修复BUG(这一工作会一直持续到游戏下架的那一天)。差一点的情况就是重新编写整个游戏、使用一个新的引擎或者重新开发一个适合的引擎(很少有专门为一款游戏而单独开发引擎的案例,成本太大了)。技术人员们也会开发一些能够提高工作效率的小工具,向开发组中任何需要人提供服务。

    3.2、Story Design & Concept Design

     

    经过High Level Design的工作,我们有了一个世界。现在,我们要向这个世界中添加一点有趣的东西:故事。故事的核心:某人,在某时某地,做了某事。剧作家们,非常擅长塑造一个角色形象,也能够描绘出精彩的故事场景,制造出具有张力的故事情节。因此往往由职业编剧来负责此事。相对于世界架构师,编剧们在完成工作后会知道更具体的一些事情(任何鸡毛蒜皮的小事):

    • 猎空的父母分别叫什么?来自哪里?什么血型?如何相识?生猎空的那天是哪个医生负责接生?他在猎空的手臂上注入了什么?这与她后来加入守望先锋组织有什么联系?
    • 伊利丹和玛法里奥在幼年时关系如何?他们第一次发生矛盾是什么情况?伊利丹在被囚禁的时候对他的哥哥怒吼了什么?伊利丹所心爱的人与玛法里奥又是什么关系?
    • 维京人把过冬的粮食储藏在了什么地方?他们又把从日本商船上劫掠来的货物堆在哪里?黑石军团从什么地方入侵了他们的家园?黑石军团战盾上的纹理是什么样?有什么意义?

     

    为游戏设计故事不是写小说。在Stroy Telling类型的游戏中,玩家们要控制故事中的角色,和其他具有性格的人物互动,要走进编剧们想象中的街道和战场,改变故事发展的进度或顺序。玩家会从任何角度观察游戏中的人和场景,因此我们必须在视觉上还原编剧们的创作。我们要确切地知道艾米长什么样,她窗外的花园是什么样,她父亲送给她的飞行滑板又长什么样。因此我们需要Concept Artist,来为每一个人,每一个物品,每个一场景设计概念原型。这个概念原型不一定是一张很完整的美术作品,但是任何一个看到它的人,都能够拍着设计师的肩膀说:“我get到了这个感觉。”为了完成这项工作,为了得到一个合适的人物形象或道具模型,Concept Artist可能会绘制几十份概念稿,最后从中挑选出一个。现在,我们来欣赏一下概念设计师的创作过程:
    来自艺术家Cam Sykes的“霍比特人-索恩橡木盾战士”概念设计过程
    来自艺术家Sycra的 飞船概念设计过程
    来自教育网站http://GameSchoolOnline.com的 场景概念设计过程
    为了把握感觉,概念设计师们会大量地创造原型。最后大部分都会舍弃掉,只筛选出最好的一两个,然后为其绘制出线稿。过程请参考下面(大家可能会比较熟悉的):
    来自国内漫画家黄嘉伟的 阴阳师-酒吞童子的创作过程

    也许大家观看后会比较激动,“原来游戏角色是特么这么设计出来的!?教练,我想去学做游戏。”但是我必须在此适时地泼上一盆冷水:游戏领域中任何表面上看起来优雅而轻松有趣的工作,背后都需要大量繁重地练习和学习。就比如设计一个酒吞童子,表面上只是画几根线,但背后至少需要知道的东西有:线稿的绘画技巧、形式美法则、透视原理、人体结构、服装设计、日本传统文化等等。这几样最基础的东西,必须像血一样流淌在你的身体里,才能够进行畅快的设计。下文中每一个岗位和工作,都同样需要掌握庞杂的知识和技能,有的是制作上的技术细节,有的是艺术上的原理法则。在此指出,后文不再赘述。

    工作提交:故事设计完成后会得到一个剧本,其中包含了许多故事发展线,人物介绍,战役介绍;概念设计完成后,会得到一些概念线稿,如下:

     

     

     


    3.3 Stroyboard Design & Evironment Design

    当我们的世界有了故事以后,我们并不是要把剧本寄给玩家,让他们知道这个世界中的每一件事。我们要有选择性地,把一些故事,展现给玩家。如果是硬Gameplay类型的游戏,设计师们会选择用非常隐弊的方式,把故事藏在游戏中。比如说《Dota2》、《守望先锋》,如果我们只玩游戏而不看周边,那么我们只能从游戏中 角色的对话听出一些往事。那些被精心设计的对话,让玩家知道 他们生活在一个真实可信的世界中;而像《英雄联盟》、《梦三国》那样泛泛之谈的人物语音,便让人有一种虚假的戏剧感。如果你的游戏是Story Telling类型的游戏,那么向玩家交代故事剧情就是游戏设计中的重要工作。预先制作一个Storyboard(故事板,本质是“游戏流程”)是值得推荐的做法。在电影和动画中,Stroyboard的设计是一个核心工作,它几乎决定了整个影片80%的内容,观众将严格按照故事板的顺序,把每一个画面看完。在游戏设计领域,故事板是众多元素中的一个。它在Stroy Telling类型的游戏中,对于剧情的发展做一个预览作用。Storyboard会交代:玩家在不同进度时,必然会经过的场景和必然会经历的事件。由于玩家的视角,受控于玩家自己,所以我们不再逐一考虑取景构图、镜头运动和蒙太奇,只需要记录场景、行动路线与必然事件(过场动画另当别论)。

    当我们考虑场景时,需要艺术家把相应的场景画出来。这就是做Enviroment Design工作的第一个目的。在创作场景时,艺术家会听编剧们描述场景(包括地形、道路、建筑布置等),同时也会参考概念设计师确定的视觉风格,然后快速绘画。 其绘画过程可以参考,如下:
    来自艺术家Cam Sykes的 戈壁城场景绘画过程
    当场景图得到确定之后,艺术家会对它进行下一步刻画,使其中的物件明确,以指导将来Level Design的工作。一个细致的游戏场景是如何绘制的,请参考(让你们感受一下最强P图能力-二次绘画):
    来自艺术家Titus Lunter的 游戏场景设计过程

    工作提交:艺术家们会提交游戏场景原画,如下:

    游戏设计师会提交故事板,其中包含了行动路线和事件。用我过去的工作来做例子吧,要献丑了,这张图是我给执行策划交代任务时随手做的:

    我当时为这张新手村地图(场景/关卡)设计Stroyboard。包括单个任务设计、任务流程、剧情安排、行动路线设计、NPC/怪物分布设计。需要考虑的东西也很多,比如:玩家进入场景后看到的第一屏是怎样的,第一个任务如何预热玩家/调动兴趣,怎么安排基础操作教学,第几分钟大概到什么地点什么任务,什么时间安排具有挑战性的事件,用什么物品来为大的奖励做铺垫,如何行动即不重复又能游览全部场景等等。

    3.4 Character Design

    在经过概念设计的工作之后,我们会拿到一些概念设计线稿,其中包含许多角色。Character Design这项工作就是在那些角色线稿的基础上继续设计,完成服装配色、材质表现等其他工作。其工作过程请参考:
    来自艺术家Alex Gp的 角色绘画过程
    有时,一些重要的角色,为了在后面的建模时得到更好的比例和结构表现,艺术家们会为他们绘制三视图,如下:
    来自网站http://CGCookie.com的 角色三视图绘制过程

    这些工作一般会交给美术组中的junior artist去完成,因为相对于概念设计,这一步要求更多的体力劳动,较少的设计能力。而那些才华横溢的senior artist,他们会去画一些美术宣传画,像这样的:
    来自艺术家WLOP的 Saber Lily绘画过程

    工作提交:这一步工作,最重要的是得到 人物/道具 设定图,包括各个角度(三视图),如下:

     

     



    美术组再有富余力量的话,会绘制角色宣传图:

    这样的图,对于游戏开发的工作,没有实质的作用,但是It's cool.

    3.5 Modelling

     

    当我们的Character Design工作完成以后,会得到准确的角色、道具设定,但是那些资源都无法在我们的游戏里使用(我们不讨论2D游戏)。真正的游戏资源制作,是从建模开始。首先,为重要物体建模,需要用到前面制作的三视图,来锚定外形和结构,设计师是这么用的:
    来自模型师Soepanto Kurniawan的 汽车 Shelby GT500 建模过程
    来自模型师Antic的 Q版房子建模过程
    有时,有些不重要的物体是没有三视图的,这就要求模型师能够仅根据一张图就制作出模型:
    来自团队DrunkenLizardGames的 枪械M4A1建模过程

    我也做过这样的建模练习,当时拿到这样一张图:

     

    只有这样一张图,别无参考,结构不明确或不合理的地方需要自己进行二次设计,所以,这要求模型师也需要具备结构设计的能力。当时懒懒散散地做 用了三个工作日完成了这个模型:

     

     

    刚刚在三个演示中,使用的软件分别是Zbrush、3Ds Max、Blender。在此我想指出一个新手误区:不要纠结于软件的选择,我们什么都会用。值得一提的是,如果做生物角色的话,一般我们会喜欢从Zbrush开始:
    来自艺术家Maksym Haydar的 女性角色雕刻过程
    来自艺术家Wandah K的 龙-雕刻过程

    工作提交:(上面的“龙-雕刻过程”,Wandah K已经为其简单的绘制了贴图,这是下一步的工作。)一般来说,我们的Modelling工作结束后,会得到干净的素模,如下:

     

     

    3.6 Texture & Material

     

    模型,是一个游戏物体的血肉躯体。贴图,是一个游戏物体的表皮肌肤。得到模型后,我们紧接着就为其绘制表面的纹理/材质贴图。过程请参考:
    来自艺术家Sedat Aciklar的 角色兰戈 雕刻绘画过程(包括了雕刻和贴图绘制)
    来自艺术家Josh Robinson的 忍者神龟贴图绘制过程
    下面展示另一种我们常用的贴图制作方法-映射:
    来自艺术家UArtsy的 面部贴图映射制作过程
    下面展示器械的材质制作过程:
    来自Quixel官方的 枪械贴图制作过程
    来自艺术家Aldi的 Jeep汽车 贴图绘制过程

    工作提交:在经过贴图&材质制作的工作后,我们会得到如下的模型资源:

    前几天我也做了的小练习,可以在左臂上看到我女朋友的名字。

     

    除了为特定的模型制作材质贴图外,我们还需要制作许多通用的材质,包括但不限于:自然(土地、草地、泥沼、石头、树皮…)建筑(路面、墙面、木纹、钢材、玻璃…)等等,可以参考如下:Substance材质库。这些通用材质将在游戏场景搭建时发挥重要作用。

    3.7 Skeleton & Rig

    经过Modelling,我们能够得到“静态”的游戏模型。有些像斧头、铁桶这样的小东西贴上材质贴图就能够直接放到游戏里用了。但是人物、怪兽这样会动的物体,我们还需要为其制作动作动画。Skeleton(骨骼)、Rig(绑定),是制作动作动画的前置工作,仅和模型有关,和材质贴图没关系,所以可以一边做材质一边做骨骼绑定。我们知道现实中生物体的运动,基本上就是骨骼的运动。在CG领域,我们借鉴了大自然的设计。我们也有骨骼,用来驱使模型运动。我们要为人物模型创建人体骨骼、为恐龙创建恐龙骨骼,然后把骨骼绑定到模型上。

    动作师在为角色设计动作的时候,是直接在骨骼的层面上设计动作。

    一个绑定师对于他所操作对象,如果是脊椎动物的话,那么他会熟悉这种动物的真实骨骼。并且他会知道的肌肉与骨骼的附着关系、运动中肌肉的伸缩扭转状态等。前段时间美国梦工厂的艺术总监魏照平老先生路过我们这儿,我问到他,现在动画界最缺的人才是哪些。他的回答中就掷地有声地指出了“骨骼绑定”(当然世界范围内最缺的还是优秀的故事)。

    由于绑定骨骼这个过程并不具备什么观赏性,就不用视频展示了。

    3.8 Animate

     

    我们拿到一个绑定好骨骼的模型,会为它设计动作片段(注意,是为骨骼设计动作片段)。这时可能材质贴图也已经制作好了,这样的话可以边做动作边观察最终效果。过程可以参考如下:
    来自IKinema Action的骨骼动画制作过程
    除了上面展示的技术,在一些常规写实类游戏中,我们还喜欢用运动捕捉系统来设计动作:
    来自Tomas liu的 光学运动捕捉系统
    上面这个是一个国内团队在12年做的展示,虽然看起来比较low,但是展示很直观。我目测他们这套设备价格在四五万元左右。(商业光学运动捕捉系统 最便宜也差不多是这个价,因为需要多台红外摄像机)下面来看看另一种小团队比较能承受的廉价系统:
    来自Snappers的 惯性运动捕捉系统
    在视频中大家能看出来,这个动作动画比上面那个要自然多了。但是理论上,光学运动捕捉系统的精确度要比惯性运动捕捉系统高一些,这也是为什么在影视领域大家都用光学运动捕捉系统。不过一个模型动作的自然度也需要考虑到骨骼、绑定等因素,比如Tomas Liu他们的模型,很明显只是简单绑定了一下骨骼,手部都没有绑定(也许是控制点没有绑定);但是Snappers的模型由于有标准的骨骼绑定,即使用的惯性运动捕捉系统,看起来依旧很自然。所以在3.7节中,我们说到绑定非常重要,大家可以直观感受到。这套惯性运动捕捉设备只需要一万元左右就能拿下,并且使用也很方便。
    刚刚展示了两个肢体运动捕捉的案例,下面来看一下 面部表情捕捉。这是很早很早以前的光学运动捕捉系统,可以看出对于表情的还原非常精确,惯性运动捕捉系统是做不到这一点的。还需要展示的是,动作动画的重定向。前面说过了,动作师在是骨骼的层面上工作,而不是模型。因此,我们做出的动作动画,可以使用在不同的模型上(只要它们使用了相同的骨骼):面部表情捕捉-重定向。这能够大大减少我们的工作量。

    工作提交:作动师完成工作以后会得到大量的动作动画片段,包括但不限于:走、跑、蹲、跳、攻击、防御、受伤、死亡……动作动画片段展示-剑盾战士。配上材质贴图,大概是这个样子:动作动画片段展示_士兵;再看一个《刺客信条》的动作吧:刺客信条动作动画展示

    3.9 GUI Design & Other Art Work

    实际上我将略过这一环节。因为我认为游戏中最好的UI,就是没有UI。但这将是游戏发展的一个趋势,我看到许多大厂小厂都在加入这条道路,去UI化:只在最必要的地方,用干扰力最小的方式,给予玩家最需要提示。把屏幕空间,还给游戏世界,我们不需要那么多文字与图标。讲到这里,Alpha阶段的美术工作已经走过一遍。我们可以把必要的GUI,和前面做的所有3D美术资源(模型、材质、动作)提交给游戏设计师。在这个过程中,Technical Artist将发挥一个重要的作用:他将编写Shader脚本,来决定这些美术资源最终将如何显示。Shader也是一种美术资源——一种顶层的美术资源。Shader(着色器)告诉电脑如何用特有的一种方法去绘制物体。

     

    比如在上面这幅对比图中,整个场景使用了完全相同的模型、材质贴图,并且处于同一个时间状态,但是因为使用了不同的Shader,最后得到的效果也完全不同。通过Shader,我们可以让一个非常写实的物体,变成卡通风格、水墨风格、像素风格,可以让它变成半透明,或是只有一个剪影。可以大致参考:
    来自Gareth Stockwell的 Shader效果对比

    Shader的制作,属于编程工作,并且需要具有计算机图形学知识背景(学习计算机图形学,需要具备 线性代数 知识)。那个以为做美术工作就是画画的少年,你有什么想法吗?

    如果没有,那我们就进入声音制作的环节咯。(你怎么沉默低头不说话了……)

    3.10 Audio & Music

     

    制作游戏不仅需要画面,还需要声音。声音包括:音效、音乐、配音。

    3.10.1、音效制作。包括开枪的声音、汽车的声音、脚踩在木板阁楼上的声音、释放技能的声音、点击游戏菜单的声音。最基本的制作方法是实录,比如《武装突袭》为了制作真实的枪声,去军营里实录了所有武器的声音。还有一种方法是拟音,这是更为经济实用的方案,用这两个视频来了解一下拟音艺术吧:拟音师忽悠女盆友奇妙的工作:拟音师。我们做游戏的其实很少有成立专门的拟音组,去制作专门的音效,这在AAA级的Stroy Telling游戏制作组中可能会有。我们更喜欢的是使用商业音效库,里面包含了许多现成的音效,像这样:

    另外,我们还会用声音合成器去制作一些现实中并不存在的声音,比如说传送门的开启声。

    3.10.2、音乐制作。专业术语是:编曲。编曲过程可以参考下面的视频,考虑到没接触过编曲的人可能看不懂,稍作解释:视频中音乐家Carol Kay一个人用MID键盘,先后编写了:大镲、大鼓、日本太鼓、小鼓、小号、长号、大号、吊镲、小提琴、大提琴、贝低提琴、贝斯、竖琴、铜钹、格洛克、吟唱、长笛、定音鼓、钢琴、法国号等乐器的音轨:游戏配乐编曲过程。现在的游戏音乐,甚至其他流行乐、交响乐什么的都是这么编写出来的。一般是先在软件里编好,然后为了追求音质后期再找交响乐团实录。想要编写优秀的音乐,乐理是基础知识,然后需要去熟悉了解不同的乐器不同的音色。编曲和乐器演奏是两回事,但是具备多种乐器演奏能力是最好的。 补一句,在传统的音乐编曲上,制作游戏音乐往往还需要考虑超长时间的loop循环,让人听一天也不会腻的单曲循环。还有需要程序控制的动态地音乐节奏切换、和弦进行切换、混响效果器切换,以适应游戏中的事件状态。所以游戏配乐会有一些不同。

    3.10.3、配音。为NPC配音,为过场动画配音,为游戏角色的语音包配音。这个工作很好理解,现在不仅在Stroy Telling游戏中很重要,在Gameplay游戏中也越来越重要,想一想《守望先锋》、《Dota2》,打着打着莱因哈特会来一句:“护盾快撑不住啦!”;小美会说:“嗨呀~好气呀~”。但是做这份工作的人群,在国内的生存状态并不理想。我认为需要给予他们更多的关注,看这两个视频了解一吧:“替”声世界之生存现状走进“替”声世界:夏磊_演讲

    声音资源制作美术资源制作就到这里,这些资源统统都会交回到游戏设计师的手里。他们在游戏引擎中把这些资源整合到一起,来完成真正的游戏制作工作。

    3.11 Level Design

     

    在Game Design方面,我们刚刚讲到了Stroyboard Design。经过这项工作,我们设计了玩家的游戏流程。在这之后,我们需要进行进一步的设计:在游戏流程中的具体细节。就像我展示出的我曾经的工作内容一样,我们会去考虑玩家在流程中的每一步的感受,会去设计我们想要给他带去的体验。这就是Storyboard之后的Gameplay Design的工作意义。与原型阶段的Gameplay Design有一些区别。这更像是做 Pre-Experience Design。

    经过二次Gameplay Design,经过美术和声音资源制作工作,我们已经得到了 制作一个世界所需的所有资源。在这个基础上,我们可以开始进行Level Design。Level Design我认为可以分成两层:1、关卡(qiǎ)设计;2、场景搭建。在我的语境中,关卡设计是一种游戏性设计,会去考虑玩家的行动路径、决策方案,会考虑战斗掩体的布置、地势高低的布置等元素。这项设计工作与它前置的Gameplay Design密不可分。

    场景搭建呢,是一份艺术工作,目的是在游戏引擎中还原场景原画师所设计的游戏场景。其过程可以参考如下:
    来自Level Designer-Maverick的 快速游戏场景搭建-森林铁路以及 快速游戏场景搭建-村庄
    来自Level Designer-Kaan Öztüzün的 快速游戏场景搭建-城市
    上面三个是Unreal4的场景搭建,下面放一个Unity的:
    来自Level Designer-Maverick的 快速游戏场景搭建-入海口

    这些都是自由的游戏场景搭建,实际工作中,房屋的位置、街道的转折、物体的摆放,都已经由关卡制作的过程预先制定了。在关卡制作中,设计师们用各种简陋的方体来代替物品,定制关卡中所有碰撞体积的位置(就跟原型阶段所做的事情一样):

     

    左图是艾兴瓦尔德的关卡设计示意图,右图是完成场景搭建后的效果。完成场景搭建后,我们的游戏基本就拥有了华丽的外表。还记得原型阶段给大家展示的截图吗,来看一下它们对应Alpha阶段的截图对比:

     

    真是激动人心的时刻啊,我们的游戏完成了脱茧蜕变,完成了华丽丽的升级!但是我们要知道,这背后是许多艺术家、设计师挥汗如雨的辛勤工作。他们可能经历过灵感的匮乏,经历过方向的迷失,经历过未曾预知的错误,经历过拍桌叫板的争吵,经历过委屈与绝望,经历过一年又一年纷飞的雪。看着这些伟大的游戏的画面,鬼知道在这背后我们经历了什么。

    3.12 Experience Design

     

     

    游戏还没有结束。我们要做最后一次设计工作。我称之为体验设计。体验设计,需要去考虑玩家从点开游戏的桌面图标开始,进入游戏看到的第一个画面,第一个菜单,听到的第一个声音,一直到玩家正式进入游戏场景,开始的第一个事件,收到的一个奖励,一直到玩家第一次保存并关闭游戏,下一次再进入游戏,遇到的最大的挑战,最紧张的时刻,最刻骨铭心的体验,一直到玩家人生中最后一次关闭游戏,把它永久地留在硬盘的某个角落,在这之中会经历的一切。这项工作会整合所有的游戏资源(美术上的、声音上的、故事背景上的),去整体设计玩家的游戏体验。就像旅行体验设计师会做的那样。

    在许多游戏的制作成员名单中,可能并不会看到Experience Designer这个词。因为体验设计,是一个团队的工作,整个团队的工作。每一个环节都会为最终的体验负责。当然,我建议由熟知产品设计的游戏设计师来领导完成此事。

    到此,游戏已经完成了Alpha阶段,也意味着游戏完成了全部的开发工作。

    4、Beta阶段

     

    Beta阶段的主要工作,就是对游戏进行测试与迭代。Quality Assurance团队会进入制作组,对游戏进行全方位的验收。他们会去测试游戏中的每一个按键,每一个功能,找出任何出现异常的地方,然后报告给Directors,让他们去修复和完善。同时他们也会再一次检验游戏的玩法。但愿他们不会在这时提出否定的意见。否则制作人会崩溃的。暴雪曾因为QA测试无法通过,最后放弃了已经开发了7年之久的《泰坦》,Chris Metzen,曾主持过《魔兽争霸》、《星际争霸》、《暗黑破坏神》、《魔兽世界》开发工作的暴雪副总裁,崩溃了。在顶着巨大的心理压力,收拾残局,制作完《守望先锋》后,他选择了离开暴雪,离开游戏界。这是为什么,我们需要有原型阶段,我们要在原型阶段检验游戏的玩法,对待复杂玩法的游戏,我们都小心翼翼。同时我也致敬暴雪,他们宁愿割掉自身的血肉,也不愿给玩家一个无聊的游戏。

    好了,我致敬的方式是放两个EA的游戏视频……pia!

    还记你在原型阶段下载下来玩的那个Ravenfield吗?想知道它在完成Alpha和Beta阶段之后是什么样子吗?请参照:《战地4》联机对战实录《战地4》官方联机演示

     

    结语

    到这里,整个游戏开发流程已经讲完了。谢谢你能够耐心地一直看到这里。最后我还需要补充一些。Again,这个流程是我根据古今中外的实际项目和自己的理解总结出来的理想模型。它可能并不匹配任何一个市面上游戏的开发流程,也可能不匹配小团队独立游戏的开发流程。但我尽可能的把各类游戏开发中需要的工作都整合了进来,让大家看到一个全面的工作介绍。有些工作,在你们的游戏中可能不需要出现,比如《球球大作战》就不需要High Level Design,或者你们开发2D游戏就不需要Modelling及之后的工作。甚至有的开发团队不采用这样的瀑布流开发模式,而是采用敏捷开发模式(会一边制作一边设计,根据玩家的反响实时调整设计方向),这都没有问题。只是我个人倾向于采用完整的这套开发流程 来制作游戏。

    希望在阅读完本篇文章后,你已经对游戏开发的流程有了一个大致的了解。至少在设计和美术上,你已经心里有数。在分享美术部分的时候,因为这是看得见的部分,所以我高兴能够用视频和图片的形式来辅助讲解。虽然收集和筛选这些素材花费了我巨大的时间,但是能起到一定的帮助 那我便觉得值得。设计部分能够展示的相对较少一点,程序部分就更少了,几乎没有。这也是因为程序部分即便是用视频图片还是用文字,都无法充分地展现其精髓。如果直接拿程序代码出来,绝大部分人又根本无法看懂。但是不用过于担心对于程序知识的欠缺,因为在本专栏正式引导新人自学游戏开发的第一部分,我们就会从编程开始。然后逐个地,把每一个工作内容,文中和视频中展示的每一项技术,每一个知识模块都学一遍。只要你学有余力,就可以跟着我把游戏开发的所需的所有技能都学一遍,成为一个全能游戏设计师。在了解所有流程的基础上,如果你仍旧只是对某一部分感兴趣,那么你大可规划好你自己的职业定位,就像开篇所述的那样,然后针对性地学习,并深入钻研。

     

    扩展阅读:

    欧美 3A 游戏公司的游戏设计与制作——jiayang yang

     

    北美游戏业入行门道和从业体验——Avatar Ye

    想要自己做一款游戏,需要学习哪些知识?——窦月汐

    展开全文
  • 游戏设计的艺术

    2020-07-16 23:33:21
    我是一名游戏设计师。 不,你不是。 我是一名游戏设计师。 你是什么样的设计师? 我是一名游戏设计师。 你只不过是玩游戏而已。 我是一名游戏设计师。 -------------------------------------------------- 我整个...
  • 游戏设计书籍包括游戏设计的100个原理.pdf、游戏设计:原理与实践.pdf。
  • 贪吃蛇游戏设计总结

    千次阅读 2018-01-03 19:35:25
    此博客用来记录字符游戏贪吃蛇设的设计过程(我踩过的那些坑)。。。。。贪吃蛇,作为一款经典的游戏,网上有很多相关的框架,相关的算法也有很多。在该项目中,我采用自顶向下,逐步求精的思想设计,整体的设计框架的...

    此博客用来记录字符游戏贪吃蛇设的设计过程(我踩过的那些坑)。。。。。

    贪吃蛇,作为一款经典的游戏,网上有很多相关的框架,相关的算法也有很多。在该项目中,我采用自顶向下,逐步求精的思想设计,整体的设计框架的伪代码如下:

        输出字符矩阵
        WHILE not 游戏结束 DO
            wait(time)
            ch=whereGoNext(Hx,Hy,Fx,Fy)
            CASE ch DO
            ‘A’:左前进一步,break 
            ‘D’:右前进一步,break    
            ‘W’:上前进一步,break    
            ‘S’:下前进一步,break    
            END CASE
            输出字符矩阵
        END WHILE
        输出 Game Over!!! 

    有了整体的框架以后,最主要的就是算法了,网上有很多相关的算法,但是都偏复杂,理解起来比较有难度,在该游戏中,我使用了走最短曼哈顿距离的算法(老师给的。。。),实现了一个还算聪明的蛇,伪代码如下:

        // Hx,Hy: 头的位置
        // Fx,Fy:食物的位置
        function whereGoNext(Hx,Hy,Fx,Fy) {
        // 用数组movable[3]={“a”,”d”,”w”,”s”} 记录可走的方向
        // 用数组distance[3]={0,0,0,0} 记录离食物的距离
        // 分别计算蛇头周边四个位置到食物的距离。H头的位置,F食物位置
        //     例如:假设输入”a” 则distance[0] = |Fx – (Hx-1)| + |Fy – Hy|
        //           如果 Hx-1,Hy 位置不是Blank,则 distance[0] = 9999
        // 选择distance中存最小距离的下标p,注意最小距离不能是9999
        // 返回 movable[p]
        }

    下面是我踩过的坑!!!

    坑一:VT100控制码坐标是从(1,1)开始!!!并且是(列数,行数)!!!
    VT100控制码的坐标是从(1,1)开始的, 并且是(行数,列数)!!!
    ————————>X
    I(1, 1) (1, 2) (1, 3)
    I(2, 1) (2, 2) (2, 3)
    I
    I
    Y
    这完全就是不按常理出牌。。。从(1, 1)开始就算了。。关键坐标还不是(列数,行数),而是(行数,列数)。。。是我太菜了。。。
    也正是这个原因本程序中的曼哈顿距离是:fabs(snakeX[0]-foody)+fabs(snakeY[0]-foodx),而不是fabs(snakeX[0]-foodx)+fabs(snakeY[0]-foody)。。。

    坑二:一定要刷新缓冲区!!!
    这个一定要注意!!!每次输出字符时一定要打印'\n'或者用fflush(stdout)来刷新缓冲区!!!
    如果不相信,你可以试一试不刷新。。。

    坑三:关于用c99进行编译
    当然,这不算坑,只是我在redhat 6(版本有点低,勿喷。。希望有高版本的能分享一下)用gcc编译是,它说c99才支持for循环的括号里面定义变量,可能我的gcc默认是c89吧。
    解决这个问题也很简单,在编译时加上-std=c99 就行拉。
    也就是gcc -std=c99 -o mytest mytest.c 详细见下面的makefile文件:

    .SUFFIXES: .c .o
    
    CC=gcc
    
    SRCS1=mysnake.c
    OBJS1=$(SRCS1:.c=.o)
    EXEC1=mysnake
    
    all: $(OBJS1)
        $(CC) -std=c99 -o $(EXEC1) $(OBJS1) 
    
        @echo '-------------ok--------------'
    
    .c.o: 
        $(CC) -std=c99 -Wall -g -o $@ -c $<
    
    clean:
        rm -f $(OBJS1) $(EXEC1)

    总结

    虽然蛇不是很智能,但是在设计算法的过程中还是学到了很多。总之,整个过程很有意思,也希望将来能将这个游戏进一步地优化。。
    还有一点,居然还有VT100控制码!!!老子之前都没听说过啊啊啊啊。。涨知识啦。。。。

    展开全文
  • 游戏设计艺术:探秘之书 我将和你谈及艺术, 因为没什么别的可以谈的, 是的,没别的。 生命只是一个无名的流浪者, 乞求着能够乘上艺术的大巴。 ——Maxwell H.Brock Hello哦吼吼,快进来,快进来...

    游戏设计艺术:探秘之书

    我将和你谈及艺术,

    因为没什么别的可以谈的,

    是的,没别的。

    生命只是一个无名的流浪者,

    乞求着能够乘上艺术的大巴。

    ——Maxwell H.Brock

    Hello

    哦吼吼,快进来,快进来。嗨呀,你吓到我了,我没想到你今天会来。我很抱歉我刚才一直在写东西,所以现在这里有点乱。你还是怎么方便怎么来吧。然后让我想想,我们应该从哪里开始。哦对,我应该先介绍一下我自己。我叫Jesse Schell,我喜欢设计游戏。呐,这是我的照片:

    ava

    啊哈哈哈,拍这张照片时我还很小,但那时我已经做过很多有趣的事了。我在马戏团弄过专业的杂耍;我当过作家,当过喜剧演员,也当过魔术师的学徒。我也在IBM和贝尔实验室当过软件工程师。我为迪士尼公司设计并开发了主题公园游戏设施和规模庞大的多人游戏。我创办了自己的游戏工作室,也在CMU担任教授。但是,当人们问我我是做什么的时候,我告诉他们,我是一个游戏设计师。

    我说这么多只是因为在这本书里我随时会从这些经历拿出几个例子,来讲述它们教会我有关游戏设计艺术的东西。这听上去貌似有点讶异,不过你要相信,随着你对这本书的阅读,你就会看到游戏设计是如何充满意味地与你自己的生活经历联系在一起的。

    我得声明一件事:这本书的目标最开始是教你如何成为一名电子游戏设计师,然而我们研究的原则中有很多如果只是单单对电子游戏而言可能并没有什么用;你会发现它们在更宽广的领域中也同样适用。好消息是不论你在设计什么样的游戏,电子游戏也好,模拟游戏也好,其他的也好,这本书中你读到的很多东西都帮到你很多。

    什么是游戏设计

    那我们就开始吧,首先非常重要的一件事是,我们得明确清楚“游戏设计”到底是个什么意思。毕竟,这是这本书剩下将要讲述的,而也会有一些人对“游戏设计”感到一点迷惑。

    游戏设计是决定游戏应该是什么样的行为。

    就这。听上去貌似还挺简单的。

    Q:“你的意思是说你设计游戏仅仅靠做一个决定?”

    A:并不,为了决定一个游戏是什么样,你需要做上百个,通常是上千个决定。

    Q:“设计游戏我难道就不需要一些特殊工具吗?”

    A:“并不。游戏简单点来讲毕竟只是做决定,实际上你可以仅在脑海中设计游戏。虽然你通常需要把这些想法都写下来,毕竟人的记忆能力太弱了,如果不记下来就很容易忘记一些重要的事。再者,如果你想要别人帮你做决定,或是帮你构建游戏,你需要跟他们交流这些想法,把它们写下来是个不错的方法。”

    Q:“编程呢?难道游戏设计师不应该也是程序员吗?”

    A:“不,并不。首先,许多游戏在不使用电脑和技术的情况就可以玩:举个例子,棋盘游戏,卡牌游戏,体育游戏。其次,即使是电脑和电子游戏,这些游戏应该是什么样子,即使对不知道如何实现那些想法,了解其中的技术细节,也是可以做出决定的。”当然,如果你了解那些细节,这对你会是极大的助力。这让你可以更快更好地做出决定,但这不是严格要求必须的。就像设计师和工匠之间的关系一样:设计师并不需要知道工匠了解的所有知识,但设计师必须知道工匠能够做到的每件事。

    Q:“所以,你的意思是,游戏设计师只是为游戏提供一个故事?”

    A:“也不是的。故事设计只是游戏设计的一个方面,还有很多很多其他的事。设计包括规则,外观,体验,时间,节奏,风险,回报,惩罚在内还有其他所有有关玩家体验的东西,这些都是游戏设计师的指责。”

    Q:“所以游戏设计师决定游戏应该是什么样子,把这些决定写下来,然后继续?”

    A:“并不。没有人拥有完美的想象力,我们在脑海设想的想法和在纸上记录下来的想法几乎从来不会按我们期望的那个样子呈现出来。很多决定在游戏设计师见到游戏中实际效果前是不可能做出来的。基于这个原因,游戏设计师通常要从头到尾参加整个游戏开发流程,全程决定这个游戏应该是什么样。

    区分游戏开发和游戏设计是一件很重要的事。只要是跟游戏开发有一点点牵连的人都叫游戏开发者。工程师,动画家,模型室,音乐家,写作者,制片人,还有设计师,这些为游戏工作的人,都是游戏开发者。游戏设计师只是游戏开发者中的一员。”

    Q:“所有,游戏设计师是唯一可以做出有关游戏是什么样的决定的人吗?”

    A:“我们应该反过来看:任何人,只要他能决定游戏该是什么样,那么他就是一个游戏设计师。设计师是一种指责,而并非着实一个人。一个队伍几乎所有的开发者都可以通过他们为为游戏制作的内容决定游戏会是什么样,这些决定同样也是游戏设计决定,当你在做这些决定时,你就是游戏设计师。出于这样一种想法,不论你在游戏开发队伍中扮演什么的角色,对游戏设计原理的理解都会使将自己的事做的更好。”

    等待门捷列夫

    旅途中的发现并不是要寻找新的风景,而是拥有新的视野。

    这本书的目标是帮助你成为更好的游戏设计师。

    不幸的是,目前并没有很统一的关游戏设计的理论。关于我们如何做出好的游戏,并没有什么简单的公式。那么我应该怎么做呢?
    我们现在的处境就很像古老的炼金术士一样。在门捷列夫发现元素周期表之前的那段时间,为了展现所有基础的元素之间是如何相互联系的,炼金术士依靠一种百纳被通过各种规则去翻阅不同的化工品可以化合成什么样。这必然不会很全面,有时还会有错误的地方,而且经常充满玄学问题。但是,通过使用这些规则,炼金术士就能够实现各种令人惊奇的事物,并且他们对真相的追求最终引领了现代化学。

    游戏设计师等候着他们的门捷列夫。我们就像没有元素周期表,只能使用百纳被上的原理和规则一样,尽管不够完美,却也足够我们把工作做好了。我试着把这些原理和规则中最好的那些聚在一起,这样你就很容易学习,思考和使用这些方法,并且还可以看看别人是怎么使用的。

    好的游戏设计通常靠你能够从尽可能多角度看待你的游戏。我称此为使用多种不同的透镜,因为这里面每一种都是看待你的游戏的方法。所谓透镜,即一小堆你应该有关你的设计而提出的问题。并非是蓝图或是食谱,只是用来检验你设计的工具。这本书中我们会一个个介绍它们。每张卡片概述一种透镜,那么一副这样的卡片就组成了这本书。

    没有哪一种透镜是全面而完美的,但是每一种在特定的环境中都很实用,并且能为你的设计提供一份独特的建议。我想的是,即使我们无法想象到所有的事情,通过使用这些不完美的透镜从多方面看待你的问题,你将可以自行做出决定得到最好的设计。我希望我们可以有一个全视角的透镜,然而我们并没有。所以,我们不要丢掉这些我们拥有的不完美的透镜,聪明的做法是尽可能广泛地使用它们。因为我们将看到,游戏设计相对于科学更像是艺术,相对于化学更像是厨艺。也许门捷列夫永远不会到来,我们必须承认这点。

    注重基础

    许多人认为为了能够最好地学习游戏设计的原理,去研究那些最现代、最复杂、最高科技的游戏是可行的方法。这个方法完全错了。电子游戏只是传统游戏在新的媒介中一次自然的进化而已,管理它们的规则仍是一样的。一个设计师在他可以设计摩天大楼之前必须知道如何设计一个棚屋,所以我们得经常去研究一些非常简单的游戏。这些游戏中的一些是电子游戏,但有一些也很简单:像骰子游戏,卡牌游戏,棋盘游戏,运动游戏。如果我们不能理解这些游戏的原理,我们怎么有希望能够去理解更加复杂的游戏?一些人可能会说,啊这些游戏太老了,因此不值得研究。但正如Thoreau说的:“我们忽略研究大自然因为她太老了?”一个称作游戏的游戏当然是一个游戏。设计传统游戏乐趣的原理跟设计现代游戏乐趣的原理是一样的。传统的游戏额外的优势就是,它们经历了时间的测试。它们的成功不是因为技术的新奇,而很多现代的游戏却是因此成功。传统游戏有着更加深层的意义,作为游戏设计师,我们必须学会去理解这些意义。

    这本书会非常关注传统游戏,因此会尽力表达出最深层也是最基础的游戏设计原理,跟那些特定类型游戏设计的原理相反(“关于提升基于故事的第一视角射击游戏的15个小技巧”),因为种类总是会变,但游戏设计的基本原理就像过去很长时间并且在接下来很长时间在我们身上体现的人类心理学的原理一样。精通了基础,你将可以精通任何一种已经出现过的游戏种类甚至是你自己创造一种新的游戏种类。跟别的游戏设计的书相反,那些书总是想着尽可能多地去覆盖多的领域,这本书不会这样,只会尽力让你去挖掘最富饶的地方。

    尽管这本书会教你一些原理,你可以使用这些原理去创造一些传统的棋盘和卡牌游戏;但这本书还会斜向电子游戏行业。为什么?因为一个游戏设计是的职责是创造新的游戏。计算机技术的爆发引起了游戏设计领域一场前所未闻的变革。今天存在的游戏设计师比人类历史上所有的设计师都多。如果你想创造游戏,你就得站在这门新技术的刀口上创造它们,这本书就是向你展示怎么做到这点,尽管绝大多数的原理也对更传统的游戏种类也同样有效。

    跟陌生人说话

    不可忘记用爱心接待客旅; 因为曾有接待客旅的, 不知不觉就接待了天使。

    —-Hebrews 13:2

    游戏开发者是出了名的仇外;也就是害怕陌生。这里我不是说陌生个人,而是陌生技术,练习和原理。他们貌似觉得跟游戏行业无关的事情就不值得思考。事实是游戏开发者通常很忙,没有办法跳过周遭的环境看看外面。做出好游戏是一件很困难的事,所以游戏开发控制他们的大脑,保持专注,把工作做好。他们通常没有时间找寻新的技术,没有时间想出怎么把那些技术融合进他们的游戏,没有时间在可能会失败的技术上冒风险。因此,他们求稳,坚持做他们知道的事情,而这不幸地导致有许多你在市场上看到的,像是从饼干模型中切割出来的饼干一样,游戏。

    但为了成功,为了能做出一些好的创新的东西,你必须做出一些不同的事。这不是一本讲如何用饼干模型做饼干的游戏的书。这本书讲的是如何创造出好的、新的设计。这本书将焦点放在了非电子游戏上,如果你为此感到震惊,你同样会因为看到那些游戏是如何使用原理、方法和一些甚至不是游戏的事物而感到震惊。来自音乐、建筑学、电影、科学、绘画、文学还有很多其他太阳底下的例子,都会被用到。为什么不呢?为什么我们应该必须从头开始开发出全部的原理,当这困难的的工作在别的领域已经进行很长时间了,有些是上百年甚至上千年。设计原理来自任何地方,因为设计存在于任何地方,设计在任何地方都一样。这本书不止会从任何一个地方描述设计的灵感,也会说服你让你也这么去做。你知道的每一件事情,你经历的每一件事情,在游戏设计中,都是值得追寻的目标。

    地图

    人不会因为学过什么就显得有什么不同。所有知识都是相关的。一个人如果坚持学习任何事情,那么他就会变得很博学。

    —-Hypatia

    游戏设计并不是一个很容易写作的主题。透镜和基础是非常实用的工具,但是想要真地理解游戏设计,就是要了解非常复杂的网,由创造力,心理学,艺术,技术和商业组成的,网。在这个网中每个节点都与其他节点相连。改变一个就会影响其他所有,对任一方面的理解也会影响对其他方面的理解。最富有经验的设计师历时多年,通过试验和试错,慢慢才在他们的意识中构建这样的网络,正是这使得游戏设计是如此难以写下来。书必须是线性的。因此,许多游戏设计书对它们有着不全面的感受,就像用手电筒带领着在夜中前行一样,读者看到了许多有趣的事,但却不能真正理解它们在一起是如何配合的。

    游戏设计是一次冒险;而冒险则需要一张地图。在这本书中,我制作一张地图,展示了这张游戏设计关系网。你在将近书的末尾可以看到完整的地图,但是如果马上看这张图可能会感到疑惑和不知所措。Picasso 曾经说:“要创造,必先破坏。”我们也打算这么做。我们把所有的东西都放在一边,然后让我们的地图从一个空白的板岩开始。当我们这么时,我也希望你,可以丢下对游戏设计的偏见,这样你可以以开放的思想来完成这个困难但奇妙的课题。

    第1章会从一个单独的元素开始:设计师。接下来的章节会加入其他的元素,每次一个,逐渐构建起设计师、玩家,游戏,队伍和客户之间关系这样的一个复杂的系统,这样你就可以看到它们在一起是如何配合的,为什么要按照它们那样去配。在这本书的最后,你将会在纸和脑海中构建出这些关系的一张地图。当然,纸上的地图并不重要,重要的是你脑海里的那个。而且这张图并不会是一张版图,势必不会很完美。但庆幸的是,在这本书帮助我们在脑海中构建了这样一张地图后,你可以在现实中去检测你脑海中的地图,然后当你发现有部分可以得到提升时,就去改变它,扩大它。每个设计师都会经历这样一个旅程:构建他们自己的关系地图。如果你刚接触游戏设计,这本书会让你能够开始构建这份地图。如果你已经是一个有经验的游戏设计师,我希望这本书会给你一些建议,关于如何提升你的那份地图。

    学会思考

    举一隅,不以三隅反,则不复也。

    —孔子

    孔子说的是什么?一个好的老师难道不应该把四个角落都告诉你,把每件事都坦率地展现出来吗? 并不。真正的学习和理解,记住,你的意识必须处于追去,处于寻求知识的状态。如果不是处于这样一种状态,这样一种真地想要深层次理解的状态,你就能对那些原理如鱼得水。 书中会多次不直接把事物展现出来,都是故意不写清楚,这样当你揭开事实时,那就是属于你的东西。

    这个有些玄学的方法,还有另外一个原因。就像早些讨论的那样,游戏设计并不是一门准确的科学。它充满神秘和矛盾,我们的透镜也都是不完美,不全面的。为了成为一个出色的游戏设计师,单是熟悉这本书中提供的那些原理并不足够。你必须思考你自身,想出为什么正确的原理在正确的场景中却不能生效,然后再创造一些你自己的新源里。我们在等待的门捷列夫,获取就是你。

    为什么我讨厌书

    我讨厌书,因为书总是教人们讨论他们不理解的东西—Jean-Jacques Rousseau

    在学习和练习中找到平衡是非常重要的。 —The Dalai Lama

    不要认为读了这本书,或是读了任何一本书,就可以让你成为一个游戏设计师,更不用说一个好的游戏设计师。游戏设计有一大堆原理,它是一种行为。要是你能单靠读书就可以成为一名游戏设计师,那么你可以靠看书就成为一个歌手,宇航员,或是篮球运动员。成为游戏设计师的道路只有一条,就是设计游戏;说得再准确一点就是,设计出人们真正喜欢的游戏。这意味着草草记在你的游戏想法是不够的。你必须构建游戏,然后亲自去玩,然后让别人去玩。当游戏不能令人满意的时候,你就要改进它,然后再改进,然后再改进,一次又一次,直到你真的做出了一款人们真的很喜欢玩的游戏。当你经历过几次这样的事,你就能理解游戏设计到底是个什么了。游戏设计师中有种说法:“你最初的十个游戏很糟糕,所以尽快把他们赶出道。”这本书中的原理将会帮助你指导设计,在如何更快做出更好的设计这个问题上给你一些使用的观点。但你必须通过练习才能成为一名好的游戏设计师。如果你并不对成为一名游戏设计师感兴趣,那现在就放下这本书把。这里对你而言什么都没有。但如果你真的想成为一名游戏设计师,那这本书也不是重点,而是一个开始,是接下来一系列学习,练习,吸收然后系统化这样一个流程的开始,而这个流程会在你的余生中一直存在。

    展开全文
  • 游戏设计艺术 2.rar

    2020-07-30 23:33:23
    非常棒的游戏设计指南,高清版本,是游戏设计人员的非常不错的参考。
  • 游戏场景游戏GUI设计

    2019-11-21 01:33:19
    1)笔记 1)场景主页GUI 2)3D场景异步加载进去 3)摇杆的制作,3D物体导入后,将由摇杆去控制 4)进入场景之前,要做一个界面,资源的异步... 就看到了主游戏3D场景和UGUI这些东西了 5)gui--> UI10 skillicon g...
  • 游戏设计的100个原理》摘要

    千次阅读 2017-10-07 09:26:30
    游戏设计的100个原理》
  • 基于MATLAB的拼图游戏设计 内容摘要:MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本博文基于MATLAB编程语言,详细介绍了如何利用MATLAB及其图像处理函数进行经典拼图游戏设计,并通过...
  • 游戏设计艺术(第二版)》读书笔记 书名:游戏设计艺术 作者:Jesse Schell 翻译:刘嘉俊、陈闻、陆佳琪、杨逸、王楠 出版社:中国工信出版社 简评: 本书对游戏设计的开发、团队合作、商业售卖、责任等各个...
  • 本科游戏设计毕设经历

    千次阅读 2020-08-13 18:45:13
    大学毕设经历   以前其实还没听说过本科毕设有多难,研究生和博士生到是知道难度有些...  我的毕设是做个游戏APP,起初我本来选题是连连看APP游戏设计,但是后来遇到一点事情说题目重复了要求更换,于是我在4月...
  • 你是谁? 我是游戏设计师 不对,你不是 我是游戏设计师 你是哪种设计师? 我是游戏设计师 你是说你会玩游戏 我是游戏设计
  • 快乐之道:游戏设计的黄金法则

    万次阅读 2015-07-01 11:03:45
    如喜欢本书,请购买正版。 外界评价  《快乐之道》阐述了一些最基础的原理,它们不仅...一法尔斯坦,自由游戏设计师/作家/制片人  读这本关于快乐的书真的很快乐。它令我想起了麦克劳德的《理解漫画》——这本书
  • 这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载   第一章定义游戏感  游戏感是没有一个标准的定义的。玩家和...
  • 游戏设计的艺术:一本透镜的书.pdf

    千次下载 热门讨论 2020-07-30 23:32:50
    游戏设计的艺术:一本透镜的书(天之虹译) 游戏设计神书,可以说是游戏设计书籍中我看过最好的,直接探讨到了游戏设计的本质,对独立与同人游戏开发有很高的参考价值
  • 游戏设计理论》参考版

    万次阅读 2012-06-06 12:33:47
    游戏设计理论》参考版 2005.07.07 来自:gemares 共有评论(0)条 发表评论 收藏 前 言 自从我编著第一本书The Art Computer Game Design 即(《计算机游戏设计艺术》)以来,20年的时间已经过去了。这段...
  • 在这一章中,作者通过一个具体的桌面游戏Bartok入手,介绍了游戏设计与测试的基本流程。之后对比并分析了研究者们给游戏进行的基础定义。 Part 1: Bartok 1、 游戏练习:Bartok Bartok是一个和Uno非常相似的游戏...
  • 游戏邦成立以来部分游戏设计观点回顾(五万字长文) 发布时间:2012-01-10 17:04:40 Tags:微博平台,游戏邦,部分游戏设计观点回顾 2010年底,游戏邦从数据分析的角度解析了当时手机游戏和社交游戏...
  • 游戏设计随时都有可能被更改,但是有3种最基本的元素,必须在游戏准备工作的前期就确定好,其被称为3C,即 ①角色(Character);  ②镜头(Camera);  ③操控(Control); 角色 在设计角色的时候有一个...
1 2 3 4 5 ... 20
收藏数 351,335
精华内容 140,534
关键字:

游戏设计