本文所描述的Roguelike是典型的Roguelike游戏,而不是带有Roguelike元素的游戏。
以下是他在今年Roguelike开发者大会上演讲的文字版。
介绍
在几年前举办的第一届Roguelike开发者大会上,我做了一个演讲,讲述了我是如何走上开发者之路的。 今天,我想谈谈如何成为一名Roguelike游戏开发者。 在玩游戏的过程中,我们总是有创造更好的游戏或者自己的游戏的冲动。 这篇演讲不是教程,更多的是对Roguelike游戏的介绍和建议。
制作 Roguelike 游戏可能非常困难,就像穿越充满障碍的地牢一样。 在下图中,您将从底部开始您的开发之旅,顶部是您的目标 - 一个有趣的游戏。
你的开发历程很可能就像这张图一样,缺乏清晰的设计思路,只是想到什么有趣的玩法就往游戏里塞进去,导致整个系统显得臃肿。
你可能尽了最大的努力,但仍然达不到图中的目的地,但代价是你的头发和大量的时间。 你会进入那些超出你能力范围的领域,然后停止前进。 最后,你对现实感到沮丧,退出了项目,留下一堆烂摊子。
开发人员应该做的第一件事就是直奔目标。 在项目启动之前,开发商应该有一个基本的规划和发展方向。 从一些基础内容开始,等到游戏的核心确立之后,再考虑拓展你认为有趣的内容。
在这篇文章中,我将主要介绍一些游戏制作的基础知识,以及如何提高构建随机副本的成功率,特别是如果你充满热情但不知道从哪里开始。
需要注意的是,这并没有教你如何停止你正在开发的 Roguelike 游戏。
编程语言
第一个也是最常见的问题:使用哪种编程语言?
答案只有两个字:任意。
更复杂地说,语言并不重要。 如果您已经有使用编程语言的经验,请使用它来开发游戏。 语言只是达到目的的手段。 几乎任何编程语言都有相应的Roguelike游戏。
如果你真的不确定,这里有一个建议:
Python 代码示例
Python的易用性使其成为Roguelike新手的最佳选择。 上面的代码中不会有很多奇怪的语法。 即使开发人员不懂编程或Python,他们仍然可以清楚地看到它表达的内容。
不过,不要仅仅因为“简单”的标签就认为Python的可扩展性很差。 您仍然可以使用 Python 做出精彩的设计。
《Ultima Ratio Regum》是一款用 Python 编写的开放世界游戏。 虽然游戏尚未完成,但已经令人印象深刻。
《折磨神庙》也是用 Python 编写的
使用 Python 制作的 Roguelike 游戏有数百款,许多开发者都表示开始使用 Python 会让你的开发过程更加顺利。
Roguelike 开发者使用的语言列表
当然,如果你能掌握C或者C++等更复杂的语言,那就更安全了。 毕竟它们已经存在很长时间并且拥有很多用户。 相应地,他们的参考资料和咨询渠道也更加广泛。 C++是我经常使用的语言,只是因为我比较熟悉它游戏制作入门,但是我不建议初学者进入它,尤其是当你设定目标是做一个Roguelike时,如果你不熟练你会花费很多时间调试。 总之,python会更适合roguelike开发者,而且同行的存在也能保证你可以获得海量资源。
Roguelike游戏内容
初学者经常遇到的另一个问题是:创造自己理想的 Roguelike 是开发者的首要目标吗?
我的回答是:不。
新手往往会犯很多自己没有意识到的错误,积累经验对他们来说更重要。 更重要的是,游戏开发的重点并不是一成不变的。 它会随着进步而改变。 在开始一个较大的项目表之前,最好有一两次完整的开发经验。 从小项目做起也能更好地体现努力的回报。
现在,让我们回到之前的Roguelike游戏流程图。 我们需要关注的主要要素是:
这条路径涵盖了Roguelike应该具备的基本要素(之所以“comba格斗”这一行有一个问号是因为我认为Roguelike不一定需要格斗内容)。
这些元素可以直接构成一款Roguelike游戏,当然也可以算是一款扩展性很强的Roguelike的基石。 虽然游戏的资料片内容充满了诱惑,但是在开发初期最好还是放低自己的态度。 感觉就像在玩Roguelike游戏。 如果你没有任何目的地在地下城里闲逛,你可以根据自己的感觉探索未知的区域。 ,那么你也可能在没有任何警告的情况下牵着狗,一次又一次。 尽管这可能是一种另类且有趣的游戏方式,但开发 Roguelike 游戏与玩游戏完全不同。 需要更多的时间投入,对于开发者来说保持专注更为重要。
然而,制作 Roguelike 最酷的事情之一是它可以容纳各种元素。 当你认为这对整个游戏有好处时,你可以尝试将其添加进去。
一旦游戏的主干确定了,你就可以尝试添加一些风格元素
之后就可以根据玩家的反馈和建议对游戏内容进行扩展和迭代。
不断丰富组件
最后,当你回头看的时候,你会发现游戏的规模变大了好几倍,你甚至不知道自己这几年是怎么度过的……(XD)
o_O
核心机制
一款小型 Roguelike 游戏真正需要具备哪些要素? 核心机制,这是整个游戏的出发点。 一句话概括,就是一款可以作为原型、可以直接玩的作品。
游戏的核心机制代表了你对 Roguelike 的独特视角。 开发者需要更多地思考,这个游戏机制能够支撑这个游戏的乐趣吗? 再者,这个机制是否也能服务于游戏后续添加的内容呢? 玩家每分钟的游戏时间有多少与此机制相关? 如果游戏内容过于重复,失去了应有的乐趣,那么你最好不要在上面堆砌更多的内容。
可视化的核心机制是Roguelike的设计基础
因此,在游戏demo中,开发者只需要设计一些必要的外部因素(图形、音效等),而重点是测试核心机制。 上图中的分支可能会让一些人望而生畏,但它只代表一种可能。 许多 Roguelike 游戏的设计都非常简单。
为了进一步探讨这个话题,我们可以举一个例子:7DRL。
7DRL
“7DRL”是指在7天内制作一款Rouguelike游戏。 每年三月都有一批开发者参加这个活动,至今已经连续举办了14年。 只要你能完成游戏,就会有人玩并提供建议。 评审们也会从不同角度给出游戏评分。 与游戏开发大赛相比,7DRL更像是一个挑战自我的舞台。
每年出现在 7DRL 上的 Roguelike 游戏数量
每年都会有超过一百款新的 Roguelike 游戏出现在这个活动中。 虽然这个阶段不适合初学者(压力太大),但确实是了解Roguelike制作、积累经验的绝佳平台,尤其是技术方面。 时间压力感对于开发者来说有很大的帮助。
对于开发者来说,《7DRL》是建立核心机制、逐步拓展游戏内容的典型案例。 活动期间,你可以看到许多富有创意和实验性的作品。
骑士
例如,在《骑士》中,玩家大部分时间都在骑马。 图中蓝色区域是玩家唯一可以移动的区域。 玩家每轮只能移动一个位置。 这一举措提高了游戏的策略性。 面对移动的敌人,玩家需要计划攻击,以便在移动中击败他们。
在另一款弹幕躲避Roguelike游戏中,你将控制一艘宇宙飞船。 虽然攻击范围有限,但敌人的弹幕射击速度让你有足够的时间进行预判和闪避。
七日乐队
《七日乐队》采用开放式构建玩法,让玩家在游戏过程中打造属于自己的Roguelike。 当你遇到新的敌人或物品时,你可以编辑他们的名字和能力。 “Band”的意思是创建你自己的类似Angband的游戏。
注:《Angband》是一款经典的Roguelike游戏,是《暗黑破坏神》的创意来源之一。
《破瓶》是一款叙事型 Roguelike 游戏。 玩家将扮演一个末日世界的酒鬼。 饮酒量与角色的经历有关,故事的走向由玩家选择。
虽然《Drakefire Chasm》也是一款地下城冒险游戏,但主角确实是一条与冒险者和怪物战斗的龙。 游戏取消了物品的设计,单纯依靠升级和打怪来提升能力。 游戏仍在更新中。
在金皇冠酒店,你可以在人类和吸血鬼形态之间切换。 游戏终于走上了商业化之路,并在过去的一年里在Steam上取得了不错的成绩。
这就是“Cogmind 7DRL”的原型()。 你将扮演一个机器人。 你需要通过找到的零件来提高自己并击败其他机器人。 由于零件容易损坏,因此需要经常更新。 后来游戏也成功走上了商业化道路。 我没想到六年前的7DRL工作最终会成为我工作的一部分,但这也证明了游戏的核心机制足够有趣。
我在今年7DRL上制作的游戏是《POLYBOT-7》(),它和《Cogmind》有些相似游戏制作入门,但核心机制完全不同。 玩家无法选择安装哪些部件。 通过的零件会自动附着在机器人身上,无法取下,只能等待自然损坏。 我原本打算制作《Cogmind》的缩小版,但随着 7DRL 的临近,我意识到这个想法不值得追求——新游戏需要新的、不同的核心机制。
7DRL以外的例子
我们还可以看看一些不是在 7DRL 上制作的游戏。 其中一些花了数年时间制作,包含大量系统和内容,但你仍然可以看到它们是如何围绕核心机制展开的。
(为了偷懒,我只列出了游戏名称和地址)
法师公会
(:///节点/8)
恶魔
()
地面让路
()
塞诺马林
()
网络黑客
()
资源
开发roguelike游戏最重要的是什么? 获取信息。 不仅有基础知识和疑问解答,还有游戏进步和创意滋养。
开发者在开发过程中遇到的问题各有不同,但都可以利用网上资源来解决。 尽管您不一定与其他开发人员合作,但仍然应该接受一些必要的建议。 这是我多年发展中得到的血淋淋的教训! 我早期做游戏的时候,都是闭门开发,进度相当缓慢。
Reddit/Roguelike 开发
RoguelikeDev()是全球最大的Roguelike开发者社区。 详细的栏目分类让您找到各种有用的资源。
这些资源包括编程语言的教程,您也可以咨询使用它们的人。
例如,对于文章开头提到的Python开发学习,最简单的方法是使用一个名为“libtcod”的语言库。 我们论坛上有很多相关教程。
与大多数游戏库一样,libtcod 附带了一些常见的基本功能,例如游戏窗口、键盘和鼠标支持、位图字体、调色板等。但它也有许多专为 Roguelike 设计的功能,例如地图生成、透视和寻路功能。
(接下来一大段文字介绍社区,值得一提的是,他们整理了一篇FAQ帖子,涵盖了主题、系统、日程管理等方方面面,如下图。)
Roguelike开发问题合集
()
流氓盆地
此列表仅为一般目录
除了RoguelikeDev之外游戏角色,还有一个已经存在多年的RogueBasin网站(),它的创建者是Santiago Zapata,里面有一堆专注于开发的文章。
尽管内容有些过时,但大多数文章今天仍然具有相关性。 这是我多年前开始的地方,这里有一些鼓舞人心的文章。
Roguelike 电台
Roguelike Radio 是一个由 Darren Grey、Andrew Doull、Mark Johnson 等人主持的播客,不仅包含与开发相关的主题,还包含对开发者的采访。
Roguelike Radio 过往节目列表
一旦掌握了知识,实际操作就不缺少素材了。
资产
以下是我们常用的一些资产:
说实话,ASCII 在很多事情上都做得很好,通过前景色和背景色的巧妙组合,你可以创建一些非常漂亮的游戏。
在这里你可以看到我多年来收集的ASCII游戏截图的可能性。
当你选择使用ASCII或者类似ASCII的tilesets时,你可以尝试我做的编辑器——REXPaint(可以和libtcod同时使用)。 你可以用它来制作一些界面、地图甚至艺术设计。
REXPaint 的图标、界面和示例显示
图块集
如果您不想因为图形而耽误玩家,可以尝试使用图块集。 虽然它们只是占位符,但它们可以具有极其鲜艳的颜色。 在 RoguelikeDev 的侧边栏中,您可以找到一堆图块集的链接。 虽然大多数都是免费的,但有些需要付费。
对于一些开发人员来说,图块集有助于激发他们的想象力。 虽然视觉效果并不是让你的游戏脱颖而出的因素,但拥有漂亮的皮肤确实很重要。
赢在起跑线上
在文章的最后一部分,我想讨论一下设计 Roguelike 游戏时从哪里开始以及应该关注什么。 也许你只是满足于让你的角色在屏幕上移动,更重要的是,你只是希望其他人能像你一样喜欢这个游戏。
你需要使用一些手段让玩家注意到你的游戏。
我们之前讨论了游戏的核心机制。 这是最有效的方法,因为它和玩法关系最密切,而Roguelike本身就是一种玩法。 如果游戏失去了可玩性的乐趣,那么永久死亡就不可能了。
精致的视觉效果在传统的Roguelike游戏中并不多见,但现在很多游戏都在朝这个方向发展,对玩家的吸引力也是显而易见的。
但在这里,我想说的是游戏的主题,这是一个被大多数开发者忽视的做法。
主题
市面上有大量奇幻主题的地下城游戏,如果你想脱颖而出,最好避免地下城类型。
Roguelikes 通常具有良好或有趣的游戏玩法,但独特的主题不仅使您的游戏独一无二,而且还为您提供了解释新机制的机会。 大量的历史神话资源是一个可以开采的宝库,现有的科幻Roguelike很难满足玩家的需求。
近年来,我们看到了很多题材独特的Roguelike游戏。
MakaiRL充满日本神话色彩
《血色四月的天空》以第一次世界大战为背景
这些是一些易于掌握的游戏,尤其是当它们可以玩时(上面提到的游戏仍在开发中。)
已完成的《孤独的洞穴探险者》有许多奇特的洞穴景观。
Roguelike 社区中还有一些未完成的主题,例如海盗。 我们确实看到了相应的游戏出现——Pirate Rogue,这是论坛历史上请求最多的游戏之一。
不幸的是,《Pirate Rogue》陷入了概念阶段,开发人员意识到游戏需要远远超出他们当前的体验,尽管这款游戏如此受欢迎。
超级英雄和赛博朋克也是备受期待的主题。
这里我想谈谈一款让我印象深刻的游戏,装甲指挥官。
在游戏中,你将控制一辆二战坦克,带领士兵投入战斗。 开发者格雷戈里·斯科特在进入游戏制作时编程经验有限。
一年后,游戏完成并在 Rock, Paper, Shotgun 网站上进行了报道。
从没有游戏制作经验到出现在知名游戏网站,虽然有运气加成,但也少不了独特的题材。
另外,开发者还应该注意,你的游戏不一定需要遵循roguelike规则。 我们经常看到开发者提出了他们想做的游戏创意,但却担心他们是否会因为看起来不像 Roguelike 而被拒绝。 这并不重要。 有多少玩家就有多少种 Roguelike 的定义。 只需确保游戏实现您的设计理念即可。
XRL
除了绞尽脑汁想出一个独特的主题之外,还有另一种现成的方法,我们称之为“XRL”。 () 这种方法是基于现有的IP,这会节省你大量的设计精力,你只需要考虑如何使它适合roguelike游戏。 有了XRL,你可以专注于游戏的基础构建,但相反,它也会限制你的想法。
但要小心,一定要小心那些特别在意知识产权的公司,比如任天堂。 XRL更适合兴趣爱好或者用来练习技能的项目。 不要想着获得任何商业回报。
(我还想知道作者是不是不怕东半球最有权势的法律部门找上门来,下面是解释。)
当然,你也可以借此积累粉丝,为你以后的创业之路打下基础。
一些可以帮助您走得更远的提示
“早产”与高产
“早产”和高产是Roguelike发展的常态。 游戏内容被压缩成可玩的样本并尽早发布。 通过这种方式,您可以获得一些有价值的反馈,这对长期项目有益。
开发者日志
在一个地方发布开发信息,例如博客。 它可以帮助您:
整理思路;
从不同的角度看待你的工作;
记录开发进度;
建立一个长期参考的对象;