我想要制作一个格斗游戏! 一个面向初学者的实用教程

您所在的位置:网站首页 怎么制作动作游戏 我想要制作一个格斗游戏! 一个面向初学者的实用教程

我想要制作一个格斗游戏! 一个面向初学者的实用教程

2024-05-04 15:02| 来源: 网络整理| 查看: 265

本文最初由原作者在2017年4月11日在https://indiewatch.net编写并发布。因为重启这一系列教程,其决定翻新他的早期文章并在Medium上传它们,以便于更好地管理和根据需要更新它们。

导语

如果你是一个 格斗游戏 发烧友, 你可能不止一次的想过, 被街霸的炫酷火球和超级连段或铁拳的浮空连系统或者死或生的反击机制所惊艳,无论是哪个格斗游戏启发了你,你也想要制作一个——而你并不孤单,你知道的。

然后,你打开互联网,发现除了各大工作室和开发团队 (Capcom, Namco, Arc System Works, Team Ninja),很少甚至几乎没有格斗游戏。你可能会忍不住问问答网站上的这个问题。引用第一个答案:

许多没有经验的开发人员开始开发一款格斗游戏,他们认为这很容易,但很快发现他们被远远超出他们想象的工作淹没了。

真的吗?这些问题是什么?!那会有什么问题呢?

让我们在这一系列文章中把事情分解一下吧!

首先第一个问题: 2D 还是 3D?

最初,这可能看起来像是一个监督的问题,但如果你错误地回答这个问题,你甚至就会在一切开始之前把自己和自己的游戏送到开发地狱。这里有一些建议,分解为不同的类别——这样你就可以作出一个明智的决定。

游戏引擎: 我该怎么制作自己的游戏?

第一个也是最先要解决的问题。你想要制作一个游戏...但要怎么做?当然,在你面前有很多不同的选择——但归根结底是一个问题:

你有多擅长编程?

请注意,对于编程,我不仅仅指写代码:我是指了解一系列动作背后的结构化逻辑。当你在RPG  Maker中创建事件或在Game Maker中随便游玩(不使用脚本工具),这些不能算是一般意义上的编程,但也需要你具有一些编程逻辑。让我们简化解释一下:要想制作一个好的格斗游戏,你需要在你的团队里至少有一个人对于基本编程有较好的理解,无论你使用什么引擎。现在这个问题已经解决了,让我们总结一下你的选择——关于最流行的引擎。

