顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2023-07-13 20:30:03
看板 Soft_Job
作者 eliang ()
標題 [心得] 軟體考古系列 毀滅戰士們:草創之初
時間 Wed Jul 12 00:16:25 2023


如果 Facebook 創立的故事可以拍成《社群網戰》,好萊塢遲早會將 David Kushner
寫的《Masters of Doom》拍成電影

圖文並茂版:https://blog.brachiosoft.com/doom-1
毀滅戰士們:草創之初
[圖]
如果 Facebook 創立的故事可以拍成《社群網戰》,好萊塢遲早會將 David Kushner 寫的《Masters of Doom》拍成電影。
實際上,在 2019 年真的有人想把《Masters of Doom》拍成電視劇。James Franco 和 Dave Franco 兄弟共同製作了 ...

 
臉書專頁:https://www.facebook.com/brachiosoft

實際上,在 2019 年真的有人想把《Masters of Doom》拍成電視劇。James Franco
和 Dave Franco 兄弟共同製作了首集,但最後 USA Network 決定不投資,使得這部
劇無疾而終。然而有眼尖的網友找到幾張劇照,重現當年 Softdisk 辦公室的模樣。

Softdisk 正是兩個約翰:John Romero 與 John Carmack 初次相遇的地方。他們倆與
另外二人,Tom Hall 和 Adrian Carmack,共同創辦了 id Software,開發了

《毀滅戰士》(Doom)和《雷神之鎚》(Quake)等傳奇遊戲,開創了第一人稱射擊
(first-person shooter)這種遊戲類型,從此顛覆了遊戲產業的樣貌。

## Softdisk - Gamer's Edge

John Carmack 本來沒有打算加入 Softdisk 的。一直以來,他以接案為生,無拘無束
,但是接案只能勉強養活自己,他需要一份正職工作。於是在 Jay Wilbur 和
Tom Hall 再三邀請下,19 歲的 Carmack 從他家堪薩斯城開車到路易斯安那州的雪薇
波特(八小時車程),來到 Softdisk 辦公室的所在地。

當 Carmack 在 Softdisk 辦公室見到了 John Romero 等一群資深程式設計師時,他
才決定要接下這份工作。在學校時,Carmack 是最聰明的小孩,老師根本沒什麼可以
教他的了,他一直以來都是讀圖書館的書自學。然而在 Softdisk,他第一次見識到比
他厲害的程式設計師,他覺得在這裡可以向前輩們學到書本上學不到的東西,所以他
毅然決定搬到雪薇波特,加入 Softdisk、Romero 的團隊。


Softdisk 的商業模式可以說是「軟體福袋每月送你家」:每個月大概付 10 美元,你
就會收到一張 3.5 吋磁片,裡頭存著一些你不能選的應用程式或遊戲。這些軟體可以
跑在當時的主流平台上:Apple II、Apple IIgs、IBM PC(簡稱 PC),而當年 PC 聯
手微軟的 MS-DOS 作業系統,蠶食蘋果,是個人電腦市場的霸主。


1990 年,Softdisk 也順應這股潮流,讓 Romero 帶領一個名為 Gamer's Edge 的新
部門,製作 PC 遊戲。老闆給 Gamer's Edge 的第一個任務是一個月內產出兩款 PC
遊戲,讓 Softdisk 寄到訂戶的手上。


「一個月生出兩款遊戲!怎麼可能?」幸好,早在加入 Softdisk 之前,Romero 與
Carmack 就寫過許多遊戲,他們想到可以把他們之前在 Apple II 上的遊戲移植到 PC
上:分別是 Romero 的《Dangerous Dave》和 Carmack 的《Catacomb》。

## 平滑捲動

《Dangerous Dave》和《Catacomb》都是 2D 的捲軸遊戲。Dangerous Dave 背景基本
上是固定不動的,玩家過關之後畫面才會切換到下一關。而 Catacomb 背景會跟著玩
家移動,但每次移動是以多個像素(例如 8x8 或 16x16)組成的磚塊(tile)為單位
,並不是一個一個像素的(pixel by pixel)移動。


