第一個電腦遊戲是個意外:《太空戰爭》的傳奇誕生

第一個電腦遊戲是個意外:《太空戰爭》的傳奇誕生

在這個高畫質遊戲滿天飛、電競選手成為明星、虛擬實境(VR)讓人身臨其境的時代,你能想像第一個電腦遊戲竟然是個「意外」嗎?它不是什麼精心策劃的大製作,而是1961年在麻省理工學院(MIT)實驗室裡,一群學生為了打發時間隨手搞出來的玩意兒。這個遊戲叫《太空戰爭》(Spacewar!),名字簡單,卻是電腦遊戲史上的開山鼻祖。它不只改變了電腦的用途,還像一顆種子,悄悄種下了日後遊戲產業的繁榮。今天,我們就來聊聊這場意外的誕生,看看這款粗糙卻偉大的遊戲,怎麼從MIT的角落飛向歷史舞台,影響一代又一代的玩家與創作者。 PDP-1:一台不平凡的「玩具」 故事得從1961年的MIT電腦科學實驗室說起。那時候,電腦不像今天隨手一抓一大把,而是稀罕的大傢伙,貴得像黃金,只有大學或研究機構才有。MIT剛好弄來一台新玩具——PDP-1迷你電腦,由Digital Equipment Corporation(DEC)打造。別看它叫「迷你」,比起現代筆電,這台機器還是個龐然大物,得占據半個房間。但在當時,它可是頂尖貨色,運算能力強,還配了個特別的向量顯示器(vector display)。 這顯示器跟現在的螢幕完全不同。它不用像素點,而是靠電子束在螢幕上畫線條,像個高科技畫筆。這種技術畫不出細膩的圖案,只能勾勒簡單線條,但速度快、反應靈敏,正好成了《太空戰爭》的舞台。更妙的是,PDP-1不像某些高高在上的機器只給教授用,學生也能動手玩。這開放的環境,就像給了一群好奇寶寶一盒樂高,誰知道他們會拼出什麼驚喜。 那年頭,電腦的用途很單純——跑科學計算、解數學題,沒人想過拿它玩遊戲。程式設計師還沒「遊戲開發者」這頭銜,大家都是工程師兼創意家,邊學邊搞亂。PDP-1的到來,就像丟進一顆石子,激起了一池漣漪,而這池水裡,潛伏著一群準備大鬧一番的天才。 天才的即興演出:從無聊到創意爆發 帶頭搞亂的,是幾個MIT的學生:史蒂夫·拉塞爾(Steve Russell)、韋恩·維滕(Wayne Wiitanen)、馬丁·格雷茨(Martin Graetz),還有幾個同伴。他們不是什麼遊戲設計專家,甚至沒想過要正經做遊戲。當時的目標很簡單:這台PDP-1這麼酷,總得拿來幹點有趣的事吧!科學計算太無聊,他們想玩點新花樣。 靈感從哪來?據說是從科幻小說和太空熱潮來的。1960年代正是太空競賽的高峰,阿姆斯壯還沒登月,但人類對星空的幻想已經滿溢。拉塞爾他們決定搞個太空戰鬥的東西,兩艘太空船在宇宙裡對打,聽起來簡單又刺激。沒什麼正式計畫,他們就邊想邊做,花了好幾個月,斷斷續續寫程式、調參數。 1962年初,《太空戰爭》終於成型。遊戲畫面粗糙得像小學生塗鴉:兩艘用線條畫的太空船(一艘像楔子,一艘像針),在黑底上飛來飛去,中間有顆星星當重力源。玩家用鍵盤控制一艘船,射擊對方,另一艘由電腦操控。沒華麗特效,沒背景音樂,但這遊戲有靈魂——你得算好角度、躲子彈,還得小心別撞進星星。這簡單的設計,卻藏著策略和挑戰,讓人一玩就停不下來。 他們沒想到,這隨手做的玩具會成為歷史開端。拉塞爾後來回憶,當時只是覺得好玩,沒想過什麼「第一個遊戲」的頭銜。但這場即興演出,就像點燃了火柴,照亮了電腦娛樂的未來。 《太空戰爭》的魅力:簡單中的深意 別看《太空戰爭》畫面陽春,它可是麻雀雖小,五臟俱全。遊戲裡有玩家操控的角色(太空船)、敵人(對手船)、目標(擊敗對方),還有計分系統。太空船會受中間星星的重力影響,軌跡不是直線,得靠技巧調整。這設定讓遊戲不只是亂射,還得動腦,玩起來有種原始的爽感。 更重要的是,它打破了電腦的刻板印象。那時,大家覺得電腦是冷冰冰的計算工具,沒人想過它能拿來玩。《太空戰爭》證明,電腦不只是數學怪獸,還能是娛樂夥伴。這觀念像顆種子,慢慢發芽,長成後來的遊戲產業。 遊戲做好後,拉塞爾他們沒藏私,把程式碼公開。當時沒版權觀念,PDP-1的圈子又小,程式很快就傳開了。其他大學和實驗室的學生拿到後,開始改進:有人加了更多星星,有人調了重力效果,還有人搞出雙人對戰版。這開放分享的風氣,像極了後來的開源文化(open source),無形中推動了遊戲的傳播與進化。每次想到這點,我都覺得這些學生不只做了遊戲,還開啟了一場創意接力賽。 意外的傳奇:從MIT到遊戲史 《太空戰爭》不是什麼商業產品,也沒賺過一分錢,但它的影響力遠超想像。它在PDP-1圈子裡紅極一時,成了電腦迷的必玩項目。據說,有些實驗室甚至得定規則,免得學生整天玩遊戲不幹活。這股熱潮,讓更多人開始思考:電腦能做的不只計算,還能講故事、造樂趣。 這遊戲的成功不是偶然。1960年代,科技正飛速發展,PDP-1的向量顯示器提供了技術基礎,而MIT的自由氛圍給了學生發揮空間。拉塞爾他們的創意,就像在對的時間點燃對的火花,意外燒出一條新路。它啟發了後來的遊戲先驅,像諾蘭·布希內爾(Nolan Bushnell),他玩過《太空戰爭》後創辦Atari,推出《Pong》,正式拉開街機時代序幕。 對我來說,《太空戰爭》像個傳奇。它沒炫麗畫面,卻有純粹的樂趣;沒商業包裝,卻有無限潛力。每次看到現代遊戲的太空題材,我都忍不住想,這一切是不是從那兩艘線條太空船開始的? 從意外到現代:遊戲技術的飛躍 從《太空戰爭》到今天,遊戲技術走了多遠?1962年,拉塞爾得用穿孔卡輸入程式,畫面靠電子束手動調,調試全靠猜測。當時的電腦慢得像牛車,一秒跑幾千次運算就了不起。對比現在,PS5每秒能跑幾十億次運算,畫面細膩得像電影,這差距簡直像穿越時空。 遊戲開發也從單打獨鬥變成大團隊合作。拉塞爾他們幾個月搞出《太空戰爭》,現在一個3A大作得花幾年,動輒幾百人參與。但《太空戰爭》的精神沒丟——創意和實驗還是核心。現代工具像Unity、Unreal Engine,讓開發變簡單,但那股「想做點好玩東西」的衝動,跟當年MIT學生沒兩樣。 玩家體驗也天翻地覆。當年得跑去實驗室玩PDP-1,現在手機一點就能下載遊戲。《太空戰爭》的雙人對戰,成了今天線上遊戲的雛形,全球玩家隨時PK。這意外的小遊戲,開啟的不只是技術進步,更是娛樂方式的革命。 意外的啟示:創意改變世界 回顧《太空戰爭》,它不只是第一個電腦遊戲,更是一個關於創意的故事。拉塞爾他們沒什麼偉大目標,只是想玩得開心,卻誤打誤撞開了新時代。這提醒我們,改變世界的東西,往往從小處開始。就像愛迪生的燈泡、賈伯斯的蘋果,意外的火花能點亮未來。 對玩家來說,這故事是個起點。每次玩《星際大戰》或《星海爭霸》,我都覺得是在跟《太空戰爭》致敬。對開發者來說,它是個鼓勵:別怕試驗,哪怕只是好玩,也可能成為經典。我有次自己寫小遊戲,雖然粗糙,但玩到成功的那刻,心裡那股滿足感,跟拉塞爾他們當年應該差不多。 未來,遊戲會走向哪?AI可能自己設計關卡,VR讓我們走進遊戲世界。但不管技術怎麼變,《太空戰爭》的意外精神不會過時。它告訴我們,創意無大小,只要有心,隨手一試都可能改變遊戲規則。下次你打開遊戲機,不妨想想那台PDP-1和那群學生,他們的無心插柳,種下了今天這片遊戲森林。這份意外的傳奇,才是《太空戰爭》留給我們最珍貴的禮物。

