欢迎光临散文网 会员登陆 & 注册

游戏开发技术·序章

2023-07-25 21:58 作者:剑门首徒  | 我要投稿

序言

自己从小玩游戏,

武林群侠传,剑侠情缘,三国群英传,傲世三国。

一周玩上几分钟,快乐得不得了。

偶然的一次吹牛,探索了武林群侠传又一隐秘地图,

还学会了,逍遥派究极功法,逍遥无上心法。

于是,在大二的某一天,

我决定,我要自己实现这一故事!

闲言少叙,游戏开发技术,系列文章,

大体会出三篇。

其一是序章,提纲挈领的说一说,游戏开发的233.

其二是计算机技术,第三就是具体的游戏开发技术了。

会比较详细,但会偏经验向,难比教程教材。

也就是,大体逻辑清晰,讲解尽量详细到位,

但很难作为,类似普适性,教科书一般的教材。

本篇会有两部分,

第一部分是计算机技术介绍,

第二部分是游戏开发技术介绍,可跳着看。

书归正传。

游戏开发,

大体分三个内容板块,程序,策划,美术。

但随着规模扩大,等等,会有更丰富,更细致的划分。

比如技术美术,地编,特效,骨骼动画师,3D建模师,

立绘、人物绘画,和场景绘画,ui绘画,

关卡编辑,数值策划,本地化,

前端,后端,引擎优化,不同语言亦有不同等等。

因为,本人是程序,所以基本以程序为主,

美术和策划,只是个人的推论,并不可靠。

游戏开发,程序,

其实并不难,就像剃头修脚,

你可以从,削冬瓜练起,

做个传统手艺人,

但也可以买个电推子,

照着网上教程,

理理上铺,理理下铺,

理理弟弟,理理妹妹。

这样,你也就依据,工作流程,

规范化,工业化的生产模式,

可以生产(剃头)了。

当然,计算机科学,

游戏开发技术,本身是深不可测的。

先说说计算机科学。

你要从硬件学到软件,

再从本地学到网络,

从汇编学到编译,再到操作系统。

不过,只是想从事软件开发,

或者游戏开发,

入门从业者,可以全不学。

就拿着一个编程语言教程,

一点点敲,一点点学,一点点练,

就得了。

尤其是越来越,偏向人类思维的,

JavaScript,python等。

计算机技术

学过正统cs的都知道,

计算机底层硬件,是门电路,

通过晶振,不断的周期性上电,下电,

让电路板上的,门电路系统,呈现不同的组合状态,

再通过,一层层包装,转换,

最终呈现为,屏幕的亮暗,游戏角色的旋转跳跃。

而如何让硬件电路,按照用户的命令,

规律性,可控的执行、变换呢。

原理就和物理上的电磁继电器一样,

通过控制电源的开、关,

让电磁铁的磁性,有、无。

从而使得,另一条电路的,断开、闭合。

具体点:

我们装好了操作系统的一个电脑。

这个操作系统的软件,

就写在硬盘的某扇区,某磁道,开始的连续一段地址上。

大小,一般也都知道,几Gb,比如4GB(byte)。

那么你512Gb的硬盘,开头4Gb地址,写的是win10,

那么,你装好的计算机,

就会在电源上电的一瞬间,

经过一段电路的运转(bios相关跳过),

访问到了(总线,寄存器都跳过)硬盘的操作系统地址。

写在硬盘上的操作系统,

虽然是软件,

在硬件实现上,就可以看做一个个门电路,

本质是一样的,是由一个个大小相同的寄存器做成的,

门电路总和,来构成一段段,表达式。

那么等价的描述,有人记为了如下格式:

00000001 01000010 00100110,这是三个字节byte,

1byte = 8 bit,

有人觉得还是太啰嗦,

我们人和cpu交流时,用这个就好了。

人交流时,用更偏向人的语法交流好了,

然后,不同媒介间,翻译一下,就好了。

于是,从机器语言,变成了汇编语言,

再从汇编语言,变成了高级语言,

最后,演化出了javascript,python等,

更容易让人理解,

也方便,人用来表达交流的计算机语言。

