我想跟大家分享一下我的游戏开发之旅。今天是工作结束的时候,我仍然还在脑海中思考着这一点,尽管我并不打算在今天再做任何工作了。
我从孩童时代就开始接触游戏开发,但随着年龄的增长和责任的加重,我有时会停止开发。开始时,我就认识到自己想开发独立游戏,但实际上我从一开始就不想为了大型工作室工作(要么自立或尝试进入图像设计行业,令人讽刺的是)。事实上,即使我想在机构工作,我也会尝试进入图像设计行业。原因很简单,如果我开发的游戏让自己喜欢,那么即使别人也喜欢,那也无所谓。我完全没有顾虑是否别人会喜欢。因为我做游戏,是为了自己喜欢。
现在回顾一下上下文,我不知道如何在很长一段时间内开始游戏开发。我只是在消化相关的内容而没有任何明确的方向,只是消化学习的资料。实际上,我脑海中非常困惑,因此我似乎在试图建立一个地图并且慢慢地把所有东西都整合在一起。我在学习概念方面有了许多成长,学习其他领域也帮助我理解了编程。这意味着在我有最基本的知识的时候,我没有做太多编程实际操作,多年来几乎都是这样。
经过了14年的游戏开发之旅,我渐渐开始找到自己的节奏。这个节奏似乎是在YouTube上看了一门游戏开发入门课程以及之前的400级计算机图形学之后。两个课程与之前的学习紧密结合,让我在一个关键点突然豁然开朗。这个关键点就是在研读游戏开发课程时,对c++有所理解。在这门课程之后,所有的问题和空白都被克服。即便如此,我并不打算通过我现在的速度超越成就了的编程人员。经过这么多年,我渐渐掌握了如何解决问题和实现功能的方法。但是,其实这一点很关键,因为许多学习资料我都是看过好几次了,只不过后来我感觉自己可以更好地理解它。
因此,这个具体的点让我想尝试开始真正创造性的游戏开发。我的目标是开发自己的游戏引擎从头开始,包括很多小块。我之前的介绍可能有点乱,但现在我感觉到,我可以做这件事了。不仅如此,我也能自己解决tutorial题目了,我不会像以前那样依赖别人。
目前,我自己的游戏引擎基于OpenGL,ImGui,glad,glfw,glm(我可能会实现自己的数学库),但实际上我正在使用glm只是为了方便我能更快地推进行。接下来我就要迁移到vulkan了,实际上我希望迁移到vulkan,但确实是很遥远的一天。我对gl有点误解,它是一个非常大的误解,因为如果你只使用它作为栅格引擎,那么它不是瓶颈。当然,这一块我会改进,我将在future改进它。所以Lite Engine就是现在我的游戏引擎的名字。未来,我将会在reddit上分享这个引擎的代码。
lite引擎建立在数据导向的组件系统(ECS)模型上,总的来说我做得对是保持尽可能少的组件以及最大化速度。所以我的模式是先将所有内容构建好,然后再把这些重复的内容抽象化抽象化抽象化。这样做也可能会导致些混乱,但总的来说我已经试过的方法是最合适的方法。
现在我正在在我的6年的小笔记本上尝试重建下落的沙漏游戏。这块工作是基于我之前的估算,希望我可以使用1920*1080的屏幕来保持60fps的画面。理论上我应该已经能处理更多个体系统,但是其实在游戏里的每个粒子不止是一个像素。实际上我计算到了10k FPS的性能。
当然,不会的,我会在lite引擎加入一个FPS限制,在配置文件中控制来让性能更具动态性。
在我的view中,现在的游戏里我只有下落的沙子这个基本功能,所以实际上我需要把UI和碰撞添加进去。
总体而言,这次主要是感觉到自己对学习编程有了更深的理解了。这个过程让我对学习的方式有了更深的认识。实际上,人们认为自己不能通过非传统的学习方式来学编程,但实际上这样做可能更快、更直接。实际上,最重要的是要在思考的过程中掌握自己所学的概念然后实际在实践中的应用。
评论 (0)