设计文档


关于本教程

本教程是免费和开源的,所有代码都使用 MIT 许可证 - 所以你可以随意使用它。 我希望你喜欢本教程,并制作出色的游戏!

如果你喜欢这个教程并希望我继续写作,请考虑支持 我的 Patreon

动手 Rust


如果你计划完成一个游戏,提前设定你的目标非常重要! 传统上,这采取了设计文档的形式 - 一份概述游戏的总文档,以及详细说明你想完成什么的小节。 在这种情况下,它也构成了编写本节的骨架。 有成千上万的 在线参考资料关于编写游戏设计文档。 格式其实并不重要,只要它能作为开发的指导,并为你提供可以宣布“完成了!”的标准。

因为这是一个教程,我们现在将把游戏设计文档作为一个骨架,并在我们进行时充实它。 这在我的写作方面留下了一些灵活性! 因此,在本节接近完成之前,请将其视为活文档——一个永恒的进行中的工作,随着我们的进展而扩展。 这真的不是编写设计文档的方式,但我拥有大多数团队没有的两项奢侈品:没有时间限制,也没有需要指导的团队成员!

锈化的 Roguelike

《锈化的 Roguelike》是一款 2D 传统 Roguelike 游戏,旨在捕捉自 1980 年《Rogue》发布以来该类型发展而来的精髓。 回合制、基于图块,并以冒险家深入地下城以找回亚拉护身符(又一个丢失的护身符)为中心。 冒险家在无数程序生成的关卡中战斗以找回护身符,然后必须战斗返回城镇才能赢得游戏。

角色

玩家控制一个主要角色,英雄主角,他/她/它在地下城中战斗。 人类 NPC 的范围从商店老板到幻想 RPG 的常见角色,如强盗、土匪、巫师等等。 游戏中的其他角色将主要是幻想 RPG 的常见角色:精灵、矮人、侏儒、半身人、兽人、地精、巨魔、食人魔、龙等等。

(所有 NPC 的描述应在此处)

一个延伸目标是让 NPC 属于不同的派系,并允许聪明的玩家“刷派系声望”并调整忠诚度。

理想情况下,NPC AI 应该比石头更智能。

故事

这不是一个故事驱动型的游戏(Roguelike 游戏的故事通常比传统 RPG 短,因为你会经常死亡和重新开始,并且通常不会花很多时间阅读故事/ lore)。

在遥远的黑暗时代,巫师国王们制作了亚拉护身符,以束缚深渊的恶魔 - 并结束他们的恐怖统治。 随之而来的是黄金时代,善良的种族蓬勃发展。 现在黑暗时代再次降临这片土地,恶魔蠢蠢欲动,黑暗势力再次蹂躏这片土地。 亚拉护身符可能是善良人民最后的希望。 在酒吧度过漫长一夜后,你意识到也许你的命运是找回它,恢复这片土地的安宁。 带着轻微的宿醉,你出发前往家乡城镇下方的地下城——确信你可以成为那个拨乱反正的人。

主题

我们的目标是传统的 D&D 风格的地下城乱斗,包含陷阱、怪物、偶尔的谜题和“可重玩性”。 游戏每次都应该有所不同。 优先采用轻松愉快的方式,并自由地撒上幽默(该类型的另一个主要特征)。 相比于严格关注现实主义,更倾向于“大杂烩式”的方法——这是一个教程项目,在这种情况下,拥有许多主题(从中学习)比拥有一个单一的、有凝聚力的主题更好。

故事进程

没有横向成长 - 你不会保留之前游戏过程中的任何增益。 因此,你总是以新角色的身份在同一个地方开始,并且只获得单次游戏过程的增益。 你可以在地下城中向上向下移动,返回城镇出售物品和货物。 关卡进度会一直保留,直到你找到亚拉护身符——此时,整个宇宙真的都在与你作对,直到你返回家园。

作为入门指南,请考虑以下进程。 随着我们游戏的开发,它将不断演变并变得更加随机。

  1. 游戏在城镇中开始。 在城镇中,只有极少的敌人(扒手、暴徒)。 你在一个待命名的酒吧(酒馆)中开始游戏,只配备了微薄的钱包、最少的初始装备、一杯啤酒、一根干香肠、一个背包和宿醉。 城镇允许你拜访各种商人。
  2. 你深入城镇旁边的洞穴,并在天然石灰岩洞穴中战斗。
  3. 石灰岩洞穴让位于一个被摧毁的矮人要塞,现在被邪恶的野兽——和一条黑龙(谢谢 Sveller 先生!)占据。
  4. 矮人要塞下方是一个广阔的蘑菇森林。
  5. 蘑菇森林让位于一座黑暗精灵城市。
  6. 深处包含一个通往深渊的传送门的城堡。
  7. 深渊是一场对抗高等级恶魔怪物的艰难战斗。 在这里你可以找到亚拉护身符。
  8. 你一路战斗返回城镇。

