Roguelike 游戏入门

我玩过许多不同类型的视频游戏,但 Roguelike 游戏是我最喜欢的一些。在我深入探讨原因之前,让我先向那些不熟悉 Roguelike 游戏的人介绍一下它们。

Roguelike 游戏类型早在 1980 年就诞生了,当时一款名为 Rogue 的游戏发布。在 Rogue 中,你的角色在一个二维的 ASCII 地牢中行走,与奇幻怪物(由 ASCII 字母表示)战斗,寻找物品(由标点符号表示),并努力生存。后来,又发布了一些现在广为人知的游戏——包括“四大”:AngbandNethackADOMCrawl。1987 年发布的 Nethack 可能是所有传统 Roguelike 游戏中最广为人知的,它的流行使其成为计算机文化和传说的一部分。

尽管你们中的许多人从未玩过传统的 Roguelike 游戏,但你们很可能玩过非传统的。暴雪公司的著名游戏 暗黑破坏神暗黑破坏神 II 与典型的 Roguelike 游戏有许多共同之处,只是它们拥有精美的图形、精致的用户界面和实时游戏。

有几点让 Roguelike 游戏非常酷——首先,与大多数传统游戏不同,它们是高度随机化的。每次你玩的时候,几乎所有东西都不同:地牢、你遇到的生物、你找到的物品。这使得 Roguelike 游戏具有巨大的可重玩性,这也是它们经过这么多年仍然流行的原因。其次,它们很难,要求玩家利用手头的所有资源来尝试生存。当你的角色死亡时,他或她将永远死亡。通关这些游戏之一是一个真正的挑战,做到这一点是一个真正的成就。第三,也是与本博客和网站最相关的一点,这些游戏通常是开源的。这不仅意味着它们是免费的(这一点很难被超越),还意味着我们可以查看它们的源代码(许多是用 C 或 C++ 编写的)。虽然它们中的大多数没有使用现代编码方法(因此不适合学习如何编程),但它们确实提供了在一个简化背景下查看和讨论一些非常有趣的算法的机会。

许多年轻的程序员决定学习 C++,因为他们最终想编写游戏(我曾经也这样做过)。Roguelike 游戏是理想的起点,因为它们允许程序员专注于代码的结构,而不必花费所有时间创建美术资源和美化界面。Roguelike 游戏用户界面的固有简洁性(本质上只是 ASCII 文本)使它们成为学习和实现新想法和算法的绝佳测试平台,这些想法和算法随后可以推广到完全图形化的游戏,例如大型多人在线角色扮演游戏。而且它们几乎可以在任何计算机上运行,甚至旧的单色惠普工作站。

尽管编写 Roguelike 游戏看似简单,但许多新程序员一旦深入编写 Roguelike 游戏的细节,就会发现自己力不从心。Roguelike 游戏一旦你深入了解它们的内部,就会变得出人意料地复杂,需要艺术化的决策、算法知识、良好的编程习惯和毅力的结合。而这正是它们如此有趣的原因。:)

你如何编写一个随机地牢生成器?或者一个随机物品生成器?你如何进行高效的视野计算,让玩家只能看到光源照亮的地方,而墙壁或其他地形障碍物会阻挡视线?

这些都是我最终想在这个博客上探讨的问题。我认为做一个关于这个主题的教程系列会很有趣,展示如何用 C++ 从头开始构建一个 Roguelike 游戏。与此同时,在我仍在编写 C++ 教程时,我将偶尔在这个博客上讨论 Roguelike 游戏中的各种通用主题。

欢迎查看该类型中的一些主要 Roguelike 游戏,感受一下它们。只要确保你给自己留下了足够的时间来沉迷其中。因为它们真的非常有趣。

guest
您的电子邮箱地址将不会被显示
发现错误?请在上方留言!
与勘误相关的评论在处理后将被删除,以帮助减少混乱。感谢您帮助使网站对每个人都更好!
来自 https://gravatar.com/ 的头像与您提供的电子邮箱地址相关联。
有回复时通知我:  
17 条评论
最新
最早 最多投票
内联反馈
查看所有评论