【游戏引擎之路】登神长阶(九)——《3D游戏编程大师技巧》:我想成为游戏之神!

5月20日-6月4日:攻克2D物理引擎。
6月4日-6月13日:攻克《3D数学基础》。
6月13日-6月20日:攻克《3D图形教程》。
6月21日-6月22日:攻克《Raycasting游戏教程》。
6月23日-7月1日:攻克《Windows游戏编程大师技巧》。
7月2日-7月6日:攻克《雅达利2600汇编游戏开发》。
7月7日-7月11日:攻克《x86/x64汇编语言》。
7月11日-7月22日:学习《3D游戏编程大师技巧》(阶段性)。
7月14日-7月18日:学习《游戏引擎架构》(完成)。
7月23日-7月30日:攻克Python语言学习。
7月31日-8月5日:攻克《3D游戏编程大师技巧》。

下个目标《DirectX12 3D 游戏开发实战》。

(一)近况总结

从6月开始的时候,我当时不知道为什么,好像找到了人生的目标,所以动力非常足。从6月4号开始,到今天为止,我没有休息过一天。星期六,星期天都在工作。但是我终于被我的抑郁症反噬了。本来《3D游戏编程大师技巧》还有阴影一个小节我还没有实现。但是当我学习的时候,脑子里面一波一波地头痛,这是我的抑郁症和神经衰弱的并发症,只要一透支脑力,就会痛。

本来我打算到国庆之前都不休息的,来一个史诗级的远征。但是看来坚持不下去了。于是,这个里程碑到此结束,我的最长工作记录——2个月不休息。即便是没有抑郁症之前,我也没有2个月不休息过,只不过那时我只是不想做,而不是没能力做。

休息两天,再整装出发吧。

(二)《3D游戏编程大师技巧》学习总结

今天终于把《3D游戏编程大师技巧》全部攻略完成。最后一个实现的是透明材质,其实还有阴影部分没有实现。但是阴影部分因为都需要Alpha混合,而我的引擎加上了Alpha混合之后变得巨卡,我也不打算做下去了。反正这个软光栅的学习也是一个学习,并不是真正制作引擎。

我的下一个学习目标是《DirectX12 3D 游戏开发实战》,这是真正能够用于制作实用的引擎了。其实《3D游戏编程大师技巧》(还有他的姐妹篇《Windows游戏编程大师技巧》)被称为游戏编程四大坑书之首不是没有道理的。因为里面用到的技术不仅老旧,在现在看来也没什么价值。比如说8位模式,我的显示器已经没办法支持8位模式了。

但是,如果你知道自已想要什么,这本书仍然不失为一个经典。他坑的原因不仅是因为难,而且因为繁杂,其实这本书的前半,作者还坚持给每个渲染管线8位和16位的版本,到后面他自已可能都觉得麻烦了,只留下了16位版本。

我在学这本书之前还学了《3D图形教程》。这也是一个软件光栅化的教程。比这本书深入浅出得多。只不过内容并没有这本书里面的丰富。

但是这段旅程我相信是有价值的。

(三)游戏之神是什么?

在这本书里面,序言中提到了这样一个事情。在游戏行业中,有两种人,一种是擅长技术的,一种是擅长设计的。很多擅长技术的人,游戏感不一定很好,他们不会设计有意思的游戏。而“游戏感”强的人,也很少有人有强大的动手能力,能自已捣鼓出游戏。而《3D游戏编程大师技巧》的作者正好是这两者都非常强的人。

其实这在游戏行业里面,这并不是什么问题。因为游戏不是一件艺术品,他是一个工程,是需要很多人通力合作做出来的。就像是卡马克有他自已的搭档罗梅洛一样。

在我心中,卡马克是游戏行业中的唯一真神,不仅仅是因为他的能力,而且是因为他的理念,我的自由软件的理念受他的影响很大。我的《薪火引擎》自然也会开源的。

然而,即便是卡马克,他离真正的“游戏之神”也有一定的距离。因为他的技术力虽然非常强,但是对于游戏设计却并不痴迷。

