游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4967|回复: 0

腾讯天美分享:如何独立制作游戏demo?

[复制链接]

5万

主题

5万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
86350
发表于 2021-7-1 09:38:52 | 显示全部楼层 |阅读模式
本文首发“腾讯天美工作室群”知乎号
https://www.zhihu.com/question/30768958/answer/1952778209

DEMO,全称是demonstration,意为“演示,示范”,而游戏DEMO简单来说就是一个游戏的示范版本,其目的是在开发时间与工作量可控的情况下,做出一款游戏的可玩雏形,验证玩法或预期体验是否有足够吸引力。

如果尝试自己制作一款游戏DEMO,有两方面的好处:

对自己,能在实践中学到更多游戏开发的知识,了解游戏的构成,比如角色、动作、关卡设计等;

对项目,也可以在一两周内就输出可视化雏形,向领导或团队演示讲解自己的想法和概念。

对于希望开发游戏的入门者来说,独自制作3D游戏DEMO将会是一个庞大艰深的工程,而受独立开发者青睐的2D像素游戏要相对切实可行,比如横版过关游戏。

我们邀请了来自天美的Dino为大家分享他制作横版动作游戏Demo的经验,希望对大家有所帮助。

*本文仅出于个人学习和经验分享的目的,以部分网络素材为例,为大家图文演示游戏DEMO的制作方法。
*在实际生活中,不论是否以商业盈利为目的发布自制的游戏,都不可以使用他人拥有版权的素材。

从行走逻辑上区分,横版动作游戏一般分为单线横版、纵深横版。从玩法上区分,还可以细分为格斗、射击、动作等。

如今,横版射击和格斗游戏都略有些没落,而横版动作却仍颇受欢迎,也将是我们接下来将讨论的重点。

微信图片_20210701093039.jpg

工欲善其事必先利其器。针对横版过关游戏,市面上有哪些现成的游戏开发软件可以选择?

微信图片_20210701093045.jpg

微信图片_20210701093047.jpg

2DFM:全称是“2D格斗游戏制作工具2nd”。它是由日本OUTBACK制作、EB发行的一款2D格斗游戏制作工具。

利用这款软件玩家可以独立制作出属于自己的PC格斗游戏——台湾FK小组制作的《超级COSPLAY大战final02版》。本人制作的《东东不死传说》都是用2DFM开发完成的。

微信图片_20210701093048.jpg
《东东不死传说》

AGM:全称为ActionGameMaker,同样由日本EB发行。

拥有ACT,ARPG,STG等组件,使用这些组件就能制作出相应的PC、XBOX360、PS3游戏,并且组件可以混合使用,例如可以做出地图上是ARPG,迷宫里是STG的游戏。可以说非常强悍。

微信图片_20210701093049.jpg

OPENBOR:横版过关游戏开发软件。BOR软件的原名是《Beats of Rage 》,名字有向SEGA的MD游戏《Streets of Rage》致敬的意思。

开发者开源发布后改名为OPENBOR。它可以输出PC、安卓、PSP、XBOX等平台版本。下图是本人曾制作的横版DEMO。

微信图片_20210701093050.jpg

三者的适用面大致如下,而OPENBOR相对更适合横版动作游戏:

微信图片_20210701093051.jpg

接下来,让我们试试用OPEN BOR来制作一款横版动作游戏DEMO ——

微信图片_20210701093052.jpg

首先,我们先要了解一下动作游戏的构成。

通常来说,一款横版动作游戏,包含了哪些元素?

《恐龙世纪》的第一关可以拆解如下:

微信图片_20210701093053.jpg

微信图片_20210701093054.jpg

所谓的关卡,其实就是一群角色在一个房间里打架的过程:

微信图片_20210701093055.jpg

关卡的核心体验其实大同小异,这是另外一群角色在另外一个房间打架的过程。

微信图片_20210701093056.jpg

微信图片_20210701093057.jpg

说白了,这个就是一款动作游戏的基础框架:房间、人、打架。

微信图片_20210701093059.JPG

那么我们可以针对这个房间,分解出一款横版动作游戏DEMO需要用到的素材:

1.角色素材
2.场景素材
3.UI素材
4.音频素材

微信图片_20210701093100.jpg

