使用开源设计桌面游戏

使用按需打印、开源软件和一些创造力来创建你自己的游戏。
292 位读者喜欢这个。
Top Linux Games of 2016

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

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

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

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

请愿

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

过去一年,我都在开发一款名为《请愿》的游戏。在《请愿》中,玩家建立一个由公民组成的社会,每个公民都支持一定数量的支柱:艺术、军事、宗教和工业。当一个社会变得足够强大时,这些公民 自然会试图传播他们的影响力,支配其他玩家。这以一场传统的卡牌战斗的形式发生,玩家派遣公民参战,以确定哪一方更有影响力。获胜者窃取 敌人的文化支柱,游戏继续进行,直到一个社会失去其自身的文化认同。

换句话说,这是以一种轻松的奇幻游戏形式呈现的人性。

然而,游戏的核心机制是请愿过程,因为任何玩家要攻击另一个玩家,都必须请求神的恩惠。

玩家花费祈祷珠和公民来获得神的支持;然而,任何其他玩家都可以通过竞标自己的珠子和公民来挑战玩家的寺庙祭品。诀窍的灵感来自经典的囚徒困境:挑战者可以看到提供了多少珠子,但卡牌在所有竞标都结束后才保持秘密。珠子和卡牌的组合以不同的方式影响着神灵,而神灵则根据竞标的内容期望不同的行为。这是一个危险的过程,并且在过去一年中使游戏测试者陷入混乱。

在 Nextcloud 中的早期开发

开发桌面卡牌游戏有很多方法,只要你从经验中学习到一些东西,就没有对错之分。《请愿》的大部分早期游戏开发都是在早上步行去我工作的电影制片厂的路上在我的脑海中进行的。我将大致的想法,一个以请愿神殿以获得支持的机制为基础的奇幻战斗游戏,记在脑海中,并在上班时在我的 Nextcloud 实例上记下特别好的想法,以便我稍后可以在家将其解决。

具体来说,我发现 Notes 应用程序非常有用。有了它,我可以写下关于游戏机制、艺术作品的想法、规则的修改以及任何其他想到的东西的笔记,并将这些笔记存储在类似笔记本的文件结构中。该笔记本可以在 Web 浏览器或移动应用程序中查看,并且 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 Strategy Guide,这是一本关于 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 (未验证)

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.