旅行应该通过类似《暗黑破坏神》中的城镇传送门卷轴来促进。

游戏玩法

游戏玩法应该是非常传统的基于回合的地下城探索,但重点是使机制易于使用。 在基础层面上,这就是“谋杀流浪汉体验”:你开始时一无所有,靠你找到的东西为生,杀死(或躲避)你遇到的怪物,并拿走他们的东西! 这应该撒上该类型的常见要素:物品鉴定、有趣的魔法物品、属性和大量修改它们的方法,以及多种“有效”的玩法和通关游戏的方式。 游戏应该有难度,但并非不可能。 不允许任何需要快速反应的东西!

在真正的游戏设计文档中,我们会在这里仔细描述每个元素。 为了本教程的目的,我们将在编写更多内容时添加到列表中。

目标

  • 总体目标: 最终目标是找回亚拉护身符 - 并返回城镇(一旦你拥有它,城镇传送门法术将停止工作)。
  • 短期目标: 击败每个关卡中的敌人。
  • 导航地下城的每个关卡,避开陷阱并到达出口。
  • 获得大量酷炫的战利品。
  • 赢得你的分数以获得炫耀的资本。

用户技能

  • 导航不同的地下城。
  • 战术战斗,学习 AI 行为和地形,最大限度地提高生存机会。
  • 物品鉴定应该不仅仅是“鉴定法术”——应该有一些提示/系统,用户可以使用这些提示/系统来更好地理解概率。
  • 属性管理 - 装备以提高你在不同威胁下的生存机会。
  • 长期和短期资源管理。
  • 理想情况下,我们希望有足够的深度来激发“Build”讨论。

游戏机制

我们将采用经过尝试和测试的“有点像 D&D”的机制,许多游戏都在使用这种机制(并根据开放游戏许可获得许可),但又没有束缚于类似 D&D 的游戏。 随着教程的开发,我们将对此进行扩展。

物品和强化道具

游戏应包含各种各样的物品。 广义上讲,物品分为:

  • 可穿戴物品(盔甲、衣服等)
  • 特殊可穿戴物品(护身符、戒指等)
  • 防御物品(盾牌和类似物品)
  • 近战武器
  • 远程武器
  • 消耗品(药水、卷轴、任何使用后消耗的物品)
  • 充能物品(除非重新充能,否则只能使用 x 次的物品)
  • 可出售/可拆卸的战利品/垃圾。
  • 食物。

其他注意事项:

  • 最终,物品应该有重量,库存管理成为一种技能。 在此之前,它可以相当宽松/容易。
  • 魔法物品不应立即显示它们的作用,除非是魔法物品。
  • 物品应该从至少在某种程度上合理的掉落列表中抽取。
  • “道具”是一种特殊形式的物品,它不会移动,但可以与之互动。

进程和挑战

  • 当你击败敌人时,你会获得经验值并可以升级。 这可以提高你的整体能力,并让你能够以更好的方式击败更多敌人!
  • 随着你向下深入,关卡的难度应该会增加。 “超出等级”的敌人是可能存在的,但非常罕见 - 为了保持公平。
  • 尽量避免随意地杀死玩家,让他们没有希望规避。
  • 一旦亚拉护身符被认领,当你一路战斗返回城镇时,所有关卡的难度都会增加。 某些特权(如城镇传送门)不再起作用。
  • 运行之间没有进程 - 它是完全独立的。

失败

失败也很有趣! 事实上,传统 Roguelike 的吸引力很大一部分在于你只有一条生命 - 当你屈服于伤口/陷阱/变成香蕉时,游戏就“结束”了。 游戏将具有 永久死亡 - 一旦你死了,你的游戏过程就结束了,你将重新开始。

作为一个延伸目标,我们可能会引入一些方法来减轻/缓和这种情况。

美术风格

我们的目标是精美的 ASCII,并可能引入图块。

音乐和音效

没有! 一旦图块完成,拥有音乐和音效会很好,但为现代 RPG 完全配音远远超出了我的资源。

技术描述

该游戏将使用 rltk_rs 作为后端,用 Rust 编写。 它将支持 Rust 可以编译和链接到 OpenGL 的所有平台,包括用于基于浏览器的游戏的 Web Assembly。

营销和资金

这是一个免费教程,所以预算大约为 0 美元。 如果有人想捐赠给 我的 Patreon,我可以保证永恒的感激之情、一个以你名字命名的怪物,以及其他不多东西!

本地化

我不擅长语言,所以就用英语吧。

其他想法

任何有好主意的人都应该发给我。 :-)

总结

所以我们有了:一个非常骨感的设计文档,其中有很多漏洞。 编写其中一个文档是个好主意,尤其是在制作时间受限的游戏(例如“7 天 Roguelike 挑战”)时。 随着更多功能的实现,本章的质量将不断提高。 目前,它旨在作为基线。

...


版权所有 (C) 2019, Herbert Wolverson。