https://www.youtube.com/watch?v=nKG_6wNK460

這個限制不是偶然、也不是他們偷懶,是因為當時的個人電腦還很慢,如果每移動一
個像素就要重繪整個場景,遊戲就會變得很卡,根本沒辦法遊玩。當時的捲軸遊戲聖
杯是大名鼎鼎《超級瑪利歐兄弟》,早在 1985 年,任天堂就做到了「平滑捲動」

(smooth scrolling)——背景可以隨著瑪利歐一個一個像素的滑順地移動。瑪利歐
不但是無數人的童年回憶,也是許多遊戲製作人的標竿。Romero 製作
Dangerous Dave 也是想效仿瑪利歐,而「平滑捲動」也一直是 Carmack 想做到的效
果。

Gamer's Edge 產出第一張磁片後,Softdisk 的老闆答應 Romero 和 Carmack 之後
「只需」每兩個月產出一款他們自己想做的原創遊戲,這讓 Carmack 有時間開始研究
平滑捲動的技術。

當時的顯示卡標準 EGA 有一些功能可以加速平滑捲動的運算。

1. EGA 有足夠的記憶體空間讓可以做雙緩衝(double buffering)——你在顯示卡記
   憶體放兩個緩衝區:一個用來繪製;一個用來顯示。畫完一個緩衝區才把它顯示到
   螢幕上,如此以解決畫面閃爍的問題。


2. EGA 另一個功能是它允許你配置一個比實際螢幕還大的緩衝區。假設螢幕尺寸是
   320x200 像素,你可以配置一個稍大的緩衝區,如 384x224,然後鏡頭在緩衝區內
   平移,只要鏡頭還在這個緩衝區以內,除了遊戲角色鄰近的磚塊外,就不需重繪任
   何像素。


Carmack 思考:「那如果鏡頭移出緩衝區之外,應該要發生什麼事?」一開始,他想
到整個緩衝區必須重繪,再配上一個他稱之為 Adaptive Tile Refresh 的方法。他觀
察到大部分的場景,色彩都很單調,像是瑪利歐的藍天白雲。試想:把兩張相同的背
景疊在一起,其中一張不動,一張位移一個磚塊,你會發現大部分磚塊的顏色是可以
保持不變的。Carmack 將這個觀察寫成程式,他的程式碼省下了許多 CPU 時間,讓畫
面更新率可以維持在每秒 20-30 格,確保遊戲體驗流暢。


Adaptive Tile Refresh 是一個聰明但也複雜的方法,事後 Carmack 發現有一個更簡
單、更快速的方法。他發現當鏡頭移出緩衝區之外,EGA 會繞回去顯示緩衝區的起始
位址,如此一來,他根本就不用在意場景的顏色。每當鏡頭移出緩衝區之外,他只要
確保把一條新的橫列或直行的磚塊畫進緩衝區,更新暫存器裡的位移值,EGA 就會幫
他把緩衝區的一部分正確地畫到螢幕上。


Carmack 常被譽為是第一個在 PC 上做到平滑捲動的人,但其實更早另有他人,只能
說當年剛好有幾個人在差不多時期做到了同一件事。IBM 在 1981 年推出了 PC 以及
CGA 顯示卡架構,在 1984 年推出 EGA。五年後,SEGA 的遊戲《戰斧》PC 版在 1989
年上市,其捲動的方法也是利用 EGA 會「繞回去」的特性。隔年,1990 年,Carmack
才加入 Softdisk、發明了 Adaptive Tile Refresh、啟發了 id Software 的創立。

## 創業契機

那天是 1990 年 9 月 20 日,John Romero 早上 10 點進公司,辦公室空無一人,他
走到辦公桌,發現他的鍵盤上有一張 3.5 吋磁片,上面有一張便條紙寫著
「輸入 DAVE2」。

「嘿嘿!一定是 John (Carmack) 又做出什麼酷東西了!」Romero 心想。
「 看來 Tom 也有幫忙。」他認出便條紙上是 Tom Hall 的筆跡。他把磁片插入他的
386 電腦(當時全公司最好的 PC),執行 DAVE2.EXE,然後螢幕上出現
"Dangerous Dave in Copyright Infringement"(有侵權疑慮的 Dangerous Dave)。

