使用开源软件设计桌面游戏

使用按需打印、开源软件和一些创意来创建您自己的游戏。
292 位读者喜欢这篇文章。
Top Linux Games of 2016

NASA on the Commons 和 Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

按需打印行业是我最喜欢的技术创新产品之一。它消除了守门人,并消除了实体批量生产的瓶颈。它为任何有好主意并有动力去实现它的人提供了一种将其作品推向世界的方式。

按需打印与开源软件相结合更加强大,使独立出版商能够以当时他们能够负担得起的价格(或完全免费)生成内容。而且这些工具使用起来很愉快。

本月,我将展示自我推销,巧妙地伪装成一个案例研究,讲述一群游戏设计师(我的创意团队和我)使用完全开源的技术栈来创建、测试和发布一款桌面奇幻战斗卡牌游戏。

请愿

我将桌面游戏列为我的爱好之一。我为角色扮演游戏设计过冒险,我设计过游戏配件,例如袖珍骰子滚筒,并且我为已发布的游戏开发了自制规则。

我花了一年的时间开发一款名为 Petition 的游戏。在 Petition 中,玩家建立一个由公民组成的社会,每个公民都支持一些支柱:艺术、军事、宗教和工业。当一个社会变得足够强大时,这些公民自然会试图扩大他们的影响力,支配其他玩家。这以一场好的、老式的卡牌战斗的形式发生,玩家派出公民进行战斗,看看哪一方更有影响力。获胜者窃取敌人的文化支柱,游戏继续进行,直到一个社会失去了自己的文化认同。

换句话说,这是以轻浮的奇幻游戏形式出现的人性。

然而,核心游戏机制是请愿过程,因为为了让任何玩家攻击另一玩家,他们必须向神灵请愿以获得恩惠。

玩家花费祈祷珠和公民来赢得神灵的支持;但是,任何其他玩家都可以通过竞标自己的珠子和公民来挑战玩家的寺庙祭品。 关键之处在于经典的囚徒困境:挑战者可以看到提供了多少珠子,但在所有出价都结束后,卡牌仍然是秘密的。珠子和卡牌的组合以不同的方式影响着神灵,而神灵期望根据出价采取不同的行动。这是一个危险的过程,在过去的一年中,这个过程让游戏测试者陷入了混乱。

在 Nextcloud 中进行早期开发

开发桌面卡牌游戏有很多方法,只要您从经验中学习到一些东西,那么就没有对错之分。Petition 的大部分早期游戏开发都是在早上步行去电影制片厂上班的路上在我的脑海中进行的。我将总体思路,即一个以向万神殿请愿以获得支持的机制为中心的奇幻战斗游戏,放在我的脑海中,并在我的 Nextcloud 实例上记录下特别好的想法,以便我可以在稍后在家中将其整理出来。

具体来说,我发现 Notes 应用程序非常有用。有了它,我可以写下关于游戏机制的笔记、关于艺术品的想法、规则的修改以及任何其他想到的东西,并将笔记存储在类似笔记本的文件结构中。该笔记本可以在网络浏览器或移动应用程序中查看,并且 Nextcloud 可以轻松地与我的合作者共享该笔记本。

一旦规则敲定,我就使用 Emacs 将它们正式化为文本文档。考虑布局还为时过早,所以我保持格式简单,只专注于正确构建规则。

最初的规则是为 2 到 4 名玩家编写的。有时我先设计单人游戏规则,然后再将其扩展到多人游戏,但是这款游戏本质上是竞争性的,所以我希望专注于战斗机制。由于游戏的关键机制是请愿过程,我特别希望专注于玩家的反复无常。

在 GIMP 中进行模型制作

为了游戏的早期模型制作,我下载了知识共享塔罗牌艺术品,因为它看起来很像奇幻风格。我还从 openclipart.org 下载了图标。我在 GIMP 中进行了快速而粗糙的卡牌设计。

Using tarot art from the Wiki Commons

opensource.com

由此产生的 108 张卡牌的牌组并不漂亮,但它们作为随后一年的游戏测试的游戏牌组达到了目的。

使用 Krita 进行艺术创作