“游戏之神”是什么?

但在我的心中,游戏之神一定是“制作游戏”“设计游戏”都非常强的人。如果说一个设计者自已都做不出来游戏,怎么能称为游戏之神呢?那只是伪神而已。

当然了,这仅仅是我自已的信念,不能用这个去评价别人,而且也没有事实上的操作价值。因为每个人专精于自已的领域,比如说设计游戏的专精于设计,制作游戏的专精于制作,然后两人合作,才是是正道。

可是,游戏之神是什么,这是人类向上帝的提问,没有人拥有权威,谁都可以定义自已心中的游戏之神。

我真的希望自已成为那个“真神”。当我有天用自已的引擎做出《三千神界》的时候,我就可以说我做到了这一点。

因为我相信,当有一天我能站在那个地方的时候,能够看到不一样的风景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394378.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库篇--八股文学习第十六天| MySQL的执行引擎有哪些?;MySQL为什么使用B+树来作索引;说一下索引失效的场景?

1、MySQL的执行引擎有哪些? 答: MySQL的执行引擎主要负责查询的执行和数据的存储, 其执行引擎主要有MyISAM、InnoDB、Memery 等。 InnoDB引擎提供了对事务ACID的支持,还提供了行级锁和外键的约束,是目前MySQL的默认存储引擎&…

Codeforces Round 963 (Div. 2)

A题:Question Marks 题目: Tim正在做一个由 4n 个问题组成的测试,每个问题都有 4 个选项:“A”、“B”、“C”和“D”。对于每个选项,有 n 个正确答案对应于该选项,这意味着有 n 个问题的答案为“A”。 n…

个人知识库与RAG的技术

构建个人知识库时,采用RAG结合LangChain的方法极为有效。RAG,即检索增强生成技术,是一种前沿的自然语言处理手段,它融合了信息检索的精确匹配与语言模型的高效文本生成,为处理自然语言相关任务提供了一种既灵活又准确的…

未来已来:人工智能如何重塑Facebook的用户体验?

在数字化时代的浪潮中,人工智能(AI)正成为推动技术进步和用户体验优化的核心力量。Facebook(现Meta Platforms)作为全球领先的社交媒体平台,正在充分利用人工智能技术,以重塑用户体验&#xff0…

Spring Boot 3.0 热部署

idea开发环境下的spring boot 3.0热部署启用非常简单,并没有网上教程讲的需要对idea做一些设置。 只需引入依赖: developmentOnly org.springframework.boot:spring-boot-devtools其他不需要做任何设置。 服务启动中,改了代码或配置后&…

振动分析-18-基于振动分析进行故障诊断的思路和步骤

参考树立正确的振动诊断思路 参考振动分析相关知识的储备及振动分析仪的局限性 参考如何进行振动分析诊断(译文) 1 正确的故障诊断意识 我们通常在学习班听到的是大学教授以及专家讲解的故障诊断的基础理论,对于刚接触这个专业的人来说,微分方程和复杂的矩阵却有点让人忘…

JeecgBoot低代码平台简单记录

BasicModal弹窗 Usage 由于弹窗内代码一般作为单文件组件存在,也推荐这样做,所以示例都为单文件组件形式 注意v-bind"$attrs"记得写,用于将弹窗组件的attribute传入BasicModal组件 attribute:是属性的意思,…

Spring全家桶(三):Spring AOP

Spring AOP面向切面编程 1.面向切面编程思维(AOP) 1.1.面向切面编程思想AOP AOP:Aspect Oriented Programming面向切面编程 AOP可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。O…

一键生成专业PPT:2024年AI技术在PPT软件中的应用

不知道你毕业答辩的时候有没有做过PPT,是不是也被这个工具折磨过。没想到现在都有AI生成PPT的工具了吧?这次我就介绍几款可以轻松生成PPT的AI工具吧。 1.笔灵AIPPT 连接直达:​​​​​​​https://ibiling.cn/ppt-zone 这个工具我最早是…