这是从硬件,讲到软件,

操作系统,编译原理了解了解也好,

网络,也可以学学,7层网络,5层网络模型,

最好,能达到“原来如此”的境界,就很够用了。

你能理解到,数据报,从一台电脑,到达另一台电脑的大体过程。

甚至,对web开发中,前后端通信的,相关领域,有了解,有经验,也可以。

没有,也行。

具体的,会在第二篇里,详解。


游戏开发技术


游戏开发技术,

我理解为俩个种类和三个部分。

第一类,高深类。

从零开发各种轮子,自己写引擎,自己写工具,

自己从更原始的层面,写游戏框架。

比如用dirextx,opengl的api直接写游戏,

甚至用此,编篡相关库,实现自定义的游戏引擎。

次一点的,

优化,了解引擎,图形原理,编译引擎原理,

等等,想风云大佬般,驰骋代码的天地。

在这方面,一个合格的游戏制作人,

并不强求,因为有很成熟的,生产工具和流程,

甚至,商业化生产模式,没必要那么深入。

但也不是,毫无需求。

你也要尽量的有,

更高、更宽广的视野,

更丰富的经验,和精湛技巧,

和细致,缜密的逻辑思维。

还有就是,分析问题,整理,并解决问题的能力。

我不知道,这些能力是不是天生的,

但我好像是,后天练的。

第二类,实用技术。

这里也分两部分。

1。更简单部分,

    比如UI相关,

    实现一个角色面板,背包面板,技能面板等等,

***精华***)2。核心战斗逻辑

比如arpg游戏,

人物行走,站立,攻击,受击,跳跃,格挡,

闪避,蓄力,等等状态,

要并行的存在,受用户交互来转变。

比如实现王者荣耀,英雄的 各种行为,

行进,闪现,受击,发招,死亡等等。

你要先学会,引擎基础知识,

包括节点,组件,精灵,动画,等概念及基本操作。

代码上,学会语法基础,

属性,函数,变量,语句,类。

生命周期,事件机制等。

学会,布置场景,操纵节点。

访问,控制各类组件。

在各个类的实例间交互。

new一些 实例,访问他们的属性,

调用他们的方法。

接收,用户的键盘,鼠标,手指输入。

计算,并转换成,对应的 动画,

跳转,界面变换。

从简单,能实现的 模式开始一点点尝试,

优化,改变,

向目标改变。

从简单的,站桩互砍,

到回合制,

再到多角色,

 再到战棋类,

最后到即时战斗类。

从简单的左键出招,wasd移动,

到空格瞬移,shift疾跑,ctrl格挡

右键蓄力斩,

甚至跳斩。

一点点实现呗。


当然,不同游戏,复杂程度,不一样,

有些游戏,看着复杂,其实实现逻辑很简单,

比如ViewFinder.

一些简单游戏,逻辑也不复杂,

比如解谜游戏,甚至 隐形守护者等等,

都不如一些复杂点的连连看复杂。

有些就是,纯粹的,内容多,横向逻辑复杂度,

复杂点。

另外一些,就是,深度深,

是真的复杂。

比如全战三国,骑马与砍杀。

文明的话,还好说。

红警啊,魔兽啊,还是比较复杂的类型的。

既然是序章嘛,就不太展开,

看看反馈,有什么问题,我再具体展开。

我的视频教程系列,

是以cocos引擎,

2D-Arpg游戏,为线索的。

也是我当前的,开发目标。

共同进步吧。

我视频里提到过,

游戏开发,需要很多的知识碎片,

我们的任务,就是知道他们,

认可他们,掌握他们,

或者仅仅是使用他们。

我的精简系列视频,只提供了,

一个主线,

一个成熟的,真正的,游戏制作者,

需要,自己拓展,将我主线中,

涉及的知识点,未知的,自己去掌握。

才能实现,自己的idea。

不过,有很多成例,可以自己去借鉴。

但也,有很多,需要自己披荆斩棘的,荒路。

遇到了,是很烦,劈开了,走过去了,

也就那么回事。

与君共勉。


游戏开发技术·序章的评论 (共 条)

分享到微博请遵守国家法律