OPENBOR这款软件没有操作界面,纯文件夹操作。并且资源全部为熟悉的GIF、WAV等资源。可以从网上下载到OPENBOR的最新版本,容量只有几M。

微信图片_20210701093101.jpg

角色素材分为:主角、杂兵、特效。

微信图片_20210701093105.jpg

出于演示目的,我使用了部分网络素材,希望大家有时间有条件还是尽量自己画。

网络资源随意混搭会出现比例失调的情况。因此一定要规划好尺寸。

微信图片_20210701093108.jpg

角色资源整理好以后,放到Chars里面的次级文件夹里,以本人这个DEMO为例:\data\chars\mukui文件夹里。

微信图片_20210701093109.jpg

场景素材:同理。要么自己画,要么先用网络资源。

微信图片_20210701093111.jpg

场景资源的透视关系也是很重要的。经过对比发现最常用的角度一般是30度或者45度。60度比较少见了。

微信图片_20210701093112.jpg

微信图片_20210701093113.jpg

微信图片_20210701093115.jpg

场景资源整理好以后,放到Bgs里面的次级文件夹里,以本人这个DEMO为例:\data\bgs\city文件夹里。

微信图片_20210701093116.jpg

UI素材:一般分为战斗UI和主菜单UI。OPENBOR自带了一套战斗UI资源,因此这个步骤可以缓一缓。等DEMO打磨得非常精美的时候,再替换成自己的UI也不迟。

微信图片_20210701093117.jpg

微信图片_20210701093119.jpg

音频素材:一般包含了背景音乐、音效。整理好以后,放到\data\music文件夹里。

微信图片_20210701093120.JPG

音频可暂时使用部分网络资源,也可以用OPENBOR自带的资源。背景音乐OPENBOR采用的是BOR或OGG格式。

音效:OPENBOR采用的是WAV格式。可以用GoldWave这个软件来切割。

微信图片_20210701093121.jpg

音效:音频整理好以后,放到\data\sounds文件夹里。

微信图片_20210701093122.jpg

通常一款横版动作游戏包含的模块:

1.角色编辑器
2.AI编辑器
3.场景编辑器
4.关卡编辑器

有些软件会把这几个模块都放置到同一个面板。例如2D格斗软件2DFM就是同一个页面。但从程序开发角度来说,这些模块都是独立模块。每一个模块的开发周期可能1周-数月。

微信图片_20210701093124.jpg

OPENBOR的编辑采用纯TXT文本操作。用户可以很容易找到各个模块的位置。资源准备就绪,我们就开始来编辑关卡了。OPENBOR的角色编辑是这个样子的。

微信图片_20210701093125.jpg

打开\data\chars\mukui下的角色TXT文本,可以看到很多可配参数——

微信图片_20210701093127.JPG

开发者只需要按照OPENBOR的标准ID字符来配置这些参数即可。由于功能繁多,有兴趣的同学可以自行阅读OPENBOR的开发说明文档。例如这是主角的普通直拳的一个配置——

微信图片_20210701093128.JPG

简单的说,就是主角以不同的速度来播放了446-450整套序列帧图。并且在448号图的时候触发了攻击框。

大家有没有发现,这套编辑方法本质上就是GIF动画的编辑逻辑,只不过在合适的帧数里加入了攻击判断。

角色编辑小诀窍1:打击感的由来

一套完整的打击感包括了以下几个基础因素:

1.音效
2.光效
3.打中人的瞬间,双方的抖动帧数

微信图片_20210701093130.jpg

微信图片_20210701093132.jpg

经过研究发现,不同的动作游戏其顿帧的时间不同。似乎动作游戏的顿帧时长都偏低呢,比格斗游戏还短。分析其原因,就是因为动作游戏频繁攻击,如果顿帧时间太长很容易视觉疲劳。

微信图片_20210701093133.gif
正常顿帧演示

微信图片_20210701093135.gif
不正常顿帧演示

通常来讲,顿帧越长就意味着那一拳越带劲,打击感爆满。但是当一款游戏,所有攻击的顿帧都很长的时候,会显得非常无趣。就好比黑客帝国里整部电影都是子弹时间,或者某个宴席里所有菜都是烤乳猪。用户会非常腻烦……

