出于对创建 Roguelike RPG(例如 Nethack、Rogue 和 ADOM)的兴趣,哪种编程语言最适合?为什么?
使用您选择的语言,请务必列出使其特别适合的语言的任何库或方面。
出于对创建 Roguelike RPG(例如 Nethack、Rogue 和 ADOM)的兴趣,哪种编程语言最适合?为什么?
使用您选择的语言,请务必列出使其特别适合的语言的任何库或方面。
早在那天我尝试使用QuickBASIC编写 Roguelike 游戏时(那是 1988 年)。不是推荐的方法......
那里仍然有一些开发圈。这是一个关于 Roguelike 开发的常见问题解答,还有一个专门讨论这个问题的博客。
一如既往,这是一个非常个人的选择:-)
我用 Java 编写了我的 Roguelike 游戏(暴君),原因如下:
编辑:对于那些感兴趣的人来说,它是开源的,所有代码都可以在SourceForge获得
好吧,我在 C 语言中制作了几个 roguelike,在roguebasin上花费了相当多的时间,这是一个与 roguelike 开发相关的任何东西的好网站。
至于你应该使用什么语言,我真的不认为它有很大的不同。我选择 C 是因为它的可移植性,而且很多库都可以很好地使用它。但是面向对象的语言可以清理一些你可能不想跟踪的东西。
对于roguelikes,我认为没有任何语言比其他语言更出色。如果您要使其图形化,您可能更喜欢内置的东西,例如闪光灯/silverlight。但即便如此,也有任何其他语言的库在这方面给它们带来了大致相同的难度。
所以我会说选择一门你知道和喜欢的语言,或者你不知道但想学的语言..
这些答案中的大多数都很棒,但是对于可以在 C++ 中滥用的面向对象的东西和低级命令的综合力量,还有一些话要说。如果您正在寻找一些灵感,NetHack 的 C 源代码是广泛可用的,并且记录得很好,您当然可以四处寻找以了解一些东西。也就是说,这是一个几十年来一直在增长的巨大项目,并不是所有的东西都像你想要的那样干净,因为你会为自己的项目想要一些东西——不要根据你在 NetHack 中找到的东西来做出糟糕的设计选择.
不过,老实说,就您使用的内容而言,它可能根本不重要——尽管我强烈建议您使用 OO 语言。在 Roguelike 游戏中(真见鬼,真的是任何 CRPG)都有很多垃圾需要处理,以至于 OOP 是保持理智的最简单方法。
最初的 nethack 是用 C 语言编写的,如果您想了解它的编写方式以及您可能发现的挑战,这可能是开始决定一种语言的好方法,可以使用该源代码。
我的第一个问题是该游戏是否将具有基于 Web 的 UI 或者是某种控制台/窗口事件,如最初的 Rogue-like 游戏?如果是前者,我会说您喜欢的任何语言都是不错的选择。Ruby on Rails、Python/Django、PHP/CakePHP 等都会很棒。
但如果答案是后者,这是一款你希望人们能够在本地下载和安装的游戏,我将使用 Java。这是一门很棒的语言,无需您处理任何内存管理。由于实时编译和优化,它实现了非常高的性能,它有一个非常丰富的库来帮助你处理数据结构,Swing 制作了一些非常漂亮的 UI,2D 库允许最丰富的跨平台在 PostScript 之外渲染。它还具有跨 Windows、Mac OS X 和 Linux 的可用性,这是您无法从其他一些选择中获得的。
最后,通过 Java Web Start 也可以轻松分发您的应用程序,因此人们在拥有 Java 后只需单击几下即可下载和安装游戏,并将其保留在他们的机器上,只要他们喜欢就可以运行。
对于制作任何游戏,任何语言都是正确的,如果:
我认为对于 Rogue-Like 来说,只要它在你的目标上运行,你知道的任何语言都是正确的。在这种游戏中,性能并不是真正的问题。如果您的世界生成确实很复杂,那么世界生成可能需要高性能......
只需使用可以为您处理低级细节的东西。无论您知道什么都应该有效。
嘿,他们可以用javascript写一个。
我推荐Actionscript
那些游戏。
你可以考虑 Silverlight。
它位于 C# 和 .Net 之上,因此无需担心内存管理。使用 SL,您将获得对场景图类型渲染的内置支持 - 剔除不在屏幕上的事物、键盘、鼠标事件、对象点击等。
有一个初步的学习曲线,但我发现这是一个很好的工作环境。