如何在不编码的情况下创建 Android 游戏
介绍
是否可以在不编码的情况下制作 Android 应用程序?你能不编码就制作安卓游戏吗?这些问题的答案是肯定的。作为开发人员,编码和/或编程几乎是不可避免的,但如果您不想编码但又想制作应用程序,尤其是游戏,该怎么办?在这篇文章中,我将向你展示我是如何在不编写任何代码的情况下创建一个很酷的安卓游戏的。我还将与您分享我在创建游戏时可以使用的思维过程。
无代码技术
现在是 2022 年,我们生活在一个可以通过在页面上拖放元素来创建 Web 应用程序和软件的时代。虽然负责的技术被称为无代码,但这并不意味着不涉及任何代码,它仅意味着开发人员的注意力从编码每一件事上转移到了创造力上。使用无代码技术,开发人员可以专注于用户界面和用户体验 (UI/UX) 等概念。应该注意的是,使用无代码技术构建的软件和 Web 应用程序与使用代码构建的软件和 Web 应用程序没有区别,除非开发人员透露他/她是如何构建它们的。因为无代码使开发人员更加关注可用性、UI/UX 和创造力,所以无代码构建的软件往往比普通软件更好。
当我在 2016 年开始学习 Web 开发时,我很快意识到它会变得有多么压力和耗时,但顺带一提,我发现了一个名为 Mobirise 的工具。该工具可用于基于 Bootstrap 创建漂亮的响应式网站;您需要做的就是在页面上拖放元素,更改它们的主题和/或颜色并根据您想要创建的内容重新排列元素,无论您的技能水平如何,结果几乎总是很漂亮。您可以在几分钟而不是几小时内建立一个具有专业外观的网站。
我停止使用 Mobirise,因为它是高级版,而且几乎所有重要功能都需要高级订阅。因为我付不起额外费用来使用这个有用的工具,所以我被迫学习编码。
快进六年后,我们现在有了 Webflow 等无代码工具,开发人员可以通过在页面上拖放元素来创建网站。的确,这是一个活着的美好时光。
无代码游戏开发
2020 年是我决定(除其他外)成为一名游戏开发者的一年,因此我开始研究。Unity 和 Unreal Engine 曾经(现在仍然是)世界上最流行的游戏引擎,但我遇到了两个真正的问题: 1. 使用这些游戏引擎中的任何一个都需要我学习 C# 或 C++,我的技术堆栈是 HTML5、CSS3 、Python 和 JavaScript,必须学习另一种编程语言似乎需要做很多工作。2. 我使用的是一台非常旧的低规格 PC,它甚至不符合 Unity 或 Unreal 的最低要求。
然后我研究了其他游戏引擎。Godot 和 Defold 是其他可行的选择。Godot 使用一种称为 GDscript 的脚本语言(我学到的与 Python 非常相似。)而 Defold 使用 Lua 作为其脚本语言,Lua 也有点类似于 Python 和 JavaScript,所以我应该没有问题。唯一的问题是我的电脑。
但我没有放弃,继续研究,我发现 GameMaker 2 是一个无代码引擎,可以让您使用可视化脚本创建游戏,我还发现 Buildbox 可以让创建超休闲游戏像玩乐高积木一样简单。这些引擎的唯一问题是它们不能免费使用。(当然,您可以免费试用它们,但它们的大部分重要功能都是高级功能。)最后,我找到了 Gdevelop。
据官网介绍,Gdevelop是一款无代码、简单、免费、开源的游戏引擎。我的兴趣立刻被激起了,一个游戏引擎怎么能拥有所有这些功能并且仍然是免费的?令我高兴的是,Gdevelop 是免费的,并且可以在我的 PC 上运行。下载Gdevelop后,我开始学习如何使用它。
Gdevelop 使用基于 If/The 编程的基于事件的系统而不是编码。如果条件为真,您设置一个条件和一个您希望发生的操作。我在 Covid-19 锁定期间的大部分时间都在观看有关如何使用 Gdevelop 的教程。然后我意识到,即使这个游戏引擎是免费使用和开源的,也可以用它制作出很棒的游戏。从 2020 年到 2021 年,我制作了很多从未出现过的游戏。直到上周,我才开始制作一款我打算向全世界发布的游戏。
使用 Gdevelop 制作 Android 游戏
由于Gdevelop是一个无代码游戏引擎,所以本文没有代码可以分享,我只分享我的思考过程,以及我是如何用Gdevelop制作一个很酷的平台射击游戏的。
资产
游戏资产是构成游戏的文件,例如音乐文件、声音效果、图像和精灵。对于我的游戏,我的大部分资产来自Kenney 的网站。我使用Inkscape,免费的矢量图形编辑器来修改我从Kenney's获得的精灵(精灵是代表游戏角色的图像,如玩家、敌人、硬币和物体。)
游戏理念
为了简单起见,我想做一个无尽的平台射击游戏;从某种意义上说是无穷无尽的,敌人不断产生,玩家不断射击它们,直到它们耗尽生命、子弹或两者兼而有之。我找到了一组拿着枪的兔子的精灵,所以我下载了它,当然在 Inkscape 中对其进行了修改。由于游戏的主要机制是基于无尽的敌人,因此必须有一种输掉游戏的方法和一种跟踪得分的方法,子弹也必须是有限的才能使游戏变得有趣。我还想要一种在一段时间后提供额外子弹和生命的方法,以保持游戏继续进行。这就是游戏的想法,我开始使用 Gdevelop 进行开发。
思考过程
(这不是 Gdevelop 教程,但您可以在Gdevelop 官方 YouTube 频道和Gdevelop wiki 上的文档中找到教程视频。)现在我知道我想要构建什么,我打开 Gdevelop 并开始工作。
首先是通过赋予平台游戏角色行为让玩家在平台上行走。
玩家将在其上行走的平台被赋予平台行为。
接下来,我给角色一个子弹发射行为,让它能够在满足特定条件时发射子弹,例如按下某个键时。我还给角色一个闪光行为,让它在被敌人触摸时闪烁进出。
对于敌人,我创建了生成点,即他们会定期出现的地方,我还让他们寻找角色,以便他们始终跟随玩家,除非他们被杀死。
对于评分系统,我创建了一个变量,每次杀死敌人时都会修改该变量。对于子弹,我还创建了一个初始化为 100 的变量,这样每次发射子弹时,它都会减少 1。
角色的健康也是一个初始化为10的变量;当敌人接触角色一次时,变量减 1。
我还做了它,以便当子弹变量等于零时玩家不能再发射子弹。
当玩家的健康变量变为零时,游戏结束。
玩家可以在一定时间后重新加载子弹,(我不记得我为此设置的确切时间。)创建生成点是为了为玩家提供额外的弹药,每个额外的弹药都会为子弹变量增加 10。仅当弹药变量小于或等于 50 时,生成点才会激活。
我对健康变量做了同样的事情。只有当健康变量小于或等于 8 时,才会创建生成点以提供额外生命。额外生命将健康变量加 1。
对于子弹和健康变量,重要的是确保子弹不超过 100 并且健康不超过 10 无论如何。
这是导致我创建游戏的思考过程。这无需编写任何代码,而是使用 Gdevelop 的基于事件的系统来完成。您可以使用此系统创建几乎任何可以想象的 2D 游戏。我建议您访问官方 YouTube 频道以了解更多信息。
移动控制
由于我正在开发一款为触摸屏制作的游戏,因此我需要创建移动触摸控件,例如“跳跃”、“左”、“右”和“射击”按钮。按钮的用途必须非常明显,并且必须具有响应性。经过一番试验,我将“左”、“右”和“跳跃”按钮放置在屏幕的左侧,让玩家可以用一个拇指控制游戏。射击按钮放置在右侧,以便玩家可以同时移动和射击。
在 Gdevelop 中,移动控件基于事件系统工作。每个按钮都附加了一个触摸条件,它们执行的操作是根据它们的功能指定的。
使游戏可用于 Android
Gdevelop 具有将 Android 游戏打包为 APK 文件或 Android 应用程序包的功能。因为我想在 Google Play 商店之外分享游戏,所以我选择了 APK 选项,并在几分钟内为我生成了一个 APK 文件。我没有写一行代码。
结论
无代码游戏开发的优点之一是开发人员不必编写每一件事,让他/她可以自由地专注于构建有趣的游戏。
你可以在这里下载我制作的游戏。谢谢阅读。
作者:Samuel Olubiyo
链接:https://lordsamdev.hashnode.dev/how-to-create-an-android-game-without-coding