微信图片_20210701093136.jpg

因此建议大部分攻击,其顿帧都维持在6-12之间的某个数,部分超必杀或者必杀技的收尾一击时,可以把数值配大。这个顿帧的应用,不仅可以用在2D项目上,其实3D项目也是共通的……

角色编辑小诀窍2:判定框的绘制。

判定框分为受击框、攻击框、碰撞框。下图是受击框的一个范例。猜猜看哪种绘制方法是正确的,哪种是错误的?

下图左边是正确的绘制,不随主角呼吸而晃动。右边是错误的绘制,过于强调跟随身体,会严重影响高玩的攻击判断。

微信图片_20210701093138.jpg

格斗之王的受击框,在体形上相差不会很大。下蹲和跳跃姿态的时候甚至简化了一个框。

微信图片_20210701093139.jpg

街头霸王4的判定框也采用类似做法,一切从简。以打击感的稳定为目标。

微信图片_20210701093141.jpg

判定框的绘制肯定也不需要随角色胳膊的晃动来变化,没必要每张都画。如果某个动作,其身体摆动幅度不大,那么其受击框应该尽量只绘制一套。(OPENBOR的逻辑是某一个指令会通吃下面所有脚本行,除非遇到了下一个同样的指令。)

微信图片_20210701093142.jpg

角色编辑小诀窍3:动画帧数的调配。

角色的动作是由图片组成的,每一张图片的停留时间将决定了动画的快慢与否,流畅与否。

通常一个动作包含了“发招,攻击,收招三”个阶段。也有些玩家习惯称之为“前摇、攻击、后摇”。

微信图片_20210701093143.jpg

制作统一的受击图,可以节约编辑工作。要知道SNK公司是做了十几年的格斗游戏,在手感这一块是顶尖的代表。因此虚心学习SNK公司的动画帧数数据是非常有必要的。

微信图片_20210701093145.jpg

下图是拳皇98的帧数表,可以适当参考。

微信图片_20210701093146.jpg

那么我们这个角色的第一拳,参数就参考一下金家潘,先这么设置吧。

微信图片_20210701093148.jpg

这里并非叫大家照着金家藩的手感来制作这个角色,而是通过一种低学习成本来尽早学会编辑角色。事实上当游戏完成后,自己完全可以微调各种参数。如果要自己去原创尝试,数值该怎么填?8、9、10?10、20、30?对于一个没有动作游戏编辑经验的策划来说,凭感觉去调整参数。说不定会适得其反,效果越调越差。

特效和音效方面,OPENBOR默认播放的是flash.txt和flash.wav,图像资源位置在\data\chars\misc。

微信图片_20210701093149.JPG

当需要在某个特定的招式弃用特殊的特效和音效时。则在相应的attack里面配置新的特效。

微信图片_20210701093150.jpg

关卡方面,打开\data\levels下的关卡TXT文本,可以看到很多可配参数。

微信图片_20210701093152.JPG

基本就就是列出了关卡所需的背景音乐、前后景需要的场景资源,下雨的特效、以及电话亭物件、敌兵的摆放坐标。

关卡的清版逻辑很简单,有一个wait的字符,表示当前字符以前的敌兵必须全部杀死,才可以解开锁定的区域。

时间关系,笔者不再罗列出所有脚本的功能用途。不过OPENBOR这款开源软件比较好的地方在于:所有功能都是用类似脚本的方式写入,网上可以很轻松的找到DEMO范例用来学习。

我们来回顾一下一款动作游戏的DEMO,它是由哪些东西构成的。

微信图片_20210701093153.jpg

积少成多,小关卡可以组成大关卡,大关卡可以组成大章节。

微信图片_20210701093154.jpg

微信图片_20210701093155.jpg

关卡就像是一枚螺丝钉,它的最终服务对象是游戏的各大核心系统。

微信图片_20210701093157.jpg

制作DEMO的过程中,大家将学到哪些功能是必须的,哪些是可有可无的。

当这些知识运用到我们工作中时,就会大大地节约策划、美术、程序之间的沟通成本。

文/腾讯天美工作室群
原文:https://www.zhihu.com/question/30768958/answer/1952778209

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-1-3 02:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表