当前位置: 首页 > news >正文

重读《DOOM启世录》

许多游戏开发者都是网瘾少年,抱着对游戏的热爱进入游戏行业,在经历996的加班加点,买房的压力,浮躁同样跟随着我们,我们是否还热爱着自己的事业,我们不是天才,也成不了卡马克,但是我们最起码要有自己的作品,自己的一点点小成就,这样说起来我们也是不枉此生

这本书事实上有两位主人公,都叫约翰,一位是约翰·卡马克,另一位是约翰·罗梅洛。卡马克最感兴趣的是开发游戏引擎,专注于解决游戏中的现实技术难题,而罗梅洛则是天生的游戏玩家,对于罗梅洛来说游戏就是他的生命,但他更喜欢研究游戏中怎么打斗、怎么操作最有意思,他总能设计出极具创意的关卡,他们俩就好像乔布斯和沃兹一样配合默契,一个是终极程序员,一个是超级产品经理。

他们起初供职同一家公司,一起开开心心的做游戏,后来共同创立了属于自己的游戏公司id software,做出了一系列经典作品如《毁灭战士》(DOOM)、《雷神之锤》(Quake),不过遗憾的是在取得举世瞩目的成就之后,两人最终因为彼此信仰不合而分道扬镳。

在《DOOM》游戏大获成功后,公司楼下停着十几辆法拉利,基本上公司十几号员工人手一台。在这耀眼的成功光环背后,有他们互相比惨似的支离破碎的家庭背景,有他们对游戏的无比热爱和激情甚至疯狂,有令人忌羡的编程天赋和设计才情,更有让人敬叹的汗水艰辛。

我推荐这本书,《DOOM启示录》。

如果你是游戏爱好者,读它。

如果你是程序员或产品经理,读它。

如果你正在创业路上艰苦跋涉,一定要读它。

以下是书本里的一些经典语录,希望能对你有收获:

"在信息时代,客观障碍已不复存在,"卡马克说:"所谓障碍都是主观上的。如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。我们在地板上睡过,我们从河水中趟过。

愿君归来还是少年,保持初心确实很难,共勉

相关文章:

重读《DOOM启世录》

许多游戏开发者都是网瘾少年,抱着对游戏的热爱进入游戏行业,在经历996的加班加点,买房的压力,浮躁同样跟随着我们,我们是否还热爱着自己的事业,我们不是天才,也成不了卡马克,但是我们…...

巧用性格上的差异来组建团队

你好,我是得物 App 交易平台及中间件平台的 Team Leader Alan。 组建团队过程中,你有没有遇到过类似的场景:团队中某些人之间总是互相不对付、气场不合,不管是日常沟通中还是方案对齐,总是会出现面红耳赤的场面。 从…...

Leetcode11. 盛最多水的容器

一、题目描述: 给定一个长度为 nnn 的整数数组 heightheightheight 。有 nnn 条垂线,第 iii 条线的两个端点是 (i,0)(i, 0)(i,0) 和 (i,height[i])(i, height[i])(i,height[i]) 。 找出其中的两条线,使得它们与 xxx 轴共同构成的容器可以容…...

Java笔记026-集合/数组、Collection接口、ArrayList、Vector、LinkedList

集合集合的理解和好处保存多个数据使用的是数组,分析数组的弊端数组1、长度开始必须指定,而且一旦指定,不能更改2、保存的必须为同一类型的元素3、使用数组进行增加/删除元素的示意代码-比较麻烦Person数组扩容示意代码Person[] pers new Pe…...

Hive学习——分桶抽样、侧视图与炸裂函数搭配、hive实现WordCount

目录 一、分桶抽样 1.抽取表中10%的数据 2.抽取表中30%的数据 3.取第一行 4.取第10行 5.数据块抽样 6.tablesample详解 二、UDTF——表生成函数 1.explode()——炸裂函数 2.posexpolde()——只能对array进行炸裂 3.inline()——炸裂结构体数组 三、UDTF与侧视图的搭…...

大数据算法

1. TOP K 算法 有10个⽂件,每个⽂件1G,每个⽂件的每⼀⾏存放的都是⽤户的 query,每个⽂件的 query 都可能重复。要求你按照 query 的频度排序。 方法1: 顺序读取10个⽂件,按照 hash(query)%10 的结果将 query 写⼊到…...