https://www.youtube.com/watch?v=cj4HJkeQSg0

背景隨著遊戲角色 Dave 平滑地移動的那一刻,Romero 驚呆了。資深玩家 Romero 玩
過無數的遊戲,但他從沒見過任何一款 PC 遊戲可以像瑪利歐一樣橫向、平滑的捲動。

雖然當時 Gamer Edge's 已經在利用 Carmack 的捲動技術在開發遊戲,但一開始

Carmack 的引擎還只能做出縱向的捲動。所以當 Romero 看到 Carmack 和 Tom 做出
一個角色可以左跑右跑、跳上跳下,背景還會跟著移動的遊戲時,才會這麼興奮。

「有侵權疑慮的 Dangerous Dave」是 Tom 和 Carmack 前一晚工作到凌晨 5 點半的
成果。那天晚上,大家都下班了,只剩下 Tom 和 Carmack 在辦公室繼續工作
Carmack 向 Tom 展示他的橫向捲軸技術,Tom 靈機一動:「我們來複製《超級瑪利歐
兄弟 3》的第一個關卡吧!」Tom 重製了瑪利歐場景裡的白雲、水管、金幣,但瑪利
歐本人被替換成 Dangerous Dave。


興奮的 Romero 在 Softdisk 到處跑,把 demo 展示給其他 Softdisk 的工程師看,
但他得到的反應是:「喔,然後呢?」「嗯,還不錯。」

「一群白痴,他們竟然不懂。」Romero 心想。遊戲資歷不多的人根本不會想到這可能
是史上第一個在 PC 上滑順的橫向捲軸遊戲。

Carmack 可能也沒辦法理解 Romero 為什麼這麼激動。做到了縱向捲軸,橫向捲軸幾
乎是一蹴可幾,就技術上而言,一開始做到縱向捲軸還比較值得讓人興奮。然而,
Romero,遊戲界的伯樂,看的是產品面,他玩過太多了遊戲了,這讓他有獨到的眼光
,他看一眼就篤定 PC 上的橫向捲軸遊戲會紅,像瑪利歐一樣紅。

等到 Gamer's Edge 的成員,Carmack、Tom、Adrian 等人都進了辦公室,Romero 迫
不急待地告訴他們:「這個超屌的!」想到剛才被其他同事潑冷水,他繼續說:「我
們要離開這裡!Softdisk 根本就不懂這技術有多厲害!這個技術留在 Softdisk 太浪
費了!我們要自己創業!」大伙都抱著看好戲的心態看著 Romero 發瘋,因為他們認
識的 Romero 本來就是一個誇張的人。


Jay Wilbur 剛好路過辦公室,正要開口安撫過於興奮的 Romero,Romero 稍稍冷靜下
來並打斷他:「我是認真的,我們要走人了!」Jay 把身後的門關上,讓 Romero 徐
徐道來。


一支夢幻團隊就這樣形成了:John Carmack,技術天才,負責開發遊戲引擎;
John Romero,全能的程式設計師,擅長遊戲設計、美術、甚至商業談判;
Adrian Carmack 負責美術;Tom Hall 是遊戲設計師;
Jay Wilbur 負責公司運營、稅務,還有準備食物給大伙吃。

他們在湖邊租了一間房子,作為他們新據點。他們還沒準備好要辭職,也沒有電腦可
以用,於是他們公器私用,下班後把他們在 Softdisk 用的電腦,全數遷移到湖邊的
房子,開始做他們的新專案。平日白天他們是 Gamer's Edge、Softdisk 的職員,下
班後這個團隊就變成 "Ideas from the Deep",簡稱 IFD,是 id Software 的前身。

Jay 首先建議與任天堂合作,開發 PC 版的瑪利歐遊戲,因為若能成為任天堂的合作

夥伴,馬上就能開始賺錢了。

這群人一下班,就聚在湖邊的房子,沒日沒夜地的趕工。一個禮拜後,他們完成了
《超級瑪利歐兄弟 3》PC 版 demo:

https://vimeo.com/148909578

他們把這個 demo 寄給了任天堂,並在信中提議合作。據說任天堂高層看了 demo 印
象深刻,但他們寧可把遊戲留在自己生產的遊戲機裡,任天堂沒有興趣,也沒有必要
開發 PC 遊戲的市場,便回絕了 IFD 一行人的提議。


失望之餘,IFD 決定自創遊戲,這個遊戲叫做《指揮官基恩》(Commander Keen)。
他們當時剛好遇到一個叫 Scott Miller 的人可以幫他們發行遊戲。

## Apogee 模式

在兩個約翰都還在 Softdisk 當職員時,身處於德州達拉斯的 Scott Miller 經營共
享軟體(shareware)事業已頗為成功。

共享軟體發跡於工具程式,運作方式是這樣的:開發者散佈工具程式給大家免費使用
,如果使用者喜歡,他們可以決定要不要付一點錢來感謝程式的開發者。

一開始 Scott 想把這種模式用在自製的遊戲上,但不成功。遊戲玩家似乎比較厚臉皮
,有免費的可以玩,沒人會選擇付錢。

後來 Scott 稍作調整,他把遊戲分成多個關卡,只有一開始的關卡可以免費玩,但若
要玩後面的關卡,玩家就得付錢。Scott 在各個 BBS 站宣傳他自製的遊戲,免費讓玩
家下載一小部分,當玩家玩完了,螢幕上就會跳出 Scott 他家的地址,告訴玩家如果
要玩剩下的部分,寄一張支票給 Scott,就會收到完整的遊戲。


Scott 自創的「Apogee 商業模式」大獲成功,很快的,玩家寄來的支票超越了 Scott
白天當寫手所帶來的收入。於是,Scott 辭去正職工作,開了一間叫 Apogee 的公司
,專心發展他的遊戲事業。


某一天,Scott 聯絡上 Romero,想談合作。Scott 問起 Romero 過去的遊戲
《Pyramids of Egypt》,能不能做個續集,然後再用「Apogee 模式」發行?

Romero 回答:「《Pyramids of Egypt》是 Softdisk 的版權,我們不能用它。但別

灰心,我們現在手上有一個更酷的東西。」幾天後,Scott 收到一個來自 IFD 的包裹
,信上寫著《指揮官基恩》的介紹,隨信附上 IFD 先前寄給任天堂的瑪利歐 demo。

Scott 曾在推特上公開分享過這封信,信中提到的「引擎」(engine)應該是
「遊戲引擎」一詞最早的文字紀錄。

https://twitter.com/ScottApogee/status/1592183177719824386

Scott 看到瑪利歐 demo 後驚豔不已,馬上拿起電話打給 John Carmack 聊了好幾個小時。「這個傢伙是個天才,他比其他同業的人都還要領先一步,在做沒有人做過的事。」在掛斷電話前,Scott 已打定主意要和 IFD 團隊簽約。

## 指揮官基恩

Scott 和 IFD 團隊達成協議:IFD 必須在聖誔節前交付《指揮官基恩》給 Apogee 發
行,當時是 1990 年 10 月,這表示 IFD 只剩兩個月可以完成這個遊戲。

《指揮官基恩》是 Tom Hall 的精心傑作。Tom 為遊戲寫了背景故事,遊戲的卡通元
素也大多出於 Tom 之手。這個遊戲充分利用 Carmack 開發的捲動技術:如同瑪利歐
,遊戲場景會隨著基恩左右上下、以像素為單位滑順地移動。


https://www.youtube.com/watch?v=YUyQSfKRU1w

Tom 負責設計,Carmack 和 Romero 負責程式。Carmack 繼續改良遊戲引擎,讓基恩
移動得更順暢;Romero 開發一個名為 "TED"(tilemap editor)的地圖編輯器,讓
Tom 可以設計關卡;Adrian 在後期也加入美術設計的行列。


兩個月不眠不休地努力,IFD 團隊不知攝取了多少可樂和披薩。Scott 最終在 1990
年 12 月 14 日將《指揮官基恩》第一關放到各大 BBS 站讓大家免費下載。如果付
30 塊美金,Apogee 就會把之後的兩個關卡存在磁碟片寄給玩家。