· Unity 是一个对2d和3d都很友好的引擎。它提供了一个良好的用户交互界面和一些脚本工具(警告:需要C#知识)。对于没有编程经验的用户来说,它也是非常友好的,但是当被懂这门语言的人使用时,它才能发挥出最大的作用。至还有格斗游戏的专用插件引擎https://www.ufe3d.com/doku.php,其最新版本还包括可维护的回滚网络代码。它并不便宜,但可能值得一试,因为它也用于制作如诸神之战和幻想格斗(尽管对引擎进行了大量修改)这样的游戏;

· Unreal Engine 可能在3d中表现更加优秀,但学习曲线非常陡峭。真的非常陡峭。此外,该引擎使用C++,所以你会需要一些高级编程技能和经理来实现比较好的效果,因为蓝图对于实现p2p线上模式来说不够明确。另外说明,铁拳7街霸5和罪恶装备都是该引擎的顶尖作品。是的他们三个都是。这里也有很多教程,一个正在制作中的虚幻格斗游戏模板https://twitter.com/Achilleon_UE4,还有另一个虚幻引擎动漫格斗模板  https://www.unrealengine.com/marketplace/en-US/product/anime-fighter-template;

· M.U.G.E.N. 是毋庸置疑的最受欢迎的2d格斗游戏引擎。他需要努力和付出,但有着一个庞大的支持社区和很多已经制作好的角色你可以用来试验你的游戏机制。要好好想了解用它可以做什么,可以查看The Black Heart https://www.theblackheart.com.ar/。在我看来是最耀眼的原创mugen游戏。

· EF-12 是一个类似mugen用于3d游戏的引擎,但它不能直接地使用也至今没有庞大的社区支持。(2021更新:我不建议使用该引擎。我将其保留在列表里只是因为历史原因)

· 2D Fighter Maker 2002 可能是最用户友好型的2d格斗游戏引擎...但是不幸的是很难去寻找,因为它是日本的独家——在互联网上的某个地方潜伏着一些粉丝翻译。它使用起来非常简单,你不需要一行代码,但是它有一些限制,因为几乎没有文档,并且你不能用脚本或代码扩展引擎。如果你能合法地做到这些,请这么做。是制作格斗游戏的最佳切入点,虽然没有M.U.G.E.N .那么强大,但它可以帮助你理解制作格斗游戏的基础。

· Game Maker 2是另一个流行的选择,但它是一个多用途引擎,所以如果想把它转换成一个成熟的战斗游戏引擎,你必须自己完成大部分工作。有很多任斗复刻版都是用GM引擎完成的,所以这绝对是一个可以考虑的选择!并且,这里有至少一个平台格斗游戏引擎用其制作https://springrollgames.itch.io/platform-fighter-engine。

(翻译注:近期流行的引擎还有godot等可以根据需要选择)

如果你对其中任何一个都不满意,那么你还有最后一个选择:你建立自己的游戏引擎。当然,这是大量的工作,但是你可以完全控制整个过程。就我个人而言,为建立我的格斗游戏Schwarzerblitz用过,这是一个基本但功能强大的游戏引擎,需要很好的C++知识才能正常工作。我可以访问整个代码库,并设法让它按照我喜欢的方式工作,但这绝对不是给初学者的选择。

总结这一节:

对于2D,你可以/应该使用m u g e n或者2DFM2002(如果你能找到的话)开始掌握基本原理。如果你想要全3D的,祝你好运:这里没有一个拥有巨大社区支持的专用引擎,因此您可能需要花费一些工时来让您的引擎工作起来!当然,不是不可能,但也不容易。

资产——游戏的组成部分2D还是3D……还是像2D一样的3D?这个问题真的很难回答!无论如何,对豪鬼来说,答案全部都是。2D困境

2D格斗游戏(比如街头霸王2,早期真人快打系列, 动漫格斗像 月姬格斗, 苍翼默示录 或者 罪恶装备 XX) 要求数量惊人的资产。 你的角色的每一个动作都必须是动画,每一帧都要单独绘制。 每、一、 帧。

平均来说,一个动画包含5到30+帧,这取决于游戏、角色等等。现在,将它乘以可用状态的数量:空闲、行走、奔跑、跳跃、蹲下、击中、守卫、击退等。然后,乘以角色数。即使你只考虑每个5帧,这仍然是一个巨大的工作量。你可以通过看一看来给自己一个概念超级街霸2里的隆的精灵https://www.spriters-resource.com/arcade/streetfighter2/sheet/60224/。所以,要么你有一个才华横溢的艺术家团队,要么会非常复杂。

这不代表做不到!再次,看看优秀的 黑色的心:这是一个单人项目,拥有完全定制的资产和角色,但它花了7年仍正在制作中。尽管如此,这仍然是一个很好的例子,说明了一个“我能行”的态度能取得什么样的成就。(翻译注:已于2021 年 10 月 21 日在steam发售)

3D真的更容易吗?

是的,长话短说,3D格斗游戏(比如铁拳, VR战士, 和 死或生) 对小型开发团队来说问题更少——至少看上去上如此。 首先,资产的问题稍微小一些:你需要建立你的角色模型仅有一次然后将它们制成动画。很酷,不是吗?动画也不是一塌糊涂,因为你不需要重画任何东西——你只需要摆弄角色的骨骼,直到你达到完美。最重要的是,你可以为多个角色重复使用一些动画,而不必从头开始一遍又一遍地这么做!

当然,Arc系统公司知道如何让他们的3D模型看起来像动漫图!

也就是说,我可以明确地看到为什么Arc System Works和Capcom在最近的部分已经从基于sprite的格斗家转移到3D模型(尽管不可否认,罪恶装备Xrd的3D模型是如此惊人地像精灵,以至于我需要几分钟来弄清楚它们不是画出来的!).

所以,问题发生在哪里?

进入可怕的恐怖谷!

你看过吗终结者?我是说第一部。在电影的最后时刻,我们看到了老好人阿诺德的金属骨架。如果你觉得它在以一种不自然的方式运动,如果你对它奇怪的运动模式感到有点不安,请举手。就是这样,你体验了滑入恐怖谷的效果。这是什么你必须不惜一切代价避免!在你的游戏中,动画扮演着非常重要的角色。如果你惹了他们,你就出局了。因此,即使资产的问题稍微简单一些,仍然值得注意的是,你不应该想当然。

今天看《终结者》原版电影,看木偶动。然后你会明白什么是恐怖谷。

另一个问题是玩家期待3D格斗游戏比2D游戏更流畅。2D游戏被认为是一个“可接受的脱离现实因此,如果你的角色在不改变关键帧的情况下后dash,没有人会(可能)抱怨。在一个3D格斗游戏中,如果你这样做…好吧,用一种委婉的说法,让我们说它在视觉上不是那么令人愉快。看起来你的角色就像在保持完全静止的情况下滑冰——这不是一个好主意。

总结这一节:

你必须在绘制每个角色帧和平滑地制作3D模型动画之间做出选择。第二种方法对于较小的开发人员/单人团队来说更可行,但是显然也有例外。

游戏机制——我应该注意什么?

这就是事情变得稍微棘手的地方。你有三个不同类别的格斗游戏要处理。是的,三个。2D格斗游戏、3D格斗游戏和3d表现的2d格斗游戏。 街头霸王V, 拳皇14,以及真人快打X是这个类别的光辉典范。事实上,我们单子上的最后一项可以和第一项合并在一起:2D格斗游戏和3d表现的2d格斗游戏有着相同的设计问题,唯一的大区别是资产的构建方式。从一个更技术性的角度来看,在3d表现的2d格斗游戏的情况下(通常称为2.5D),你可以利用你的3D模型的一些特征来使你的工作更容易,比如复用动画而不必重新创建一个精灵。

2D(和2.5D)格斗游戏

在一款2D格斗游戏中,玩家被限制在一架飞机上。这意味着向前的唯一方法是前进,而拉开你和对手距离的唯一方法是后退。 跳跃是关键要素,还有打断跳跃和跳跃攻击的招式(对空攻击).飞道攻击(如著名的波动拳)是将对手限制在屏幕另一边的一个很好的战略元素。如果你想建造一个有很多空中游戏和很酷很有用的飞道攻击的游戏,2D(或2.5D)绝对是个不错的选择。

波动拳(TM):从1991年开始分压制的对手。

3D格斗游戏

你想要发射一个很棒的波动拳把对手逼近角落?太糟糕了,还有第三维度!是的,这是一个陷阱:在3D格斗游戏中,你通常可以滑步。这增加了一层复杂性,使飞行道具用处不大,如果不是从近距离或作为连段部件(最好的例子:铁拳7的豪鬼).增加第三维度可能是降低跳跃效率或使它们到达更低高度的一个很好的理由:还有其他方法可以接近和避开你的对手。对于街头霸王来说,这是一个模式转变。如果你想让你的游戏节奏稍微慢一点,但是把重点放在全场景的移动上,这是一个不错的选择。

总结这一节:

在这种情况下,没有对错:你必须意识到你基本上是在两个完全不同的范例之间进行选择。最好一开始就决定这个,因为一旦你开始做你的游戏就没有回头路了。

现在2D vs 3D这个问题的一部分被去掉了。下一篇文章将介绍格斗游戏背后的基本概念以及如何实现它们的一些想法 

如果你对更多的游戏制作教程感兴趣,你可以在Twitter上找到我@AndreaDProjects。我的私信打开了!

最初发布于https://indiewatch.net2017年4月11日。由作者于2021年9月25日编辑和更新。

原作者  Andrea "Jens" Demetrio

物理学博士,独立游戏开发者,格斗游戏鉴赏家(男性)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3