我如何在周末为 Open Jam 编写一个开源视频游戏

我为今年的 Open Jam 制作了一个受旧式 Altair 8800 启发的视频游戏。
3 位读者喜欢这篇文章。
5 arcade-style games for Linux

Cicada Strange 在 Flickr 上, CC BY-SA 2.0

每年,Itch.io 都会举办 Open Jam,这是一个游戏创作活动,开发者在一个周末内构建一个开源视频游戏。今年的 Open Jam 从 10 月 28 日持续到 10 月 31 日。

Open Jam 是一项友好的竞赛,没有奖品,这使其成为尝试新事物、试验新的游戏创意或学习一门新的编程语言的绝佳机会。虽然项目不一定需要使用开源工具构建,但提交的游戏需要具有开源许可证。Open Jam 的参赛作品会根据游戏的开源程度获得“karma”或奖励积分,例如创建游戏使用了多少开源工具,或者是否在开源操作系统上运行。

每个 Open Jam 都有一个特定的主题,今年的主题是“黑暗中的光明”。由每个开发者来解释如何将该主题应用到他们自己的游戏中。我参加了 Open Jam,游戏名为 Toy CPU,这是一个简单计算机的模拟器,您可以使用“开关和指示灯”对其进行编程,类似于旧式 Altair 8800 或 IMSAI 8080。

Image of a Toy CPU simulator.

(Jim Hall,CC BY-SA 4.0)

Toy CPU 在比赛中表现良好,在提交给 Open Jam 的六个参赛作品中排名第二。虽然今年的投票不多,但看到游戏表现如此出色仍然很酷。

在周末为 Open Jam 编写游戏非常有趣。回顾这段经历,我想分享关于如何在如此短的时间内编写游戏的三个经验教训。这些教训适用于开发任何类型的程序,而不仅仅是游戏。

管理范围

几天时间不足以编写一个新游戏。为了取得成功,您需要对自己在有限的时间内真正能完成多少工作保持现实。您能够实际实现的功能将影响游戏的设计和目标。

保持简单以管理范围。狭窄的焦点将帮助您在截止日期前完成游戏。避免在完成原始目标之前添加新功能的诱惑。

需要计划

Open Jam 不会提前公布主题,因此您需要等到 Open Jam 开始后才能确定您想做什么。但是当目标明确后,花一些时间考虑一下您想做什么,以及目标应该是什么。

这对于任何项目都是一样的。在您可以制定计划之前,您需要知道自己要去哪里。项目的目标有助于定义您需要做什么才能到达那里。

原型实验

Open Jam 并不是我第一次编写 Toy CPU,尽管这是我第一次编写完整版本。我对复古计算很感兴趣,几个月前我编写了一个类似的计算机原型,尽管它缺乏使用“指示灯和开关”模型输入程序的能力。

这个粗略的原型足以告诉我如何编写更完整的 Toy CPU — 事实上,我后来更新了原型,使其可以使用 ncurses 在 Linux 上运行。这个“版本 2”原型帮助我弄清楚用户如何与 Toy CPU 交互,以使用“指示灯和开关”输入程序。

我计划将 Toy CPU 重写为图形模式的 FreeDOS 程序,但一直没有找到时间。当 Open Jam 公布“黑暗中的光明”主题时,我意识到这是一个重写全新版本的 Toy CPU 的绝佳机会,并在原型设计过程中学到的知识基础上进行构建。

您可以在我的 GitHub 存储库中找到 Toy CPU 的完整源代码。Toy CPU 是在 MIT 许可证下的开源软件。

接下来阅读什么
标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发者,以 GNOME 中的可用性测试以及作为 FreeDOS 的创始人 + 项目协调员而闻名。

评论已关闭。

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