《指揮官基恩》大受歡迎。Apogee 本來的月收入大約是 7,000 美元,而在《指揮官
基恩》釋出的那個月,收入直接衝上 30,000 美元。這個遊戲在亞洲或許沒這麼紅,
但它是無數美國人的童年回憶,那個戴著黃色安全帽、穿著洋紅色上衣的小男孩至今
仍是大家 cosplay 的對象。


## id Software 正式成軍

到目前為止這一切全發生在 1990 年:Carmack 加入 Softdisk、Carmack 發明平滑捲
動技術、Romero 說服大家自立門戶、複刻瑪利歐給任天堂看、與 Scott 合作發行
《指揮官基恩》。

1990 年 12 月,完成《指揮官基恩》後,他們將公司名稱從 "Ideas from the Deep"
或 IFD 簡化成 id

1991 年 1 月,id 一伙人拿到他們的第一筆分潤,大約是 10,000 美元,按照這個速
率估算,年收入上看 100,000 美元,足夠讓他們辭去 Softdisk 的工作了。

id 這群人在暗中搞鬼時,Softdisk 的老闆 Al Vekovius 其實有發覺蹊蹺。只是 Al
太需要 Gamer's Edge 團隊了,所以也就對他們奇怪的行為睜一隻眼閉一隻眼。直到
有一天,有個 Softdisk 的員工向 Al 告密,說 Gamer's Edge 一直在偷偷在外面賺
外快,Al 只好去當面質問 Carmack。


Carmack 向 Al 坦誠:「我承認,我們一直在用你的電腦和工作時間做自己的遊戲。」
兩個約翰更向 Al 提出辭職,而且還帶著整個團隊一起走。Al 雖然感覺到被背叛,但
他是個生意人,即使現況不理想,他仍想在當中最大化自己的利益,與其告他們,Al
反而提出合作。最後 id 同意幫 Softdisk 每兩個月製作一款遊戲。


1991 年 2 月 1 日,id Software 正式成立。在接下來的幾年裡,id Software 將一
再引領著遊戲業的發展,推出如《毀滅戰士》和《雷神之鎚》等一系列具有影響力的
遊戲,向世界展示創新的遊戲設計和先進的技術。他們將證明,遊戲不只是娛樂,也
能是藝術與科技的展現。


