如何开始游戏编程

IT Simulator的计算机模型,Rebecca和我正在开发的游戏

丽贝卡(Rebecca)负责所有程序设计以及大部分技术。 如果您还没有弄清楚,她就是不可思议的。

另一方面,我专注于游戏设计,写作和市场营销(她也全力协助)。 我不会碰Ooblets上的代码,因为Rebecca比Unity上的我要好得多,对自学成才的程序员来说,快速协作通常会更困难,而且因为我们感到很自豪,可以说她单手编码一切。

我之所以提到这一切,是因为我一直在观察她在行业中工作时被低估,以及人们如何倾向于对她在事物中的作用做出假设。 我还看到了她在幕后所有工作中所做的所有工作,因此对我们双方而言,重要的是没有人可以抹黑或削弱她的所作所为。 我希望每个人都能以一种或另一种方式与之建立联系。

有一个共同的思路,就是如果您能找到正确的方法,教程,工具集或一些简单的秘密,那么您无需多年的努力就可以到达终点。

不幸的是,我们无法提供。 如果存在的话,我们肯定会走这样的路线。 我们俩花了很多年才精通自己的工作,而且我们一直在学习。

话虽如此,这些工具似乎确实每年都有更多的可访问性-但是请记住,如果您正在做的事情既简单又易于访问,那么很有可能它不再那么值得了。

我清楚地记得尝试学习编码的一件事就是迈出第一步非常困难。 起初,开发环境无法运行。 只需查看这些天有关安装Ruby on Rails的说明即可(他们出售有关此书的精装书!)。

如果您不是来自技术背景,那么前几步通常可能是一堵巨大的墙。

这可能不是很多其他指南可能会说的,但是我将从以下两点开始:

工厂

1.玩 Factorio

(或Rimworld或人力资源机器或监狱架构师)

不确定是否要开始编程? 真的不知道编程是什么吗? 以上是一些我认为可以帮助您确定是否会对它感兴趣的游戏。 除此之外,我认为他们将开始让您的大脑像解决编程中那样解决问题。 游戏编程只涉及构建东西,并热爱构建东西,因此,如果这不是您的事,那么您可能会遇到更多困难。

注意:有些游戏比我上面列出的那些更具编程性,但是它们往往具有更高的入门门槛。

2.安装Unity

Unity在为您提供入门所需的一切方面做得很好。 从很多方面来说,它都进入了更深的层次,但这正是丽贝卡(Rebecca)开始的目的,所以我知道这绝对是可行的。

它拥有庞大的用户群,因此有大量的教程和很多新手都在问您将要问的相同类型的问题(有时会回答这些问题)

但为什么?

我之所以不建议使用Scratch或Python或更传统的起点,是因为我认为重要的是,您必须立即获得反馈并朝着您真正想要构建的事物的方向前进。

在真空中学习,什么都不做直接转化为您真正想要构建的东西,可能会令人沮丧。 您需要了解,您可以实际制造东西来推动积极的反馈循环。

您现在可能不应该使用的技巧

在此阶段,您可能已经听说过一些视觉编程系统,例如PlayMaker或EU4的蓝图。 从我所见,您可以使用这些工具做一些令人印象深刻的事情,但是我认为它们不是学习的理想基础。 您仍然需要学习编程的大多数基础知识才能使用它们,但是一切都将一步之遥(并且通常会以令人沮丧的方式进行),并且您将大大限制可用的教程和已回答的问题。

不用担心学习如何编码。 考虑一下您想将代码用于什么。

不要只是放下视频教程,以为您会通过渗透学到所有东西。 即使您热衷于本教程并随本教程一起编码,您仍然只会死记硬背,这是一种糟糕的学习方法。

那你该怎么办呢?

提出一个项目并开始进行。

想要制作一个庞大的程序空间MMO吗? 我们开始做吧。

是的,这是丽贝卡(Rebecca)和我早期的太空游戏尝试

很多人都会嘲笑您,但是此时您需要有一个您真正感兴趣的目标。 当然,即使要克隆Pong也很困难,而且几乎肯定无法达到目标附近的任何位置,但是您需要对尝试的内容感到兴奋,因此您将有动力解决所有问题你会面对的。

尝试一些雄心勃勃的事情是可以的。 刚开始时,您所做的一切都会雄心勃勃。 如果撞到严重的墙壁或对其他事情感到兴奋,可以放弃正在做的事情并改变方向。

丽贝卡什锦小行星

我记得很多年前,当丽贝卡(Rebecca)是编程新手时,我曾试图向她解释数组和循环,但她只是不明白。 不久之后,当她在自己的项目中工作时,她想修改一堆项目,但认为必须有比为每个项目编写新代码行更好的方法。 这次,她发现了数组并立即循环。 那时,这不是什么深奥的概念性问题,而是她所遇到的问题的解决方案。

如果您想站起来,这里是您想要熟悉的核心概念:

  • 变量:该数据是单词,数字还是太空飞船?
  • 操作:加 ,减,乘等。例如,如果您的飞船有100 hp的功率并受到10激光的伤害,那么您还剩下什么? 慢慢来。
  • 功能:如何使飞船靠拢
  • 条件:如果我的太空飞船被钉到0马力,使其爆炸
  • 类:如何连接飞船的所有功能
  • 数组:如何列出1000万并发玩家
  • 循环:如何向您的1000万玩家发送通知以购买您的DLC

在学习过程中,您将不断地与知识极限,概念化问题的方式,看似毫无意义的事物以及奇怪的语法和技术-巨无霸组合打交道,但这很正常

当遇到困难时,您可以执行以下操作:

1.寻求帮助

这就是大多数人会跳到的地方。 上帝知道,每当我尝试在Unity中做任何事情时,我都会经常拜访丽贝卡。 但是我建议您不要为寻求帮助而感到不舒服。 它可能是拐杖,它可能很慢(例如,当您在论坛上提问并等待3天才能回复),并且可能会令人沮丧(对双方而言)。

丽贝卡的未命名太空飞船

2.找到解决问题的另一种方法

这没有什么可耻的。 无法弄清楚如何使旋转门工作? 将它们更改为滑动门。 无法弄清楚如何创建一个逼真的体素世界? 使一切变得大而块状。 只要您一般不放弃,最终您就会填补空白。

3.复制您不了解的内容

我个人最喜欢的选择。 从Stack Overflow或其他内容中找到几个片段,然后尝试将其插入,直到达到您想要的为止。 最终,您将开始理解这些解决方案的含义,但是在此之前,您至少可以继续前进。

4.弄清楚

这是最困难,最不可能实施的建议。 您可以花时间研究问题,阅读大量文档,尝试十亿种不同的方法,并弄清楚如何自己解决问题。 如果您喜欢这种事情。

如果我能提供最后一条建议,就是这样:

不要等待行星对准开始。 如果您想做某事,那么最重要的步骤就是去做,不要等到一切变得完美或简单时,或者等您认为自己准备就绪时,再做。

制定计划,弄脏双手,找到适合自己的方式。


最初发表在 丽贝卡·科丁格利(Rebecca Cordingley)的Patreon上