在 2017 年 All Things Open 大会上,Michael Clayton 和我做了一个关于 Game Jam 和 开源开发工具的演讲。这是我们演讲的概述。
首先,开发者喜欢创作游戏有很多原因。以下是四个主要原因
- 它包含许多学科,包括创意和技术。
- 它提供了一个有形的、可分享的成果。
- 它与工作是共生的。
- 它很有趣!
你如何开始游戏开发?你可以直接编写一个游戏,但这可能会让人望而却步,因此可能很难知道从哪里开始。“Game Jam”是入门的好方法,让我解释一下如何入门。
什么是 Game Jam?
Game Jam 是一项活动,参与者在约束条件下(例如,有限的时间或主题)创作游戏。
我们最近与 Opensource.com 完成了我们的第一个 Open Jam,这是一个旨在使用开源工具和程序的游戏 Jam。许多从未参加过 Game Jam 的人参与了,我们计划每年秋季重复举办 Open Jam。
我们举办 Game Jam 的灵感来自 Ludum Dare,它是世界上规模最大、历史最悠久的游戏 Jam 活动之一。每四个月,创作者都会受到挑战,在一个周末从头开始制作一个游戏。参与者可以选择两个类别之一:Jam(简单模式)或 Compo(困难模式)。在 2017 年 4 月,Ludum Dare 38 收到了 2,944 个游戏提交。一些排名靠前的 Ludum Dare 游戏后来获得了商业上的成功。
为什么参加 Game Jam?
以下是一些 Game Jam 如何帮助游戏开发者学习的示例
- 它们包含约束:有时,在某些约束条件下工作更容易发挥创造力。Game Jam 提供了时间限制和主题。
- 它们需要团队合作:团队 Game Jam 是与他人一起使用你的技能制作游戏的好方法。例如,你不需要成为程序员——当你与程序员团队合作时,你可以成为艺术家、音乐家或几乎任何角色。
- 它们需要计划和优先级排序:时间限制使你的游戏范围保持在可控范围内,这样你就可以专注于在短时间内制作一些简单的东西。
- 它们治愈完美主义:在 Game Jam 中,你没有时间确保每个像素都恰到好处。
- 它们提供反馈:对于游戏开发者来说,找到玩家可能是一个挑战,但在 Game Jam 中,你有一个庞大而渴望的受众,他们会玩、评分并给你反馈。
- 它们提供友好的竞争:竞争可以激发动力,但主要的回报是你的游戏。
如何使用开源工具参加 Jam
任何人都可以参与 Game Jam,无论是否有经验,但最好先了解你计划使用的工具并熟悉它们。以下是我们最喜欢的一些开源游戏开发工具,类别包括引擎、图形、音频和多人游戏。
引擎
![]() |
Godot 是当今发展最快的免费开源游戏引擎之一。它提供完整的开发环境,并支持 2D 和 3D。(gdscript、C++、C# 即将推出) |
![]() |
Phaser.js 是最好的 2D HTM5 游戏引擎之一,也是我个人最喜欢的。它提供了一个“获取示例”页面,以帮助你入门。 |
![]() |
来自 LÖVE 网站:“LÖVE 是一个超棒的框架,你可以用它在 Lua 中制作 2D 游戏。它是免费的、开源的,并且可以在 Windows、Mac OS X、Linux、Android 和 iOS 上运行。” |
图形
![]() |
Blender 是非常流行的开源 3D 建模工具。它非常适合制作 3D 模型、游戏纹理,甚至是整个游戏。 |
![]() |
Gimp 是使用最广泛的免费开源图像编辑器。它就像一位老朋友;它已经存在很长时间了,当你需要创建或编辑图像时,你总是可以依靠它。它非常适合创建 2D 游戏素材。 |
![]() |
如果你需要矢量图形,请使用 Inkscape。它也是 svg 图像(可以很好地缩放)的绝佳选择。 |
![]() |
Piskel 是一个非常棒的基于 Web 的精灵表编辑器。它也是免费和开源的。它非常适合制作快速的精灵动画。 |
![]() |
Three.js 是一个 JavaScript 库,用于在你的浏览器中直接渲染 3D 场景,而无需插件。它使用 WebGL,并且所有现代 Web 浏览器都原生支持它。它非常适合创建基于 Web 的 3D 游戏。你还可以从 Blender 导入模型。 |
![]() |
Babylon.js 与 Three.js 类似,它也是一个用于 WebGL 的 JavaScript 库,但它还包括物理和碰撞检测等方便的功能。 |
音频
![]() |
Audacity 多年来一直是首选的开源声音编辑应用程序。它是为你的游戏创建和编辑音频的绝佳工具。 |
![]() |
BeepBox 是一款超酷的基于浏览器的工具,用于创建和分享芯片音乐旋律。 BeepBox 的一个主要功能:你可以在几分钟内轻松创建出听起来很棒的曲调——非常适合 Game Jam! |
![]() |
Sfxr 是一个方便的音效随机生成器,它是为 Ludum Dare 10 创建的,现在是 Fedora Linux 发行版默认软件包的一部分。当你需要快速合成音效时,它非常完美。 |
![]() |
Howler.js 是一个出色的 Web 音频库。当我们需要向基于浏览器的游戏添加音频时,它是我们的首选库。 |
多人游戏
![]() |
WebSocket 是一个用于为你的游戏添加多人游戏的出色协议。它在许多不同的技术堆栈中都有许多不同的服务器实现,包括 Node.js、Python、C++ 和 Java。 |
![]() |
Socket.io 是一个用于 Node.js 的实时消息传递框架。其直观的 API 使其成为为基于 Web 的游戏快速设置多人游戏的最简单方法。 |
上面描述的工具仅代表可用于游戏创建的开源工具的一小部分。我们选择这些工具是基于它们的受欢迎程度和我们自己的偏好,但还有许多更出色的工具可用于所有类别的游戏开发。有关按类别组织的免费和开源游戏开发工具的完整列表,请查看 Awesome-Gamedev 列表。你可能还想查看 Scripta Games 和 Open Jam。
选择一个 Jam
一旦你有了工具并准备好加入 Game Jam,以下是如何找到一个 Jam:IndieGameJams.com 是一个独立的日历,列出了几乎所有即将到来的 Game Jam。Itch.io/jams 提供了一个出色的系统,用于在网站上托管和参与 Game Jam;它是 OpenJam 使用的资源。Ludum Dare 每年举办三次;在 ldjam.com 上了解下一次的时间安排

Itch.io 上的 Game Jam 列表
加入团队
许多 Game Jam 允许团队合作。我建议小型团队,参与者不超过四人(两人或三人是理想的)。组建团队的最佳方式是通过与朋友的本地聚会,但另一种选择是 crowdforge.io/jams,这是一个专门为帮助 Game Jam 参与者查找、创建和加入团队而设计的出色网站。
有了你的工具包和目标 Game Jam,你就准备好开始你的游戏开发之旅了。请注意,当你完成你的第一个游戏并看到玩家脸上的笑容时,你就会上瘾。
1 条评论