Hello, World!

Tulenber 2 December, 2019 ⸱ Beginner ⸱ 6 min ⸱

在这里,我试图揭示我对游戏行业的看法,并说明为什么我创建这个博客,并同时创建思想的第一个主题。

我是一名程序员,总是做一些基于游戏的事情。 几年前,我被一家游戏开发公司聘用。

行业观

如果不用太详细了解的话,那么我认为大致可以分为三个阶段。首先,一些发行商为游戏的创建和发行付费。因为开发人员并没有很多赚钱(不像今天,您有Kickstarter)或出售他们游戏(Steam或iOs AppStore)的机会。其次,随着内容分发工具的出现,数百万开发人员进入了市场。耀眼的作品在各个领域层出不穷(flappy bird,Minecraft等)。有些很快就消失了。有些变成了行业巨头(例如《愤怒的小鸟》,但您不能说它们的成功徒有虚名)。现在,该行业正处于合作的新周期。即使是一款非常酷的游戏,也只有通过对营销和流量购买进行大量投资,才有机会突破数万甚至数十万种游戏。当然,总是会出现成功的项目,例如2048或Transformice。出版商赫然屹立不倒!=)

如何制作游戏?

游戏创建是一个复杂的过程,有时是不寻常的过程。如果您是独立小个体(例如, Stardew Valley),那就简单一点。您要是个美术师; 您就有画布,油漆和无限的机会。但是,赚钱最多的是那些行业巨兽,一个项目就有成千上万的人为之工作,例如Rockstar,EA,索尼或King ^ _ ^
所以,简单易懂的方案,您已经有了一些想法,就像游戏设计师设计游戏机制,作家叙述,美术师创造概念艺术,程序员来完成技术研究。从这些目录中选择一个,或者自己创造一个。然后我们开始就用其他项目来补充这些项目;例如,有一幅历史草图,您要求艺术家对所描述的世界的外观进行概念设计。另外,程序员必须说出实现这个想法有多困难。您要是独立开发人员,那么您要自己完成所有这些角色。要是在公司中,经理此时(也许更早)会来计算支出。尽管对于公司而言,最可能的基本想法是来自内心不断的呐喊(HIMYM美剧名)。从某种意义上说,开发变成了一个程序,就是游戏设计师通过特定机制完成某些事情的过程。艺术家为此功能进行艺术创作;音乐家会弄出一些声音,而程序员会创建他的代码并将其最终结合在一起。结果,经过足够的时间和一堆迭代,以及相当大的毅力,我们得到了游戏。
会受欢迎吗?分析师和营销人员试图根据他们的统计数据回答这个问题。如果您是根本不收集分析信息的独立人士则不用。如果游戏失败,将会推迟,然后开始开发新游戏。也许要等到最终成功后再进行迭代(这很难,因为分析师已经说过ARPPU不会提升十倍来弥补项目亏损)。
那么下一步将是什么?让我们跳过这些否定,看看如果继续设计甚至成功,将会发生什么。最有可能的是,您将要重用以前的开发,因为众所周知他们可以工作,并且做新的事情总是更具挑战性。下一步是从市场中寻找一些好的想法,它们被证明行得通,并且重复的成本更低。在这里,我们距离复制所有内容仅一步之遥。如果今天Candy Crush赚钱,那么将会有100500个match-3消除游戏来克隆。您喜欢pubg,明天将有100份复制。如果像toonblast这样的游戏一飞冲天,那么就要500个开发人员复制它的所有bug(因为没人知道bug是什么,有什么功能)。甚至游戏广告也要使用相同的主角。如果某事在黑手党那里奏效,那么将有类似Afk(网络用语) 之类的复制。没有人愿意进行更改,因为没人愿意承担失败并解释。
最后,如果您追随整个行业,您会发现最好的情况下,任何新的和流行的游戏机制每年都会出现几次。其余的就是不断变化的元素。通常,游戏由相对较大的机制体,功能和组件组成,并且它们尝试每年创建2款独特的游戏。不再讨论这个啦,记住该博客与游戏设计无关,而是从程序员的角度出发讨论=)

程序设计

如果您与程序员交谈,您可能会听说他们总是对看到别人的通用解决方案而烦恼。大致是,他们喜欢自己写的东西,但可能只是符号相反,内容一样。=)
最有趣的是,就库和框架的使用而言,游戏行业看上去比其他行业差得多。如果考虑一下Unity Assets Store,兴许还好一点,所以这里首要任务之一就是看看现在情况。
为什么会这样呢?也许是因为每个开发人员都认为他的创作是独特而神秘的。可能是因为每个游戏都基于非常优化的代码库构建,或者可能只是因为代码看起来像是主题医院的病人,三分之一的人是木头脑袋,三分之一的人有外星人的DNA,而剩下的就是浆糊脑袋,当然这种情况有很多原因。
但是,让我们跳过这伤心的问题,回想一下在公共发行可行性出现之后创建游戏的全盛时期。当技术达到一定高度时,任何家庭用户都可以将其程序放到开放商店中,其他任何人都可以为之付费,那么创建游戏开发工具的所有条件就会出现。首先,Unreal Engine引擎进入大众市场后,Unity开始流行,免费的cocos引擎展露头角,如今,任何大公司都拥有其游戏引擎,这当然使游戏开发变得更加简单。亚马逊有Luberyard;苹果有spriteKit和其他工具包。此举使游戏开发进一步发展。如今,您无需再了解如何与Direct3D配合使用来而在泥沼中步履前行,高中生就可以创建一部一流的游戏。
游戏引擎为您提供了基本功能,您可以在此基础上构建所有内容。当游戏引擎解决了这些问题时,我们进入了下一个困难级别-游戏逻辑级别。例如,每个游戏都有一个教程,当添加了很多教程时,它们会在不适当的时刻出现。这不仅涉及逻辑;如果您查看内部源代码,它们将覆盖您代码的每个部分,阅读起来并不愉悦。但或者,也许我们可以创建这样一个策略,给每个单位配备一把“来福枪”。之后,再来一个具有解决能力的人,然后是另外二
十个具有不同技能及其组合的人。这次,您会看到其中一人停留在地图中心,没有走到任何地方。也许用他的小手枪发射火箭。或者,您需要在20种不同的统一类型的枪中添加毒液,这稍微有些繁琐。我认为这是您了解这些困难的核心。那是项目的通常麻烦,而且复杂性还在增加。
无论如何,就像以前所说的,开发人员很少提出新的东西。为了应对这一挑战,开发了许多不经意产生的方法:编写可被支持的代码,谨慎使用编程模式,重复用您用过的代码(明智地),使用库等。此外,已经有许多面向游戏开发人员的开放式解决方案,例如Nakama Server,用来解决不同的麻烦。但是,一如既往,这里的主要困难不是缺乏信息,而是知道信息在哪里。因此,kihontekina.dev的主要目标是收集有关解决日常任务的常见案例的信息,这些注定将发送给游戏开发领域的所有程序员。


如果您喜欢这篇文章,可以为它提供支持



Privacy policyCookie policyTerms of service
Tulenber 2020