一旦游戏的规则集经过了测试,我就联系了 Morevna Project,这是一个我在 Patreon 上支持的电影制作人团体,以寻求开源插画师的推荐。他们向我推荐了 Nikolai Mamashev,一位在 Linux 上使用 Krita 工作的优秀插画师。我告诉 Nikolai 一些关于游戏的信息,让他做他最擅长的事情:使用开源工具绘制精美的图片。我们商定了每张图片的价格,我从他那里购买了一些初始卡牌。

Artwork for the martyr card by Nikolai Mamashev

opensource.com

使用 Qtractor 和 Synfig 制作视频

我想要一个动画视频用于宣传目的。最终,这个视频将扩展成一个快速入门教程。

第一步是配乐。我将游戏的简要概述录制到 Audacity 中,然后在必要时清理了音频。我将我的声乐曲目导入到 Qtractor 中,并根据声乐提示开始创作背景音乐。

Qtractor

opensource.com

当我作曲时,我的方法,主要是由于不熟练,是将我的最初想法直接弹奏到 Qtractor 中,然后根据捕获的内容用鼠标调整我实际想要弹奏的内容。曲调从合成器沉重的曲目变为原声曲目,然后再变为合成器,但最终我达到了我喜欢到足以使用的程度。

接下来,我在 Synfig 中制作了视频。有几个不错的开源动画应用程序可用(例如 OpenToonzKritaStopGo),但我选择 Synfig 是因为 我很熟悉它。此外,它不将自己建模为数字单元应用程序,我也不打算自己绘制任何东西。我只需要一个好的应用程序来处理精灵的移动和操作。

我主要通过帧数进行动画制作:我听了我的音频,记下了重要的帧号,并进行动画制作以达到这些标记。

这花了几天时间,当我完成时,我决定插入一点适度的拟音工作。我从 freesound.org 获取了声音样本,例如魔法爆发的声音和发牌的声音。为了精确定位,我可以计算帧数,但我决定采用高科技路线,使用 XJadeo 将视频播放与 Qtractor 中的配乐同步。

使用 Inkscape 设计卡牌

虽然我还没有足够的资金购买整副牌,但我已经有足够的卡牌插图来设计游戏的最终外观。在我的脑海中,这款游戏秉承了万智牌、矮人矿坑、领土和其他伟大的奇幻卡牌游戏的传统,但在现实中,它可能更像是奇幻版的 德州扑克,所以我决定保持卡牌设计适度和简单。

在我最初的游戏中,我设计了几张“典范”卡牌。这些是玩家应该从彼此那里夺取的卡牌。每个典范也与一位神灵相关联,这就是为什么玩家必须在发动攻击之前向神灵请愿:一位神灵必须被一位典范说服才能攻击另一位追随同一位神灵的典范。从故事的角度来看,这很有意义,但在游戏测试中,这只会让玩家感到困惑,因为人类元素太多了:神灵、典范和公民,都在争夺相同的力量。

对于最终设计,我决定将典范简化为图标。这些图标被放置在每张神灵卡牌和每张公民卡牌上,以便玩家可以轻松快速地识别出哪张卡牌可以帮助哪种类型的战斗。

我决定使用 Inkscape 进行最终的卡牌布局,因为我知道除了艺术作品之外,还会有很多额外的矢量工作。

Card layout in Inkscape

opensource.com

我从我决定最有可能使用的按需打印服务中下载了一个卡牌模板。对于每种卡牌类型,我创建了一个包含多个图层的 Inkscape 文件。每个图层将容纳一张卡牌。由于我还没有所有的艺术作品,所以大多数图层都是占位符,但每张卡牌的名称和属性在每个图层中都是完整的。

使用 Scribus 制作规则手册

遵循我自己关于像棋盘游戏一样编写文档的建议,我想改进游戏的规则。我希望规则能够促进游戏玩法,而不是成为游戏的障碍,所以我决定创建一个友好、无威胁的规则手册,向人们展示如何玩游戏,然后让路。我不希望玩家必须参加逻辑或博弈论课程才能理解我的游戏。

我希望我的规则手册有大的、友好的图片,以便阅读理解能力较差的读者可以通过图片(如果不能仅从图片中,也可以从关键词和图片的组合中)拼凑出规则。我希望文本尽可能少,这样即使是阅读能力强的读者也不必花费太多时间来通读它,因为没有什么比告诉你的朋友你想向他们介绍一款你刚买的酷炫新游戏,然后花接下来的 30 分钟来解读规则手册更无聊的事情了。