下回待續:〈毀滅戰士們:三維世界〉

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.12.165 (臺灣)
※ 作者: eliang 2023-07-12 00:16:25
※ 文章代碼(AID): #1ahO1RPH (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1689092187.A.651.html
f26724309: 頭香1F 07/12 00:31
hermes018: 好有趣,感謝分享,小時候玩毀滅戰士真的很驚艷2F 07/12 00:43
gasbomb: 雖然這段歷史我已經會背了 但感謝原po分享他們的故事3F 07/12 01:03
gasbomb: 期待下集
brucetu: 在台灣就被告死5F 07/12 01:05
ztsc0304356: 推6F 07/12 05:57
blueseal: 文筆還不錯7F 07/12 08:04
fake01: 推 有趣8F 07/12 08:23
Eric30: 有看有推9F 07/12 08:27
zxc8787: 推10F 07/12 08:28
Lhmstu: 推推11F 07/12 08:41
arcticocean: 好聞推推12F 07/12 09:08
henrylin8086: 卡馬克先推13F 07/12 09:28
bd535853: 推14F 07/12 09:30
SilentBob: 好文15F 07/12 09:38
chiel: 推16F 07/12 10:00
sssyoyo: 考古系列! 先推再看17F 07/12 10:25
greenx: 超棒18F 07/12 11:29
ranion: 推19F 07/12 12:29
Glacier319: 蠻有趣的20F 07/12 12:31
v86861062: 推推21F 07/12 12:58
luoeth: ㄊ22F 07/12 13:00
luoeth: *推
abccbaandy: 這類題材真的很適合拍電影24F 07/12 13:03
safe: 感謝強者原 po 大大分享故事25F 07/12 13:23
hegemon: 所以現在一堆KOL被當神拜真的笑死,真的配得上神的只有卡26F 07/12 13:28
hegemon: 馬克這些好嗎?亂拜神會遭天譴的
shooter555: 這題材應該比什麼社群網站有趣多了28F 07/12 13:59
huuu: 推! 期待下集29F 07/12 16:12
jobintan: 話說回來,以前的遊戲開發者真的非常強大,以前還沒有啥30F 07/12 17:09
jobintan: game engine或寫game用的library,所有的東西都得自己親
jobintan: 手do it from scratch,現在要作game真的方便得多了。
jobintan: 不過現在也很欽佩那些自己造輪子的大神…
TSMCfabXX: 軟體/遊戲開發的鼻祖34F 07/12 17:16
superpandal: kol更像是ceo35F 07/12 18:49
holebro: 好看36F 07/12 19:24
ManInBlack: 好像在youtube上看過介紹遊戲引擎之父,超級大神37F 07/12 20:33
luckid: 感謝分享  真有趣38F 07/12 21:11
a82611141: 推39F 07/12 22:28
viper9709: 推分享~有趣的考古40F 07/12 22:51
takingblue: 推推41F 07/12 23:02
DrizztMon: 推42F 07/12 23:41
rio35: 推推43F 07/13 08:16
devon5: 推44F 07/13 09:29
kurtsgm: ....這個Scott該不會就是萬惡DLC的創始者吧45F 07/13 11:27
nick03008: 推,好看,我要寄支票到哪,我想看下集46F 07/13 13:08
GeraldGE: 好文推推47F 07/13 14:23
realbout: 拍電影!48F 07/13 16:28
ManInBlack: Scott的模式是免費試玩付費解鎖完整版,這初衷超級佛49F 07/13 17:19
ManInBlack: 心...

--
※ 看板: Soft_Job 文章推薦值: 0 目前人氣: 0 累積人氣: 66 
作者 eliang 的最新發文:
  • +55 [心得] 軟體考古系列:Git - Soft_Job 板
    作者: 36.231.121.115 (台灣) 2024-07-01 22:00:42
    Linus Torvalds 曾寫了一本書提到,當初創造 Linux 只是因為好玩,卻意外掀起一場 革命。Git 是 Linus 的第二代表作,同樣也是意外的革命,是現在軟體工程師的標配, 但至少對 …
    62F 56推 1噓
  • +36 [心得] 軟體考古系列 毀滅戰士們:草創之初 - Soft_Job 板
    作者: 118.160.12.165 (台灣) 2023-07-12 00:16:25
    如果 Facebook 創立的故事可以拍成《社群網戰》,好萊塢遲早會將 David Kushner 寫的《Masters of Doom》拍成電影 圖文並茂版: 臉書專頁: 實際上,在 2019 年 …
    50F 37推 1噓
  • +103 [心得] 軟體考古系列:Redis - Soft_Job 板
    作者: 118.160.20.244 (台灣) 2023-05-09 12:31:27
    我一直覺得 Redis 在資料庫世界裡獨具一格。其他多數資料庫的中心思想不是表格就 是文件,但在 Redis 裡,你直接與鏈結串列(linked list)和雜湊表(hash table) 等低階資 …
    112F 103推
  • +22 [閒聊] 用ChatGPT推測Satoshi是誰的可行性 - DigiCurrency 板
    作者: 36.231.86.251 (台灣) 2023-04-14 10:24:17
    Unmasking Satoshi Nakamoto: 這個兩年前的影片作者花了很多時間爬文、研究,最後得出結論是 Satoshi 是 Adam Back。 先姑且不論我們相不相信這個影片的論述,我 …
    47F 24推 2噓
  • +79 [心得] 軟體考古系列:JSON 的故事 - Soft_Job 板
    作者: 36.231.69.243 (台灣) 2023-04-11 10:45:11
    專門講軟體開發故事的 Podcast 節目 CoRecursive 最近訪問了 JSON 之父 — Douglas Crockford(以下簡稱 Doug),說他是怎麼想出 JSON 這個現在大家都 …
    93F 80推 1噓
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