GSML(Game System Modeling Language游戏系统建模语言)这个概念是由Richard Emms在USC硕士论文中提出,原文地址如下:http://digitallibrary.usc.edu/cdm/ref/collection/p15799coll3/id/383101
这次将会对这篇论文的核心内容做一些翻译和归纳,并试着使用到实际的生产和分析中去。
1.GSML分析图实例:
2 2.GSML的一些特性介绍:
特点:
GSML是一种目的为促进探索设计导向的思考语言,有别于现在比较通用的偏向程序性思维的语言(例如伪代码、UML、系统流程图等)。
作用:
- 提供一种通用的,便于游戏设计者之间互相交流的语言。(这个对于一般的生产流程来说可能比较难以做到,因为要作为一种标准语言的话需要经过一个比较漫长而痛苦的推广过程)
- GSML可以更好的拆分出游戏中的系统,可以更容易的观察、思考和分析他们想要的游戏结构,并更好地理解他们的相互依赖。能够直观的体现出系统中的元素和关系的缺失,并进行响应的调整。
风险和一些问题:
这并不是一个由权威专家设计的经过大量验证的语言,而是一个带有一定实验性质,需要不断优化的语言。
3 3.GSML的使用方法①-定义基本元素:
定义构成GSML图基本的3种元素——实体,动词,事件:
实体-代表了游戏中的“物件”
动词-代表了游戏系统或者玩家能够执行的程序
事件-代表运行结果,可以用来规定游戏的状态,定义外部对游戏的影响,或者进行条件检测
3.1实体:
实体是一个游戏的原子结构,可以是具体的物件(如玩家角色),也可以是抽象的物件(如时间、得分)。物件自己的属性也被定义成实体。实体的子类或变种也算作是单独的实体(如,怪物和飞行怪物是两个实体,但飞行怪物是怪物的子类),注释上可以将它们归类到一起。
通过一个物件的链接来描述它的属性,能够避免其隐含性质所导致的困扰。比如在FPS游戏中,我们常常会将玩家角色定义成一个对象,可以接受输入做出移动、射击、跳跃等行为。在GSML中,玩家角色这个实体并不包含这些性质,移动、射击、跳跃也是独立的元素(动作),在图标中与玩家角色这个实体关联。
3.2动词:
动词相当于玩家或游戏系统的行为。一般来说,实体连接它们潜在的动词,或事件连接它们的结果动词。
3.3事件:
事件相当于游戏系统的结果或者输出。它们既可以是游戏状态(比如卡牌游戏的出牌阶段),实体受到的外在影响(比如敌人被击杀),或者是条件检测(比如玩家是否与熔岩发生了碰撞)。事件比动词和实体拥有更多的叙述信息,并经常包含有实体与其相关事件的名字。特别的,与流程图不同,条件时间不会明确表示出是或者否的输出,会同时检查所有的链接,并可能激活其中的一个或者多个。
3.4补充说明:
GSML的链接使用一个单向箭头将元素链接到一起,按照顺序阅读,可以构成一个有意义的短句。比如之前的参考图中,可以读出类似“重力移动方块”等有意义的短句。
同时实际使用中,玩家体验、意义、美术风格、策略、执行方式都不应进行考虑,或者放置在注释中进行说明。
4 4.GSML的使用方法②-实际绘制流程:
作者经过数次的迭代和实验后,归纳出了一套比较有效的使用步骤
- 将所有的元素罗列出来,此时不需要立即对元素进行分类,元素的之间关系可以放置在元素内部,或者使用较易更改的连接线来绘制
- 将元素进行分类,同时对连接线进行重新迭代
- 绘制完成,对绘制完成的流程图进行分析
5.实例展示:
接下来试着用这个方法来进行一下实战操作,我们试着对一款最近推出的游戏《异域神剑2》中的战斗系统循环进行一次GSML图化。(主要目的为展示GSML的使用流程,分析得出的结论带有强烈的个人色彩,请批判性的阅读)
5.1步骤1:
罗列所有涉及到的元素,不对元素进行分类,元素之间的关系进行初步的链接。(这里只将战斗内涉及到“战斗循环”的元素抽象出来,涉及到动作元素的动作前摇后摇的要素这里暂时不做分析)
5.2步骤2:
将元素进行分类,同时对连接线进行调整,并优化整体的排版。
5.3分析:
针对上面的图,可以得到一些比较简单的结论:
图中连接线数量较多的节点有4个:终结技、必杀、属性球、武器属性,均有3条连接线(玩家这个实体在这里暂时忽略),说明这4个实体元素在核心战斗循环中是比其他实体更加重要的;再仔细分析这4个实体,可以看出,除了属性球,其他3个实体均是有一个短句能连接到玩家的,说明了属性球在这个循环中的核心地位。事实也是如此,“必杀附加属性球->终结技中武器属性能够击碎属性球->击碎的属性球可以带来新的终结技次数”可以发现整个战斗系统确实是围绕属性球这个核心实体来做文章的。
PS.这个语言是一个实验性质的语言,可能运用的时候会发现一些问题,如果有任何改进这个工具的想法和思路,欢迎随时探讨。
暂无关于此日志的评论。