2023 年 3 月 10 日 · 1 分鐘 · 電腦考古員
第一個程式 Bug 真是隻蟲 - 從飛蛾趣事到現代除錯的科技之旅

第一個程式 Bug 真是隻蟲 - 從飛蛾趣事到現代除錯的科技之旅

你有沒有寫程式寫到一半,螢幕突然跳出一堆錯誤訊息,讓你抓狂到想摔鍵盤?這種找不出問題的痛苦,幾乎是每個程式設計師的必經之路。我們現在隨口說的「除錯」(debug),早已是程式界的日常用語,但你知道嗎?這個詞的起源,竟然跟一隻真的小飛蛾有關!這段故事不只幽默,還帶著濃濃的歷史氣息,讓人忍不住想一探究竟。今天,我們就從這隻飛蛾說起,聊聊「bug」怎麼從昆蟲變成程式錯誤的代名詞,再看看除錯技術怎麼從大海撈針進化成今天的科技魔法,最後想想這段歷史對我們的啟發。準備好了嗎?讓我們一起穿越到1947年的哈佛大學,開啟這場程式除錯的奇妙旅程! 飛蛾闖禍:第一個「bug」的誕生 故事的舞台是1947年的美國哈佛大學計算中心。那時候,電腦還是個新鮮玩意兒,遠不如今天的手機輕巧。當時的Mark II電腦,是世界上最早的計算機之一,體積大得像個房間,裡面塞滿了成千上萬個繼電器(relay)。這些繼電器就像電流的開關,咔噠咔噠地運作,控制電路,讓電腦能執行簡單的運算。雖然跟現代電腦比起來慢得像烏龜,但在那個年代,這可是科技的頂尖代表。 然而,這台Mark II卻常常鬧脾氣。某天,它又莫名其妙地罷工了,工程師們急得像熱鍋上的螞蟻,檢查線路、翻看程式碼,忙得滿頭大汗,卻怎麼也找不到問題。當時的程式設計不像現在有除錯軟體,全靠人工一步步排查,簡直是大海撈針。經過好幾個小時的苦戰,他們終於有了驚人發現:一台繼電器裡,竟然卡住了一隻小飛蛾!這隻不速之客讓電路短路,成了整台電腦停擺的元兇。 負責這台電腦的團隊裡,有位傳奇人物——Grace Hopper。她不只是電腦科學的先驅,還以幽默著稱。發現飛蛾後,她靈機一動,把這隻小傢伙用膠帶貼在Mark II的記錄本上,寫下了一句經典註記:「First actual case of a bug being found」(第一個真正被發現的『bug』)。英文裡,「bug」本來就指昆蟲,也常比喻小故障。Grace Hopper這一貼一寫,把「bug」跟程式錯誤連繫起來,從此成了程式界的專有名詞。那隻飛蛾,至今還被保存在美國國家歷史博物館,成了科技史上最有名的「罪犯」。 這故事聽起來好笑,卻也讓人佩服當時工程師的耐心。想像一下,在沒有現代工具的年代,面對一台龐然大物,他們得靠肉眼和邏輯,一點點挖出問題。這隻飛蛾不只是個意外,更像個象徵,提醒我們程式除錯從一開始就是場硬仗。 從意外到傳奇:bug背後的啟示 為什麼這故事能流傳至今?不只是因為它好玩,更因為它抓住了早期電腦開發的精髓。那時候的電腦硬體粗糙,程式設計也才剛起步,錯誤隨時可能冒出來,像飛蛾一樣防不勝防。工程師們得像偵探一樣,靠細心觀察和嚴謹推理,才能揪出問題。找到飛蛾的那一刻,不只是解決了一次故障,更是團隊合作和毅力的勝利。 Grace Hopper的幽默註記,也為這段歷史添了點溫暖。她後來回憶說,當時大家忙著修機器,發現飛蛾後忍不住笑了出來,這笑聲緩解了緊張,也讓「debug」這個詞多了份人性味。從此,每次程式出錯,工程師們會半開玩笑地說:「去把bug抓出來吧!」這詞從昆蟲變成術語,背後是無數人的汗水和創意。 對我來說,這故事就像個小小的啟發。寫程式時遇到bug,我偶爾也會想像自己是1947年的工程師,拿著放大鏡找飛蛾。雖然工具變了,但那種追根究柢的精神,還是程式設計的核心。飛蛾事件不只是趣聞,更像一面鏡子,映出早期開發者的辛勞,也提醒我們今天的便利有多珍貴。 除錯的進化:從手動排查到科技魔法 從Mark II的飛蛾到今天,debug技術走了多遠?1947年,工程師只能靠雙手和腦袋,檢查電線、翻閱紙帶,甚至用耳朵聽繼電器的聲音找異常。這種手工除錯慢得像爬山,一個小錯誤可能耗掉幾小時甚至幾天。當時的程式是用穿孔卡寫的,錯一個洞就得重來,想想都覺得頭痛。 隨著電腦進步,除錯也開始升級。1950年代,程式語言像FORTRAN出現,取代了純粹的機器碼,讓錯誤更容易被發現。到了1960年代,第一批除錯工具(debugger)誕生,能讓工程師逐步檢查程式執行過程。這些工具雖然原始,卻是個大突破,省下不少翻紙帶的苦工。 現代的除錯技術,簡直像魔法一樣。如今的整合開發環境(IDE),像是Visual Studio或PyCharm,內建強大的除錯器。你可以設定斷點(breakpoint),讓程式跑一段就停下來,檢查每個變數的值;可以用單步執行(step through),一行行看程式怎麼跑。編譯器也聰明得嚇人,語法錯了馬上紅線警告,邏輯問題也會給提示。還有靜態程式碼分析工具,像SonarQube,能掃描潛在的記憶體洩漏(memory leak)、安全漏洞,甚至告訴你哪段程式碼寫得太亂。 這些工具把除錯變成半自動化,像有個聰明助手幫你找飛蛾。以前Grace Hopper得親手拆繼電器,現在按幾個鍵就能定位問題。我有次寫Python程式,跑不出結果,開啟除錯器一看,才發現是個迴圈多跑了一次,幾分鐘就搞定。這要是放在1947年,可能得熬夜翻遍電路圖。 技術背後不變的核心:細心與邏輯 雖然工具進步到像科幻片,但除錯的本質沒變。飛蛾事件告訴我們,再好的機器也可能出意外,關鍵在於人的觀察和推理。今天,我們雖然有IDE幫忙,但面對複雜的bug,還是得靠自己動腦。比如,程式跑得好好的,突然崩潰,工具只告訴你哪行錯了,卻不說為什麼。這時,得像偵探一樣,分析變數變化、追溯邏輯,才能找到那隻隱藏的「飛蛾」。 我有個朋友,寫網頁時遇到個怪bug,點擊按鈕沒反應。除錯器跑了半天,顯示沒問題,最後才發現是瀏覽器快取惹的禍。這類問題工具幫不上忙,只能靠經驗和耐心。技術再強,細心還是除錯的靈魂,就像Grace Hopper當年不放過任何線索,才挖出那隻小蟲。 歷史的回響:從飛蛾看現代與未來 「第一個bug是隻真蟲」的故事,不只是個笑話,還是一堂關於科技與人性的課。它讓我們看到,電腦從笨重繼電器到輕薄筆電,背後是無數人的努力。每個bug的解決,都是耐心和智慧的結晶。Grace Hopper貼下飛蛾的那一刻,不只記錄了歷史,也留下一個提醒:科技再進步,人的用心永遠是關鍵。 現在,軟體無處不在,從手機App到醫療系統,bug不只是小麻煩,可能影響生活甚至生命。像我用叫車App時,偶爾定位錯亂,雖然只是小bug,卻讓人抓狂。要是換成自駕車,這種錯誤就可能出大事。所以,除錯不只是技術活,更是責任感,對細節的堅持直接關乎軟體的可靠度。 展望未來,軟體會越來越複雜,人工智慧、雲端運算、大數據,每個領域都帶來新挑戰。未來的bug可能藏在幾十萬行程式碼裡,或是AI模型的隱藏偏差裡。除錯工具會更聰明,可能用機器學習自己找問題,但程式設計師的角色不會消失。我們得像1947年的工程師一樣,保持好奇和謹慎,才能應付這些新「飛蛾」。 從飛蛾到我們的啟發:除錯也是一種態度 回想那隻飛蛾,它不只是個意外,更像個起點,開啟了debug的歷史長河。從手動翻線到按鍵除錯,技術變了,但精神沒變。每個bug都是一道謎題,等著我們用邏輯和耐心解開。下次程式又卡住,別急著罵電腦,想想Grace Hopper怎麼笑著貼下飛蛾,再深呼吸,慢慢找答案。 這故事也讓我反思,生活裡的「bug」何嘗不是如此?計畫亂了套、工作出岔子,都是小飛蛾在搗亂。學會除錯,不只是寫好程式,更是學會面對問題,細心觀察、冷靜分析,然後解決它。從1947年的哈佛到今天,這隻飛蛾教我們的,不只是科技進步的故事,更是面對挑戰的態度。或許,下次debug時,你也會笑著說:「來吧,讓我抓到你這隻小蟲!」這樣的樂趣,才是程式世界的真正魅力。

2023 年 2 月 6 日 · 1 分鐘 · 程式小幫手