沉迷游戏自学编程,创建游戏帝国,却黯然退场的“鬼才程序员”

本文主要是介绍沉迷游戏自学编程,创建游戏帝国,却黯然退场的“鬼才程序员”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:年素清

来源:程序人生 (ID:coder _life)

约翰·罗梅洛(John Romero)是著名的电子游戏制作人,他靠着自学成才拥有了出色的编程能力,被称作“鬼才程序员”。他开发的《德军总部3D》游戏开启了FPS(First-person Shooting,第一人称射击游戏)的新时代,被誉为“FPS之父”。同时,因为他设计的游戏充满血腥暴力的场景,而他本人也常以满头的长发和张口就来的粗口形象示人,所以他一直是个充满争议的存在。

01

不幸的童年

罗梅洛于1967年出生在美国,因为家庭非常贫困,父亲在他很小的时候就非常不负责任地抛弃了他和母亲,这给他幼小的心灵留下了无法抹去的阴影。后来,母亲嫁给了一个军官,罗梅洛的生活条件得到了很大的改善。

有一天,还在上小学的罗梅洛走进镇上的一家游戏厅,粗暴的玩法和随之赢得的高分令罗梅洛感到了极大的快乐,他立即迷上了这款叫做《行星撞击》的游戏。为了这样的快乐,他甚至每天放学后跑去打零工来赚取玩游戏的钱。

伴随沉迷游戏而来的是学业上的一塌糊涂,他的军官继父不介意前者,但是无法容忍后者。出于对继子前途的关心,他只要发现罗梅洛走进游戏厅,就会冲进游戏厅当众揪起他的头发拖回家暴打一顿,但很快罗梅洛又会趁着继父不在家的时候一瘸一拐地摸进了游戏厅。

遗弃和家暴给罗梅洛的童年蒙上了一层阴影,以致于当班里的同学们在美术课上画着美好的童话故事的时候,罗梅洛却创作出《十种折磨人的方式》、《如何虐待保姆》等与他年纪不相符的暴力漫画。他甚至从继父暴打他的行为中获取灵感,创作了一本漫画集,他用各种血腥场面来夸大继父对他的虐待和折磨,比如被继父钉在墙上打爆眼珠,脑浆和血水混在一起贱在房间雪白的墙壁上。

根据罗梅洛后来回忆,这也就是为什么成年后的他如此地喜爱在游戏中表现暴力情节的根源。

 

02

自学编程为英国皇家空军完成任务

渐渐地,罗梅洛对街机游戏失去了兴趣。他听同学说附近的大学计算机实验室里可以免费玩文字冒险游戏,便把游戏的地点换作了那里。这种只有文字的计算机游戏很快吸引了罗梅洛,他甚至自信自己也可以写出一个这样的故事,创造一款类似的游戏。

于是罗梅洛决定开始学习编程,好自己也编写出这么一款游戏。他每天放学后都跑去计算机实验室,向那里的大学生请教编程知识,并不断地在计算机上实践,很快,他就完成了自己的第一款文字冒险游戏。

为了避免罗梅洛在大学里闯出祸端,继父给他买了一台Apple Ⅱ,这大大提高了罗梅洛学编程的效率。

不久后,继父被派往英国执行任务,他们全家也因此暂时随军前往。此时,英国皇家空军正好在大型计算机上开发了一个“对苏作战飞行模拟软件”,但训练基地的人希望能在小型机上使用它。一位英国军官因为从继父那里听说了罗梅洛自学编程的事迹,便瞒着所有人悄悄把罗梅洛带进了皇家空军的秘密基地,并试探性地问他有没有办法进行移植,罗梅洛看了之后,胸有成竹地给了他肯定的答复。

最后,十几岁的罗梅洛出色地完成了任务。

 

03

进入游戏公司遇知己

随着时间的推移,罗梅洛的编程能力越发地出色,开发游戏的技术也越发地娴熟,

他在各种各样的编程大赛中获得了一大堆的荣誉,但时他的学习成绩却是一塌糊涂,不过他对此毫不在意,因为他已经确立了人生的目标——靠着开发游戏成为一个王牌程序员和亿万富翁!

高中毕业后,罗梅洛进入了一家名为“Softdisk”的软件发行公司。在那里,罗梅洛凭借过人的才华被选拔进了游戏开发部门,并成为小组leader。不久后,罗梅洛遇见了人生中的几个重要伙伴:程序员约翰·卡马克(JohnCarmack)、汤姆·哈尔(Tom Hall)和艺术家阿德里安·卡马克(Adrian Carmack)。前两位和罗梅洛一样,都是出色的程序员,而阿德里安作为团队中的美工,有着“黑暗艺术家”的称号,阴暗的童年经历使得他内心阴暗而孤僻,他的美术作品往往以黑暗为主题,而这正对了罗梅洛的胃口。

这几个年轻天才的合作使得游戏业务成了Softdisk的王牌产品,以致于公司老总在年会上激动地说:“游戏部门是整个公司的希望。”

 

04

与知己成立公司

1989年,由于约翰·卡马克成功解决了如何将游戏程序移植到个人电脑上的难题,罗梅洛敏锐地察觉到了背后的商业价值,他建议他们背着Softdisk偷偷地利用这项技术开发游戏赚钱,很快他们的第一款游戏《指挥官基恩》为他们带来了丰厚的财富收入。