在某种程度上,我的灵感来自 Paizo 出色的 Pathfinder 策略指南,这是一本关于如何开始使用 RPG 角色构建的出色入门书。这是我读过的关于如何开始使用 RPG 的最友好的书,其中包含大量图表和图片,根据您需要了解信息的时间,将一个极其复杂的主题分解为易于理解的部分。

Scribus for rulebook design

opensource.com

这个原则改变了一切,Scribus 使我可以轻松地重新排列图形元素和文本,因为我简化了交付方式。我没有一次性向读者解释如何请愿和处理对请愿的挑战,而是将其分解为根据实际发生的情况有条件地适用的部分。文档假设所有请愿在首次引入该机制时都成功,挑战在专门的部分中解释,该部分可以在请愿机制被内化后阅读。这也使得规则的参考更容易,因为所有例外情况都独立于它们实际发生的时间进行解释;毕竟,读者不需要知道挑战发生的原因或时间,他们只需要知道何时可以提出挑战以及挑战发生时在哪里查找。

在设计小册子时,出现了一个小问题。按需打印服务提供的 Scribus 模板的裁剪标记位置不正确,大约偏差了 8 毫米。直到校样阶段才明显,所以我不得不回到 Scribus 来解决模板的错误。Scribus 使我可以轻松地对内容进行少量修改以向内调整,而不会损失设计的整体完整性。

Scribus 还具有令人惊讶的强大导出器。从以前与打印机的经验来看,我预计导出为 PDF,我知道 Scribus 在这方面做得非常出色。结果证明,这家打印机希望所有页面都作为 PNG 文件。我预计从 Scribus 导出为 PDF,然后使用 ImageMagick 转换为单个 PNG 文件,但 Scribus 令人惊喜地为我提供了 PNG 导出所需的所有相关选项。它为我节省了一些步骤,我对此表示赞赏,尤其是在我来回校样和调整时。

知识共享

整个项目均在知识共享许可下获得许可,并使用开源软件创建。所有资产都对所有人开放。

开源工作流程

开源软件提供了一个完整的发布工作流程,从概念到图形到布局,每个人都可以使用它。不要让缺少出版商成为您的障碍:如果您有想法,就去创造它。

Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,通常同时从事这两个行业。

2 条评论

由于我正在制作一个包含数百张卡牌的轻型卡牌构筑游戏,因此我在开发过程中的一个重点领域是尽可能地自动化卡牌生成。我将我的卡牌数据存储在数据库中,这样我可以轻松检查每个集合有多少张卡牌,每种类型有多少张卡牌,搜索关键词等等。从那里,我可以构建 PHP 脚本,在一分钟内生成所有卡牌的图像版本以进行原型设计。虽然我过去曾使用 GIMP 和 Scribus 进行首次按需打印,但从那时起我主要使用我的浏览器。

感谢 Firefox 的截图功能(以前通过插件提供),我还可以使用 PHP 在我的模板图像之上生成一致的 HTML/CSS 卡牌,在 Firefox 中查看它们,在开发者工具中根据需要调整诸如换行之类的东西,并快速将每张图像保存到磁盘。无需处理图层并为每张卡牌复制粘贴文本和图像,手动应用诸如斜体和粗体之类的东西,所有这些都由我的脚本根据卡牌类型并识别关键词来自动完成,以将标准样式应用于它们,甚至用适当的图标替换一些关键词。我唯一剩下的事情就是审查和保存每张卡牌。

除了通过数据库控制提供对我的内容的洞察力之外,整个方法还使迭代比以前更加方便和快捷。考虑到到目前为止已经进行了多少次迭代,我对此非常感激。

听起来太棒了。真是个好主意!我曾考虑过类似的方法,使用 Python 脚本和 GIMP 或 Scribus,但最终我选择了对我来说最熟悉的,即传统的 GUI 图形设计工具。

我确实做了一个复古游戏复兴项目,该项目使用 BASH 和 Image Magick 以及 pdfjam 来构建可打印的布局,但是这些脚本存在我需要修复的问题,但是我很少生成打印表,因此我很难建立起迭代的动力。

即便如此,自动化设计过程仍然是一个好主意,您的工作流程读起来非常简洁。感谢您的评论!

回复 作者 Bruno (未验证)

© . All rights reserved.