译文仅供参考,仅用于学习交流,请勿转载,谢谢!
作者:Danielle Riendeau
原文标题 : The best free game making tools
原文链接:点击跳转
正文
入门游戏开发并不需要很多成本,有许多强大的工具都可以免费获得,业余爱好者、学生或是有一定经验的人都可以使用这些工具潜心创作。从Bitsy、Ren’py这一类小型专业游戏引擎,到Unity、Unreal一类的大型工具的免费版,这里列举了一些最低门槛、最好用的免费工具。
更新了社区建议的免费工具和引擎列表。
目录:
- 你想做什么类型的游戏?
- 最好的免费游戏引擎
- Bitsy
- Ren’Py
- PuzzleScript
- Unity
- Unreal Engine
- Godot
- Game Maker Studio 2
- Game Boy Studio
- 在选择游戏开发工具时,你应该考虑哪些因素?
- 反馈建议
你想做什么类型的游戏?
在你考虑使用什么工具集/引擎时,你需要问自己的第一个问题就是:你要做什么类型的游戏。我总是跟我游戏设计课的学生说,要把范围尽量缩小(也就是说,尽量把项目计划得小一些,才更有可能持续推进、保证完成!) 开发者John Thyer有一篇很棒的博客文章,写到如何制作优秀的小游戏。
不过这只是说范围:大多数游戏类型所包含的范围都很小。所以想想你想做什么,第一人称射击(first person shooter)、恋爱模拟(dating sim)、方块消除(block puzzler)、赛车(racing)还是其他什么类型的游戏,再选择你要用的工具。下面列出的工具中,有些(例如:Ren’Py和PuzzleScript)更针对特定类型(针对视觉小说和2D解谜游戏),而其它工具,比如Godot、Unity、Unreal,则更宽泛一些。
最好的免费游戏引擎
游戏引擎是什么?它是软件的集合体,这些软件让用户(或用户团队)能够把资产(如原画、动画、音效、音乐元素等)与代码结合在一起,用代码指示所有内容在游戏环境会如何产生互动。游戏引擎可以简单地比喻成一种可交互的舞台剧:角色、物体、原画/声音资产这些东西就像是演员和道具,代码则像是剧本,是指挥各所有内容如何相辅而行,与玩家产生互动的“规则”。
在很多引擎的引擎环境中,你还可以制作简单的资产(如2D游戏的精灵(Sprites),3D游戏的模型或音效);而大多数引擎也都支持在项目中导入其他程序制作的内容。
Bitsy
Bitsy是一个易于上手、基于浏览器的工具,特别适合做小游戏的开发者。它的技术限制:一块小画板和友好简单的编程系统,反而让创作者更能发挥创意,而且它的社区非常繁荣(包括定期举办的game jams),经常产出眼前一亮的作品,突破了简陋框架的限制。我个人会把Bitsy推荐给我游戏设计课上的所有学生,尤其是他们需要完成小范围的工作,获得项目经验,这些内容也同样适用新人游戏开发者。
Bitsy游戏支持导出HTML文件,通常会分享在itch.io上。
Ren’Py
你如果喜欢视觉小说以及相关的作品,功能多、易上手的Ren’Py肯定当仁不让。来自其官网:“Ren’Py是一个视觉小说游戏引擎——世界上无数的创作者都在使用——能帮你用文字、图像和声音,在电脑和手机设备上,讲述一个可互动的故事。它们可以是视觉小说,也可以是生活模拟游戏。易于学习的脚本语言让谁都可以高效地创作长篇视觉小说,而它也完全可以用Python脚本创作复杂的模拟游戏。”
Ren’Py游戏支持导出web/HTML5、Windows、Linux、Mac、Android和iOS。
PuzzleScript
PuzzleScript是一个基于浏览器的工具,用于创作基于瓦片的解谜游戏。通常会将《仓库番》(Sokoban,译注:经典推箱子游戏)与有趣的标题联系在一起,比如《雪人难堆》(A Good Snowman is Hard to Build)(也是用这个工具开发的!)。不过它的规则很灵活,可以围绕“推”这个核心机制,开发各种各样的内容。
PuzzleScript游戏支持导出HTML。
Unity
Unity和Unreal是列表中最重量级的两个工具,出产过不计其数的商业游戏产品(包含各种类型),而且还有免费的个人许可证,可供小伙伴们入门与精通(根据许可证的条款,还可以发布作品)。Unity的官方网站也有相当强大的学习站点,包含超多超长的教程以及相关在线内容:你应该也有在Game Developer上注意到相关的内容!Unity非常泛用,支持2D/3D模式,可以用来制作可以想到的几乎所有类型的游戏。
Unity中使用C#编程,项目整体由场景、游戏物体组织构建而成,挂载在游戏物体的C#脚本负责指示游戏物体的行为、交互。
Unity有专门为新人提供的学习站点(译注:国内可以看这个→Unity中文课堂)。
想用Unity开发视觉小说的话,那我们得安利你看一下这个非常适合初学者的GDC演讲,由Secret Lab发起,介绍它们的开源工具Yarn Spinner。
Unity游戏支持导出web/HTML5、Windows、Linux、Mac、Android、iOS、所有主流主机以及各种AR、VR应用。请注意,免费许可证并不一定支持某些导出方式。
Unreal Engine
Unreal Engine, 列表上的另一个重量级游戏引擎,为小伙伴们也提供了免费的个人许可证。Unreal和Unity有很多相似之处,也有很多相异之处。与Unity相似的是,Unreal适合制作几乎所有类型的游戏,同样支持2D/3D作品。
对Unreal感兴趣的话,可以到它的专门学习站点寻找教程和其他资源。
Unreal游戏支持导出web/HTML5、Windows、Linux、Mac、Android、iOS、所有主流主机以及各种AR、VR应用。请注意,免费许可证并不一定支持某些导出方式。
Godot
Godot是一个开源游戏引擎,在过去几年里异军突起,尤其是独立游戏开发者需要找一个Unity或Unreal的替代品(尤其是开源的需求)。
Godot的开发者也需要使用C#(行业标准的脚本语言)或是根据需要使用 GDScript。
从整体结构上,Godot使用的是节点、树、场景和信号:游戏可以说是节点树,在场景中管理,而信号则用来将场景“连”在一起。
Godot游戏支持导出“桌面或手机,web也可以”。
Game Maker Studio 2
Game Maker Studio是一个非常强大的工具,出产过不少相当成功的商业独立游戏,比如《传说之下》(Undertale)、《光明旅者》(Hyper Light Drifter)和更近一点的《浮岛物语》(Forager)这些经典作品。
Game Maker Studio的免费版可供用户(尤其是新人开发者)入门,使用拖放的简单交互操作在一小时内做出一个游戏(点这里可以看它的核心街机游戏教程)。
请注意,免费版工具对作品发布有着极为严格的限制。为了在GX.games平台之外的地方发布你的作品,你需要升级到creator、indie或enterprise层级。
Game Boy Studio
Game Boy Studio是另一个简单、可拖放操作的游戏引擎(它也可供有经验的程序员在底层开发) ,开发者(译注:该处链接是使用该引擎制作的游戏 Kudzu 的游戏开发日志)可制作任天堂钟爱的复古掌机风格的游戏:使用固定颜色的调色板,以及专注于行动的其他限制。
Game Boy Studio官方网站:“你可以生成能在模拟器、网页或Game Boy实体机上运行的ROM文件。”
在选择游戏开发工具时,你应该考虑哪些因素?
现在我们已经了解过一些不错的选择,接下来是我们在选择游戏开发工具箱时主要考虑的一些因素。还是一样,思考一下你想做的游戏类型、你对玩家体验的目标、你自己的需求和创作倾向,让它们去做决定。
游戏用户交互界面( Game User Interface)
你需要选择用着舒服的工具箱,它能给你提供适合你、你的工作风格、你的目标的用户交互界面。上面有些游戏引擎支持拖放式的交互(包括Game Boy Studio),而大型工具箱,像Unity和Unreal支持根据你的工作流程高度自定义界面。货比三家,多看看教程,找到最符合你创作者身份的默契工具。
游戏开发支持(Game Development Support)
无论你选择了哪个工具,遇到疑问、难题的时候,都会希望得到良好的开发者与社区的帮助。浏览这些工具的时候,看看引擎的支持页面、教程资源或社区资源,确保你需要的时候能获得帮助和指导。
游戏引擎工具箱(Game Development Toolset)
有些引擎会有个简单的工具集,使你的工作流程更加高效。比如,你想用内置的精灵创建工具创作一个非常小的游戏,Bitsy就可能给你带来出其不意的效果;你想做一款简单但功能齐全的FPS游戏,就可以直接打开Unreal,开始绘制一系列房间就好。想想你游戏的需求、你对玩家体验的目标,以及你理想中的工具箱会怎样帮你做到最好。
游戏创意软件:游戏逻辑(Game Creation Software: Game Logic)
游戏逻辑:或者,简单来说,游戏的核心结构、机制是一门很深奥(而且庞大)的学科,值得数年的深入研究。从核心合刊,你游戏的逻辑可以归结为几个关键要素:你(玩家)正在做什么:你该如何与游戏世界互动,它又会如何做出应对?如果我正在玩赛车游戏,踩下了刹车,我会(通常来说)不断减速直到停下。如果我正在玩平台游戏,我向右跑并按下了“跳跃”按钮,根据动作执行时所处的地形,可能会跳到一个设定好的纵向距离和横向距离。
你在游戏中编写的每一个脚本和设计决策都将融入游戏逻辑中。
你会有自己想设计的游戏,而你选择的游戏工具箱必须的有能力帮你实现这些逻辑,所以得好好根据这点选择游戏引擎。评估一下自己的编程技术和舒适区:也许你在Unreal、Unity或Godit中,C#脚本写得如鱼得水;或是在Ren’py里,Python脚本用得炉火纯青。再或者,你有可能会专精于其中一个可以用拖放式交互界面抽象化的引擎。
游戏设计工具(Game Design Tools)
游戏设计是一个庞大而高深的领域,我们在Game Developer上专门为游戏设计类的文章设置了一个完整的分区。记住,你所选的工具箱应该能够补充和支持你的目标(以及你对玩家体验设立的目标)。
游戏整合工具(Game Integration Tools)
你需要引擎和Photoshop、Blender、Aseprite或其他的资产创建软件能达成什么程度的协作?在决定工具和资产创建流程时,你需要思考一下工作流程更适合集成哪些内容。
游戏动画工具(Game Animation Tools)
动画是大部分游戏为作品注入生命力、活力和/或过场的通常方式。它可以像包含数百个角色的超精细3D动画那样复杂(想想某款《刺客信条》(Assassin’s Creed)游戏中繁忙的街道或市场场景),也可以像菜单栏中的一个高亮变化那样简单。
你的动画需求将在很大程度上取决于你的游戏风格和规模,其中一些工具集支持简单、更适合该游戏类型的动画(Ren’py、GB Studio、Bitsy等),而Godot、Unity和Unreal则为2D/3D的动画需求提供了强大的编辑器:你通常会在另一个程序中创建这些动画,再将其导入到你的引擎中。
游戏物理工具(Game Physics Tools)
考虑你游戏里的物理需求:你是否正在制作一些物理模拟的内容,受到重力、弹射物的速度、玩家或其他角色(或载具)的动量的强烈影响,以保证“不违和”?如果是的话,你最好先学习拥有强大物理功能的工具箱(如Unreal和Unity)。对于其他类型的游戏,像是视觉小说、RPG、或是不依赖物理的解谜游戏,你可以使用更轻量的工具箱。
游戏音频工具(Game Audio Tools)
有些小型引擎可在引擎中创建音效和音乐,但是大多数引擎都需要你从其他应用程序中导入。比如在这个列表中,GB Studio可以在引擎中直接创建音乐和音效,而如果想在Unity里设置音效和音乐,你就需要将音频资产导入,然后把它们与检查器(inspector)窗口相连。
游戏测试工具(Game Testing Tools)
和所有软件一样,游戏也需要测试,包括可玩性(你需要呈现给测试玩家已获得反馈)和功能性(所有内容都可以正常运行?)无论你选择什么引擎,打算制作多大规模的游戏,都应该设定计划,定好测试,为测试玩家打包,创立用于收集反馈、bug调试的系统。
游戏导出工具(Game Export Tools)
一旦你对自己的游戏已经足够满意(你可能已经为此进行了多次迭代),你会想要导出,然后分享你的成果:可能会在商业平台或其他站点获得反馈。这里列出的各种引擎,各自支持不同类型的导出,请检查每个条目下的介绍,了解能够导出的文件格式和平台。
游戏发行工具(Game Publishing Tools)
无论你想做什么游戏,都需要考虑一点,就是你想把这个游戏放到哪去!你正在game jam中开发游戏吗,可能还想让其他人更容易玩到?考虑考虑能简单导出成HTML或是能简易导出PC版的工具。想创造VR体验?在这个列表中,Unity和Unreal也许是你最好的选择 。发行也直接关系到下一个问题:你要发行在哪个平台?
游戏平台(Game Platforms)
这和游戏发行息息相关:你的目标是哪一个平台?你还需要确保任何付费引擎的免费许可证允许你发行在你选择的平台上。无论何时下载新软件,都请确保你检查了该工具官网上的许可协议。
社区建议
自从这篇文章当初发表以来,社区中的许多开发者都分享了他们认为有用的免费引擎,以及其它游戏制作工具的资源。我们在这里附上了其中的一些建议。
- Decker
- Narrat
- LÖVE
- Pocket Platformer
- Inform 7
- plingpling/flickgame
- Adventure Game Studio
- engine.lol
- Construct
- Herobook
- Twine
- Playdate Pulp
- bipsi
- GDevelop