从建筑师到程序员,我的五年游戏引擎开发之路

【CSDN 编者按】这篇文章讲述了作者从建筑师转变为软件开发人员的五年经历,并分享了他如何通过制作游戏引擎找到编程的乐趣 。文章详细描述了他从制作 Pong 和 Tetris 的克隆版本,到创建自己的 3D渲染世界的过程 。
原文链接:https://dev.to/lkatkus/why-you-should-make-a-game-engine-5-years-as-a-developer-3ij1
作者 | LAImonas K译者| 明明如月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)
人们常说,美好的时光总是短暂 。自从我五年前从建筑师转为软件开发者后,我对此深有感触 。
借助我在艺术和设计方面的专业背景,通过操作 html Canvas 和深入探索编码的视觉效果,我发现了一个全新的、充满乐趣的世界 。因此,我对游戏开发产生了浓厚的兴趣 。起初,这只是一次出于好奇的小尝试,但随着时间的推移,它逐渐演变成了更深远的追求 。这个地方成了我个人的实验室,我会不断地将一年中学到的新技术融入到这里 。
这段旅程充满了起伏波折,既有胜利的喜悦,也有失望的沮丧 。但始终有一件事在支撑着我,那就是对游戏本身的热爱 。
如果你对此感兴趣,请让我为你娓娓道来 。

从建筑师到程序员,我的五年游戏引擎开发之路

文章插图
第 1 年 - 即兴创作、适应挑战和克服困难
事情的起源:尽管在职业生涯上已经取得了成功,但我感到缺乏真正的满足和快乐 。这让我身心疲惫,意识到必须做出改变 。
那时,我对编程已经有了一些基本了解 。我曾创建自己的作品集网站(作为建筑师的标准做法),为其他企业开发了一些基础网站,并对编程有了初步的涉猎 。然而,我从未将编程视为职业选择,毕竟我已经在建筑领域投入了大量时间 。
大概在那个时候,编程培训机构在各地涌现,宣称能提供丰富的职业机会 。我与附近一所培训机构的人员进行了交流,他们声称提供了三个月的培训课程,并承诺提供工作 。虽然我对此持怀疑态度,但全职学习似乎是保持专注的好方法 。于是,我制定了一个简单的计划:全身心投入一年,不留遗憾 。
课程内容涵盖了常见的编程语言,如HTML、css、JAVA、php、Laravel等,目的是培养初级全栈开发者的能力(尽管这个称号听起来有些夸张) 。然而,其中有一位 Java 讲师引起了我的注意 。
"我不仅会教你 Java,还会教你如何像程序员一样思考 。"
这是他的开场白 。虽然当时这话听起来有些俗套,但现在回顾过去,我感到自己非常幸运 。他不断提出的问题,如“这是如何工作的?”“你为什么需要这个?”成了日常的探讨 。这种深入探究的方式引起了我的共鸣,并帮助我明确了方向 。相较于“初级全栈开发者”这一称号,“初级 Java 开发者”显得更为合适 。
受到启发,我开始在家中寻找项目 。毕竟,可以尝试的项目总是有限的,对吧?那时,我偶然发现了 HTML Canvas 。看到代码以视觉形式展现,特别是以游戏的形式,感觉非常神奇 。编写像 Pong 这样的小游戏让我感到兴奋,我被深深吸引 。我甚至尝试并成功地制作了俄罗斯方块!
从建筑师到程序员,我的五年游戏引擎开发之路

文章插图
那么,在尝试创建 Pong 或俄罗斯方块之后,接下来的步骤是什么呢?对我来说,自然的选择是制作一个马里奥的克隆版本!这是一个全新的挑战——创建瓷砖、实现玩家与其互动、跳跃等看似简单的功能 。这是否值得?答案是肯定的!它甚至帮助我在多次被拒绝后找到了第一份工作 。
从建筑师到程序员,我的五年游戏引擎开发之路

文章插图
随着培训机构课程的结束,寻找工作的压力也随之而来,我不想让所有努力白费 。因此,我将那个简单的马里奥项目转化为我的个人网站,展示我的编程经历,或许是为了展示自己的能力,也或许是为了未来能继续在上面工作 。
从建筑师到程序员,我的五年游戏引擎开发之路

文章插图
第 2 年 - 循序渐进,引领变革
在最初的“我现在已经真正成为了一名开发者了”这一激动时刻过去后,我意识到自己必须继续努力发展 。那么,接下来该做什么呢?我已经完成了 Pong、俄罗斯方块、马里奥克隆版的开发,接下来的目标自然是 德军总部(Wolfenstein )3D 。
从建筑师到程序员,我的五年游戏引擎开发之路

文章插图
由于我已经为平台游戏构建了一个基于图块的系统,剩下的任务就是改变其渲染方式——从本质上来说,就是创建一个光线投射引擎 。关于这个主题有许多教程和视频,甚至包括 John Carmack 本人的一些演讲 。我需要做的就是将其转化为 Java 代码 。


推荐阅读