非暴力沟通读书笔记

浅读《非暴力沟通》,本书对于沟通的方式总结成了一个方法论,从13个章节去概述非暴力沟通的方法和重点。其中最重要的是非暴力沟通四要素,观察、感受、需要、请求。同时在沟通中注意观察,投入爱,重视倾听的力量&#xf…...

代码随想录【Day21】| 530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先

530. 二叉搜索树的最小绝对差 题目链接 题目描述: 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 提示:树中至少有 2 个节点。 难点: 解答错误!仅考虑了…...

注意啦,面试通过后,别忘了教师资格证认定

所有要「教师资格证认定」教程的宝子们看过来面试合格的小伙伴都可以进行认定工作 . 认定时间 查询各省份认定公告,确定认定时间范围。以下是公告汇总网址(https://www.jszg.edu.cn/portal/qualification_cert/dynamics?id21691) 认定次数 每…...

【LeetCode】No.154. 寻找旋转排序数组中的最小值 II -- Java Version

题目链接:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array-ii/ 1. 题目介绍(154. 寻找旋转排序数组中的最小值 II) 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后&#xff0…...

RestTemplate远程调用

我们现在项目中使用的RPC远程调用技术是Dubbo实际上除了Dubbo技术之外,还有很多远程调用的方法它们有些调用的思想都和Dubbo完全不同Dubbo是SpringCloudAlibaba提供的功能强大的RPC框架但是Dubbo功能也有限制,如果我们想调用的方法不是我们当前项目的组件或功能,甚至想调用的方…...

registerForActivityResult使用

目录 针对 activity 结果注册回调 启动 activity 以获取其结果 在单独的类中接收 activity 结果 测试 创建自定义协定 registerForActivityResult()是startActivityForResult()的替代,简化了数据回调的写法 启动另一个 activity&#x…...

工作中,python真的有用吗?

普通上班族学Python有用吗? 那么,我也在这里提出一个问题:Python究竟适不适合办公人士来学习,以及学了之后究竟能不能给我的工作来带质一般的飞跃? 以我的亲身经历为例,我可以很负责的告诉大家&#xff0c…...

固态继电器控制电路

固态继电器控制电路 固态继电器(SSR)的种类和型号很多,因此其输入控制方法和控制电路也相应众多。固态继电器(SSR)的共同特点在于驱动电流或驱动电压小,即只需输入一个小信号即可控制SSR的开关。 如果需要…...

数仓、数据湖、湖仓一体、数据网格的探索与研究

第一代:数据仓库 定义 为解决数据库面对数据分析的不足,孕育出新一类产品数据仓库。数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和信息的全局共享。 数…...

设计模式系列 - 备忘录模式

介绍&定义 备忘录模式,也叫快照(Snapshot)模式,英文翻译是 Memento Design Pattern。在 GoF 的《设计模式》一书中,备忘录模式是这么定义的: Captures and externalizes an object’s internal state…...

详细介绍React生命周期和diffing算法

事件处理 1.通过onXxx属性指定事件处理函数(注意大小写) React使用的是自定义(合成)事件, 而不是使用的原生DOM事件 —— 为了更好的兼容性;React中的事件是通过事件委托方式处理的(委托给组件最外层的元素) ——为了的高效。 2.通过event.target得到发生事件的DOM…...

面向对象的特点

1、什么是对象对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个…...

智慧校园平台源码 智慧教务 智慧电子班牌系统

系统介绍 智慧校园系统是通过信息化手段,实现对校园内各类资源的有效集成 整合和优化,实现资源的有效配置和充分利用,将校务管理过程的优化协调。为校园提供数字化教学、数字化学习、数字化科研和数字化管理。 致力于为家长和教师提供一个全方位、多层…...

Vue篇.03-组合式API [setup()]

单文件组件(1)<script setup><script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。当同时使用 SFC 与组合式 API 时该语法是默认推荐启用该语法&#xff0c;需要在 <script> 代码块上添加 setup attribute, 里面的代码会被编译成组件 s…...

介绍 YugabyteDB MCP Server

介绍 YugabyteDB MCP Server Sfurti Sarah June 10, 2025 概述 YugabyteDB MCP Server 是一个全新的、轻量级的、基于 Python 的服务器&#xff0c;它允许像 Anthropic’s Claude 这样的大语言模型&#xff08;Large Language Model, LLM&#xff09;直接与你的 YugabyteDB…...

2026年西安市莲湖区Geo搜索优化排名,专业企业究竟谁能拔得头筹?

在数字化浪潮席卷的今天&#xff0c;Geo搜索优化&#xff08;地理搜索优化&#xff09;对于企业的重要性不言而喻。尤其在西安市莲湖区&#xff0c;企业们对于提升自身在Geo搜索中的排名需求愈发迫切。究竟哪家专业企业能够在2026年的竞争中脱颖而出&#xff0c;成为Geo搜索优化…...

不止于裁剪:聊聊Vue3项目中头像处理的那些事儿(vue-cropper实战与优化思考)

Vue3头像裁剪进阶实战&#xff1a;从功能实现到工程化思维 开篇&#xff1a;为什么我们需要重新思考头像处理 在大多数Web应用中&#xff0c;用户头像处理似乎是个"简单"需求——上传图片、裁剪、保存。但当你深入细节时会发现&#xff0c;这个看似基础的功能背后隐…...

SQL删除视图会删掉原数据吗_DROP VIEW的安全性分析

DROP VIEW仅删除视图定义而非数据&#xff0c;不影响基表&#xff1b;它不校验下游依赖&#xff0c;删后应用调用会报错&#xff1b;真正删数据的是DROP TABLE或DELETE等操作。DELETE、TRUNCATE 和 DROP VIEW 的作用对象完全不同不会删原表数据。DROP VIEW 只是删掉一个「查询的…...

camerax拍照函数

https://developer.android.google.cn/reference/androidx/camera/core/ImageCapture#takePicture(androidx.camera.core.ImageCapture.OutputFileOptions,%20java.util.concurrent.Executor,%20androidx.camera.core.ImageCapture.OnImageSavedCallback)...

NAT地址映射表详解:如何看懂并优化你的网络转换效率

NAT地址映射表深度解析&#xff1a;从原理到实战优化的完整指南 当你打开手机浏览网页时&#xff0c;是否想过内网设备如何通过有限的公网IP与全球互联网通信&#xff1f;这背后隐藏着一项关键技术——NAT地址转换。不同于教科书式的概念罗列&#xff0c;我们将从真实网络工程师…...

C++27反射工具链现状全景图(2024Q3):Boost.PFR停更、cpp-reflect弃坑、std::reflect成为唯一工业级选择?

第一章&#xff1a;C27静态反射的标准化演进与战略意义C27静态反射&#xff08;Static Reflection&#xff09;正从实验性提案走向核心语言特性&#xff0c;其标准化进程标志着C元编程范式的根本性跃迁。不同于C20的std::is_same_v等类型特征或C23的std::type_identity_t&#…...

万象熔炉 | Anything XL参数详解:EulerAncestralDiscreteScheduler原理浅析

万象熔炉 | Anything XL参数详解&#xff1a;EulerAncestralDiscreteScheduler原理浅析 如果你用过Stable Diffusion这类AI绘画工具&#xff0c;可能对“调度器”这个词有点陌生&#xff0c;但一定感受过它的影响。比如&#xff0c;为什么有的模型生成图片又快又好&#xff0c…...

IDM 下载管理器 下载安装

链接: https://pan.baidu.com/s/1IJ4LrAAZCfVvPyZl9VVg8g 提取码: j9c9解压前请退出所有杀毒软件或添加排除项&#xff01;&#xff01;&#xff01;此文件无毒&#xff0c;可放心使用&#xff01;&#xff01;&#xff01;此文件为免费开源绿色软件&#xff0c;请勿利用于商业…...

【稀缺首发】PyTorch 3.0静态图分布式训练性能基线报告(A100×8实测:静态图提速2.7×,通信开销下降63%)

第一章&#xff1a;PyTorch 3.0静态图分布式训练配置概览PyTorch 3.0 引入了原生静态图&#xff08;Static Graph&#xff09;支持&#xff0c;通过 torch.compile() 默认后端 inductor 与分布式运行时深度协同&#xff0c;显著提升多卡训练的启动速度与稳定吞吐。静态图模式下…...