一年后,在罗梅洛的鼓动下,他们离开Softdisk,成立了自己的公司IDSoftware。在ID Software,他们的合作方式通常是这样:先由约翰.卡马克负责游戏的技术工作,而罗梅洛负责编辑器以及故事情节和系统的制作创意,而哈尔和阿德里安再补充一些意见。

他们先后推出了《德军总部(Wolfenstein 3D)》、《毁灭战士(Doom)》和《雷神之锤(Quake)等知名游戏,无不在游戏界引起了巨大轰动,每次发布游戏时,狂热的玩家几乎将服务器挤至瘫痪。

其中,《德军总部3D》作为FPS游戏的里程碑之作,不仅拥有快速激烈的动作和流畅精美的3D图象效果,也因为暴力的主题而饱受争议,但这只是开始。后来,《Doom》问世,罗梅洛的名字开始频繁的出现在各大网络论坛中,而他自己也经常与玩家交流,他也因此为称为“FPS之父”。

 

05

美国总统也无法阻止的血腥暴力

第一人称射击游戏开始风靡全球,随之而来的是因为ID Software推出的游戏总是以黑暗、血腥、暴力为主题而受到铺天盖地的声讨。

1993年,数以万计的政治家、天主教徒和传统卫道士发起了舆论攻势,他们认为游戏中的血浆、死亡、断肢、虐杀动物等情节将会带坏美国的年轻人,要求游戏行业停止开发一切暴力游戏。迫于舆论压力,时任总统公开呼吁游戏行业能够整改。

然而,罗梅洛对外界的批评声根本不屑一顾,总统的呼吁也毫无成效。在《Doom》的发售会上,一位思想保守的家长激动地冲到台上向罗梅洛讨要说法,为了缓解场面,ID聘请的公关人员出面耐心地向他解释“游戏中的暴力并不会导致现实生活中的暴力”。罗梅洛却突然站起来推开公关人员,指着那位家长的鼻子吼道:“Fuck Yourself!”在片刻如死寂般的安静之后,玩家的掌声和喝彩声如决堤的洪水一样爆发,整个会场陷入疯狂之中!

  

06

在骄傲中迷失自我

一时间,罗梅洛在美国声名大躁,采访他的媒体记者络绎不绝。他还会隔三差五地组织玩家见面,并在各种论坛上和粉丝们胡天海地地聊天。

这些活动占据了他大部分的精力和时间,他渐渐疏于打理ID Software的事务。同时,各种溢美之词也膨胀了他的野心,他激动地向卡马克描绘着自己的雄心壮志:“我们接下来应该想办法扩展公司业务,把它打造成一个游戏帝国!”但卡马克希望ID Software永远都只是一个小公司,这样大家就依然可以像以前那样把全部精力投入到技术钻研和游戏开发上,不用为人事、财务、销售等杂七杂八的事情分心。对卡马克来说,钻研技术就是人生的最大乐趣。

两人在ID Software的未来走向问题上产生了严重的分歧,以致于彼此都不能容忍对方的存在。由于他们是公司最大的两个持股人,对公司的控制势均力敌,谁也无法直接炒掉对方,最后不得不召开股东大会进行投票表决,包括阿德里安·卡马克和哈尔在内的股东们一致选择让罗梅洛离开。

罗梅洛卖掉了手上全部的股份,离开了他一手主导创立的游戏公司。

 

07

从神坛跌落,黯然退场

 

离开ID后,罗梅洛成立了自己的游戏公司“Ion Storm”,公司的信条是“设计就是法律”,而凭借他个人的魅力以及辉煌的经历获得了Eidos的巨额投资,随即进入了新款游戏《大刀》(Daikatana)的开发之中。

罗梅洛认为只有庞大的开发团队和豪华的办公环境才能帮他打造出理想中的好游戏,于是他把公司的办公地点选在市中心一座顶级写字楼的最高层,在内部装修上极尽奢华,并快速地招募了数倍于ID规模的员工。

离开了ID公司与当初创业团队的罗梅洛逐渐陷入了对游戏设计上吹毛求疵式的偏执,他不计成本与效益地追求心目中最完美的设计,为此不惜多次在即将开发完成之际彻底推翻重来。一批又一批程序员选择离职,原本计划只开发半年的游戏最后用了四年才得以面世。更糟糕的是,《大刀》再没有获得先前游戏的成效,它遭到了玩家和媒体的一致差评。

罗梅洛一边言辞激烈地指责玩家和媒体缺乏正常的审美水平,一边通过各种渠道奔走疾呼称《大刀》只有耐心玩进去后才能体会到设计上的精妙,但这些努力都无济于事。

《大刀》的失败彻底磨灭了罗梅洛的野心,Ion Storm宣告解散,罗梅洛也随之渐渐淡出了玩家们的视野,一代传奇就此黯然落幕。

参考链接:

https://baike.baidu.com/item/%E7%BA%A6%E7%BF%B0%C2%B7%E7%BD%97%E6%A2%85%E6%B4%9B/317162?fr=aladdin

https://www.gamersky.com/zl/intellectual/201605/752014.shtml

http://www.gamelook.com.cn/2019/04/355566

我知道你在看

这篇关于沉迷游戏自学编程,创建游戏帝国,却黯然退场的“鬼才程序员”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/621953

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析