Nature Medicine:基于图像的深度学习和语言模型用于原发性糖尿病护理

首个糖尿病诊疗多模态大模型DeepDR-LLM已成功发表在Nature子刊。 这是全球首个面向糖尿病诊疗的视觉-大语言模型集成系统,结合了语言模型和基于眼底图像的深度学习技术。该系统旨在为基层医生提供个性化的糖尿病管理建议和辅助诊断结果,特别对中低收入国…

【实现100个unity特效之12】Unity中的冲击波 ——如何使用ShaderGraph制作一个冲击波着色器

最终效果 文章目录 最终效果新增LitShaderGraph圆环扭曲效果优化冲击波效果屏幕全屏冲击波圆形冲击波最终连线图代码控制补充源码完结 新增LitShaderGraph 圆环扭曲效果 让我们从一个UV节点开始 创建一个Vector2变量RingSpawnPosition表示冲击波生成位置,在X和Y上将其默认值…

PyTorch基于深度神经网络的语音情绪识别

【图书推荐】《PyTorch语音识别实战》-CSDN博客 《PyTorch语音识别实战(人工智能技术丛书)》(王晓华)【摘要 书评 试读】- 京东图书 (jd.com) 情绪数据的获取与标签的说明 首先是语音情绪数据集的下载,在这里使用瑞尔森情感语音和歌曲视听数…

sourcemap使用

sourcemap是什么以及怎么生成就不过多阐述了,这是之前看到的一篇文章感觉介绍的很详细:弄懂 SourceMap,前端开发提效 100% 浏览器加载sourcemap 我们线上代码一般不会开启sourcemap,在排查线上的问题时,可以通过浏览器…

DataX PostgreSQL 读写支持Geometry类型

这里写目录标题 简要说明依赖代码 简要说明 通过简单修改源码中关于相关的reader、writer和DBUtil工具类,实现表到表之间的Geometry字段类型数据的输送,目前修改仅测试过在postgresql的postgis插件下的Geometry类型可行。 依赖 1.通过gitclone 或者 到…

用户规模NO.1之后,钉钉还有多大的成长空间?

近日,第三方数据机构QuestMobile发布的《2024半年度中国移动互联网实力价值榜》显示,钉钉与微信、淘宝、抖音等一同入榜 “TOP50赛道用户规模NO.1 App”,蝉联效率办公赛道榜首。 可以看出,现阶段钉钉打开了较大的市场空间&#x…

Qt 跨平台APP单实例运行实现

一.调用方法 支持coreApplication和简单的application两种继承: 二.源码地址: SingleApp: Qt 单实例实现

android13 串口编号修改 串口名修改

总纲 android13 rom 开发总纲说明 目录 1.前言 2.技术分析 别名定义的语法规则 3.修改示例 使用别名 注意事项 4.不生效分析 5.编译查看 6.其他方法 7.彩蛋 1.前言 更改Android设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…

选择文件鼠标右键自定义菜单

注册表路径 计算机\HKEY_CLASSES_ROOT\*\shell 效果 操作 1.定位 winr,输入regedit, 地址栏输入以下路径,并回车。 计算机\HKEY_CLASSES_ROOT\*\shell 2.在shell上右键,新建项 3右键新建字符串值,Icon,Position 4 右键新建c…

LabVIEW压电陶瓷阻抗测试系统

开发了一种基于LabVIEW软件与PXI模块化仪器的压电陶瓷阻抗测试系统。该系统能在高电压工作条件下测量压电陶瓷的阻抗特性,包括阻抗模值与阻抗角的频率特性,为压电陶瓷的进一步分析与应用提供了重要参考。 项目背景 现有的阻抗测试仪大多只能在低电压条件…

【多模态】Flamingo: a Visual Language Model for Few-Shot Learning

链接:https://arxiv.org/pdf/2204.14198 论文:Flamingo: a Visual Language Model for Few-Shot Learning Introduction Motivation:仅使用少量标注样本来快速适应新任务的建模方式是多模态机器学习研究的一个挑战与难点定位:a …