关于我的第一个游戏的故事

这一周是特别的一周。 自从开始进行Web开发以来,我终于第一次制作了一个在线游戏,我刚刚启动了它。 它是用JavaScript制作的,是一个小项目,由我在两个月内开发,主要在晚上和周末进行。 这不是我第一次尝试制作游戏,而是我第一次尝试完成游戏。

这是我的经历,以及为什么这次成功。

很多开始,没有结束

我非常确定,每个喜欢计算机科学的IT开发人员都至少尝试过制作游戏。 这是一种圣杯,一个目标,使人感到有些凉爽。 但是游戏并不容易构建。 当您刚从学校毕业并充满希望时,您就置身其中。

是的,会有这个很酷的功能

是的,您可以做到这一点

太棒了

首先,这是一个痛苦的屁股。 游戏开发是我经历过的最复杂的开发类型。 更重要的是,如果您要自己做。 当您独自一人时,不仅要建立适合您想法的系统:还需要照顾资产,物理以及这个快速的命中方法。 它是关于一个故事,它的角色和所有内容的一致性。

当然,一种帮助的方法是选择一个框架,该框架会处理一些问题,但是作为开发人员,您想学习如何构建游戏,而不是如何使用框架。

制作游戏的复杂性可能是为什么大多数游戏通常会在四分之一开始的项目中完成的原因,而晦涩的Github回购交易将永远不会完成。

我的第一次尝试是基于Little Alchemy游戏的平台游戏。 一个愚蠢的平台游戏!

第二次尝试(一年后)是太空射击。 我想使用一个框架,在犹豫了几个小时后,我使用了Phaser(由于名称)。 而且……不,我也没有完成。 我花了很多时间学习Phaser并最终放弃了它……显然,我想到了另一个游戏项目,但是……哪个? 我已经忘记了…

然后是怪物扑! (名字my-little-rpg)

我学到的完成它

我的第一个意愿是制作没有级别限制的RPG游戏。 我正在读一本manwha(一种科南漫画),其中的主要角色似乎对他的学习曲线没有限制。 我在游戏中想要那个。

从以前的经验中学到并提高了工作的网络开发技能,我最终决定制作一个类似Ogame的游戏:基本上就是一个游戏网站。 从这些决定中可以轻松地进行其余的游戏设计。

游戏界面(是的,整个游戏是法语的)

正确设计的系统

我编写的第一件事是系统。 我将其构建为易于与游戏分离,并最终在Github存储库中共享。 我希望它“独立于游戏”:意味着可以在另一类游戏中重用。

这种限制迫使我开发了模块化系统,此后无数次帮助了我。 任何好主意,任何坏主意都可以轻松添加或删除。

我认为这是能够在一个小的附带项目上取得常规进展的最重要的事情: 您必须能够立即更改某些事情 。 它使动力持续不断。

一点新事物,很多已知事物

第二部分是界面。 我既不是设计师,也不是动作设计师,也不是3D艺术家,插图画家,也不是与游戏的艺术部分有关的所有其他事物。 可以想像,我对图形部分的期望不高。 这也帮助我决定了要制作哪种游戏:它必须是“点击按钮”游戏,不能直接控制角色,并且可以通过Internet轻松获得资产等。

下一步是找到适合我情况的接口资产,​​最好是免费的(感谢Kenney的资产!)。 同样,我也必须找到一些人物和背景资产,最好是免费的。 很难为游戏找到一组免费且精美的图像…

我必须在干净的实现和速赢之间做出折衷。 例如,我应该对动画人物和生物使用sprites还是GIF?(我大多数时候都选择GIF,但我并不为此感到特别自豪…)

因此,第二个能够在一个小项目上进行的事情是: 不要尝试制造太多新东西 。 专注于一些您想学习的东西,其余部分保持水平。

一点钱

一旦完成了所有重要部分,您就可以开始使用这些小部分。 完成。 在这个游戏中,对我来说(再次)是资产。 我设法找到免费(或某种)资产用于开发,但它不适合用于生产。 当您走到这一步时,就该对游戏进行另一种投资了。 对我来说,这是在购买资产。 我的最终资产不完全是我想要的(我更喜欢一些Pixel Art),但是当您自己做不到时,没有什么是完美的。 您必须了解自己的局限性并加以解决。

您可以在线找到资产库,其中包含一些免费资产和大量付费资产。 您无法真正知道所购买商品的所有内容和质量。 但通常,您可以在Pinterest上找到资产的低质量版本,并带有水印。

这些类型的资产不是很原始或质量很高,但是它们对于附带项目游戏非常有用,而且价格非常实惠。 因此,我学会了能够在一些小项目上取得进展的最后一件事: 不要害怕投入少量资金 。 时间就是金钱,您的时间通常比一些钱更有价值。

现在…

游戏结束后,就可以在线进行游戏了。 服务器,域名,Facebook页面……以及共享策略? 对于开发人员而言,进行“营销”部分比“代码”部分更加痛苦。 这是项目和产品之间的区别!

您可以在www.monster-bashing.com上找到游戏! (仅法语)并且,如果您喜欢,请随时加入Facebook Page!

PS:一些链接和资源

  • 具有Git部署能力的免费开发服务器:Heroku(可升级为生产付款)
  • 内置Google / Facebook / Twitter登录的在线数据库,避免游戏的服务器端:Firebase
  • 资产库:Envato市场
  • 不错的自由资产:肯尼的资产
  • 基本且易于理解的组件库:Vue.js
  • 免费游戏图标:游戏图标
  • 怪物扑!