我如何使用 Scratch 设计游戏

“Make a Difference” 是一款完全使用开源工具、代码和视听内容创建的模拟游戏。
462 位读者喜欢这篇文章。
Scratch for gaming

Wilfried Elmenreich, CC BY

作为游戏狂欢和开源爱好者的我,立刻被去年十月的 itch.io 上的 Open Jam 所吸引。

我决定使用 Scratch 编程语言来创作一款游戏。Scratch 的目标用户是想要学习编程的孩子,它被设计得简单且可视化。

我是一名优秀的程序员,我也使用其他平台进行游戏开发,但 Scratch 最吸引我的是它很容易上手,而且我不需要记住太多东西就可以使用这个平台。这是一个优点,因为我没有太多时间来学习其他平台。

Scratch 是 MIT Media Lab 终身幼儿园小组的项目,Scratch 的编码系统和播放器在 GitHub 上以开源形式提供,尽管 Scratch 最常通过其 基于浏览器的在线版本 使用。后者还配备了云存储和一个网站,用于托管、播放、评论和收藏项目。所有已发布的项目都会自动以 CC-BY-SA 3.0 许可发布,因此作为一名 Scratch 用户,您可以亲身体验开源概念。我甚至使用了另一个 Scratch 项目的代码来制作我游戏中的文本显示。

Scratch programming interface

Scratch 编程语言的编辑器

为了契合 Open Jam “留下印记” 的主题,我的游戏“Make a Difference”是一个模拟游戏,玩家在游戏中航行到不同的城市,通过游说政治和经济模式以及与当地商人进行贸易来影响城市的发展。这个想法的灵感来自于席德·梅尔 (Sid Meier) 令人着迷的游戏 Pirates!,玩家在游戏中通过攻击城市来影响经济和政治格局。

我的游戏需要一张地图,我使用 Red Blob Games 的开源工具 Polygon Map Generator 生成了地图。

Polygon map generator

开源 Polygon 地图生成器被用来创建游戏的岛屿

城市的图形元素来源于 Nicu's Clipart Collection,它是在公共领域许可下发布的。我还需​​要城市内部的图像,所以我使用了维基共享资源 (Wikimedia Commons) 中的旧绘画作品的公共领域图像。

Trading in the game

游戏的设计融入了约翰·亚当·克莱因 (Johann Adam Klein) 绘制的德国美因茨港口画作等元素。 

最后,为了营造帆船的氛围、充满活力的港口以及总督的觐见大厅,我在 freesound.orgAmbient-mixer.com 等网站上找到了 Creative Commons Sampling Plus 许可下的音频样本。

Scratch 的当前版本基于 Javascript,因此它可以在台式机、笔记本电脑、Chromebook 和移动设备上良好运行。

这款游戏当然是在开源许可下发布的,它是许多开源工具的产物,并且建立在开源代码之上。使用所有开源工具感觉是很自然的事情,而且当涉及到使用预制素材时,通常甚至要求最终产品及其所有组件也必须是开源的。我喜欢其他人可以在我停下的地方继续工作,而无需购买软件或获得许可。并且开源并不意味着非商业化——本项目中使用的许可证允许我出售最终游戏。但我决定免费赠送。

Sailing away game image

扬帆起航,改变世界...


本文于 2020 年 3 月更新。

标签
User profile image.
奥地利克拉根福阿尔卑斯-亚得里亚大学 (Alpen-Adria-Universität Klagenfurt) 网络和嵌入式系统研究所智能电网教授。同时隶属于 Lakeside Labs 研究与创新集群。研究兴趣是智能电网、复杂系统和嵌入式通信网络。

贡献者

1 条评论

谢谢,这个时间点太完美了。我一直在寻找一种创建简单游戏的方法,以便与其他一些东西结合使用。我对 Scratch 进行了快速浏览,加入了进来,并将开始创建游戏。再次感谢,Wilfried。

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