[閒聊] 玩家發現了一條遊戲公司反覆使用了20年的
玩家發現了一條遊戲公司反覆使用了20年的「祖傳程式碼」,出現在多個遊戲場景中
原文連結:https://www.techbang.com/posts/88570-game-code-20years
https://images.plurk.com/1NW7VxMbwI0fEKpWha8Zc0.jpg
有句老話說的好:「要是你的程式碼還能用,就別去碰它。」一條沿用了20多年的「祖傳程式碼」,讓V社(Valve Software)成了這句話最忠實的踐行者。
在Reddit論壇上,一名玩家最近偶然發現了《戰慄時空》系列裡的燈光閃爍頻率有種奇怪的既視感:
https://images.plurk.com/1rHTt62NSVQt3yhQAWpkrt.gif
注意到了嗎?23年前的初代《戰慄時空》裡的燈光,居然和2020年誕生的《戰慄時空:艾莉克絲》有著同樣的閃爍頻率。
這名資深玩家立即意識到了事情的有趣之處,如果這不是什麼彩蛋(經過驗證後確實不是),那只能解釋為製作方的無心之舉,如果是無心之舉,那就意味著V社將一條放了20多年的程式碼搬到了新遊戲上。
之後,有人發現了更戲劇的內容:這串程式碼不僅歷史悠久,甚至還見證了V社的遊戲歷史。因為除了能在戰慄時空全系列中找到相同的燈光場景,在V社的另一個知名系列《傳送門》裡,也有不少類似景象。
這名玩家順藤摸瓜,最後找到了這個場景的源頭——1996年發售的經典FPS遊戲《雷神之鎚》。
https://images.plurk.com/5nrb5S064Y76xGiTp60ft3.gif
玩家發現了一條遊戲公司反覆使用了20年的「祖傳程式碼」,出現在多個遊戲場景中
從左上角開始,依次是《雷神之鎚》《戰慄時空》《戰慄時空2》和《傳送門》,將四個場景放到一塊後,雖然發光的設備不同,但可以很明顯地看出它們維持著相同的閃爍頻率。
在仔細研究了戰慄時空已經開源的程式碼後,另一位玩家給出了相對合理的解釋。V社自初代《戰慄時空》誕生以來,一直使用26個字母來表示燈光的明暗程度,字母「a」代表完全熄滅,「Z」則表示最大亮度。
而在這些遊戲的源程式碼中,都能找到一條「mmamammmmmammamamaaamammma」的程式碼,註釋也正好是「燈光閃爍」:
https://images.plurk.com/1q8VzRl2sHiIMWBxcQms4G.jpg
玩家發現了一條遊戲公司反覆使用了20年的「祖傳程式碼」,出現在多個遊戲場景中
所以在這20年的開發歷史中,凡是涉及到需要「燈光閃爍」的場景,V社基本就是從原先的程式碼資料庫中復製貼上,這才有了「祖傳程式碼」的說法,但真要細究,可能這段程式碼也不能算在V社的頭上。
最早出現這個場景的是《雷神之鎚》,這是id Software的創始人約翰·卡馬克利用同名引擎Quake製作的FPS遊戲,而隨後的初代《戰慄時空》也同樣基於該引擎的改良版開發而成。
https://images.plurk.com/3JH80LQlNsguAE6Q5958DQ.jpg
當初編寫引擎的程序員隨手打下了一串負責場景的程式碼,之後便被V社原封不動照搬過去;並且即使到了《戰慄時空:艾莉克絲》,這個使用了不同引擎的遊戲時,一旦需要「燈光閃爍」,製作組還是會下意識地複製前作的程式碼。
於是一代傳一代,最終造就了一段「祖傳程式碼」,這也正好印證了編程領域的一句名言:永遠不要重複造輪子。
仔細想想,這也算是個製作組無意中留下的彩蛋了,發現這個秘密的玩家最後感慨道:「現在當我看到這個不規則閃爍的燈光,我就好奇還能在多少遊戲中看到這個場景。」
原文連結:https://www.techbang.com/posts/88570-game-code-20years
=======
不知道為啥imgur上傳檔案一直出錯 只好先用噗浪
「要是你的程式碼還能用,就別去碰它。」<-身為一個工程師 我能告訴你這是真的
大多數工程師在寫程式都會有一個習慣 會先建一個library 然後一直從裡面拉function出來用
就像你有一張素材圖 你會在好幾個物件上面用它當材質 然後你可能會在別的物件上面放那個物件
你永遠不知道這個老程式改了之後出錯會有多少東西出問題
千萬不要去碰舊程式 頂多改改最末端的東西 要改寧願自己建新的備著用(ry
--
https://i.imgur.com/cwNHMPB.png
https://i.imgur.com/E7YduYM.png
https://i.imgur.com/FprCNk0.png
https://i.imgur.com/SS2B6YF.png
https://i.imgur.com/NwfCs6o.png
--
有趣
簽名檔優質
太酷了吧
酷
這就是oop的奧義
滿有趣的
有趣
高重用性的最佳實作
這也沒甚麼必要改吧
酷欸.jpg
就跟Lorem ipsum dolor sit amet一樣意思吧
業界總會有些經常拿來使用的東西
也才小東西而已 沒什麼好改的吧
你這篇文也反覆使用
公司內部素材?
為什麼我看那GIF好像有音樂==
op了 你這也是祖傳反覆使用嗎
!? 原來有人發了嗎
哇靠真的耶
能從燈光閃爍看出既視感也是滿厲害的
多一事不如少一事
舊程式還真的是不要動,動了出其他問題更麻煩
想到魔獸包包
蜀漢老麵嘛wwwww
魔獸16格包就是動了風水大變 被山寨魔獸超越==
這舊聞了吧
魔獸包包怎麼了?XD
這是真的 別沒事妄想重構(血淚
記得COD系列最早的引擎也是從Quake改的 不知道有沒有
類似的發現
代表當時寫得好 XD
輪子不要重新發明本來就是程設的基本概念吧
初代工程師寫到叫媽媽?
好酷ㄝ
魔獸原始16格包:後來版本可用包越來越大 有玩家問
16格包能加大或更換嗎? BZ一開始居然回:16格包寫
在包包系統最上面 貿然更動可能毀天滅地
其實算是 致敬、彩蛋 ? XDDDD
真的沒事不要重構公司的code 出事你要扛的
過了一段時間後說:其實研究後加大也沒很難
表示當年有神手
然後魔獸別種意義上的崩毀就是另一個故事了
感謝回答,還有這種小故事XD
有趣
我也是先想到蜀漢老麵XDDD
mmamammmmmammamamaaamammma
不是bug本來就別碰
滿好玩的
抓到抄襲
太環保了吧
其實Quake引擎是開源的
side effect是個很可怕的東西 沒事真的別亂改...
能抄就抄,能沿用就沿用,真的不得已要改也只改一部分,
才是工程師的生存之道
有需求我寧願自己寫新的
這段code比你資深
傳家寶
這還滿常見的 那段程式應該是包在共用模組內了
是的,手癢去造新的只會讓自己陷入debug輪迴
笑死,發現這個也太厲害
祖傳程式碼 好可愛的稱呼XD
沒事別亂碰去重構
真的最早寫的和底層的code不要隨便去動 會出大事
16格包改版的當天就出bug了 真的是沒事不要動
XDDD
V社: ...對! 這是彩蛋!
XDDD
從今天起 這也變成一個彩蛋了!
oop優點啊
不得不說這個閃動也很有靈性 不然就不會祖傳了
滿有趣的
這都是前人的血淚
不過我聽人這段程式碼其實有問題
也許是太難改沒人想碰XD
可以跑的程式碼就是沒問題的程式碼,有問題的是規格問題
能動,就不要動
暴雪就是改了十六格包後跌落谷底,不要不信邪。
0x5f3759df之後,又一個常數傳說
// 我也不知道這段在幹嘛 最好別動它
新人工程師最常犯的錯誤:我覺得這邊應該要改掉
蜀漢老麵XDD
這麼大的專案很容易改一小段就整組壞掉
Half life到底要不要出三了
完全同意,老東西要嘛整個放棄要嘛死都不要改
沒測試,要refactor 老code 太危險,當然就盡量不要改
新人:這一行mmaamma是啥 老人:我是你就不會多問
你們的版控是裝飾品嗎 XD
可以用幹嘛改?不能用的時候再說
Legacy Code
很酷 XDDDD
俄羅斯也有一個當了20年的總統 還好啦
工程師:PM叫我複製貼上就好
到底有沒有人在看內文.. 這都能說因為太難?
System.out.println("Hello World!");
mmamammmmmammamamaaamammma
發現的肯定是鐵粉
我是不知道這難不難,但我聽過有遊戲刪了一張資料夾裡完
全沒關聯的圖片就會完全啟動不了的
名字都不用改呢
大驚小怪,除非要最佳化不然能跑的東西變error會哭
文組覺得不思議~不過閃燈QQ怕
imgur其實有大小跟時長限制
這就是legacy啊 只要不會出錯大家都會respect
誰敢在pull request上動這段保證被reject
稍微有點程式經驗的人都會這樣做事情。
推個
Ptt都不知道反覆用幾年了
發現這件事的人太酷了
OOP
雖然說沒什麼好改的,但是能用20年還原封不動也是很有..
.紀律
how to make flash light. google.copy.paste
蠻有趣
蠻好玩的
可以過卡馬克那關 應該是夠厲害了
XDDDD
一堆人在挖HL的彩蛋,畢竟不知道V社到底藏了多少
工程師結婚的時候送新娘的是他阿嬤給他的祖傳程式碼
36
Fw: [新聞] 戰慄時空:艾莉克絲 媒體評鑑獲IGN滿分半條命的VR轉生 《戰慄時空:艾莉克絲》媒體評鑑獲IGN滿分 電競中心/綜合報導 《戰慄時空:艾莉克絲》媒體試玩評分已於今日(24日)凌晨解禁,專業遊戲網站IGN開 出10分的滿分評價,參與體驗的媒體平均均開出80分以上的高分。除了媒體外,STEAM的18
[閒聊] 恐怖慎入!玩家18年後才發現…《戰慄時恐怖慎入!玩家18年後才發現…《戰慄時空2》屍體照「真的人類模樣」非假圖 如果你玩過18年前推出的《戰慄時空2(Half-Life 2)》,那你可能會對部分場景和人物 有印象,只不過有一名網友日前發現,遊戲內的屍體照臉部圖像竟是「真的」屍體照模樣 ,而非單純遊戲畫面,不少玩家得知後感到不舒服,「難怪每次遊玩都會被它嚇壞。」10
[閒聊] 雷神之鎚某段程式碼傳承20年仍在作用在Reddit論壇上,一名玩家最近偶然發現了《戰慄時空》系列裡的燈光閃爍頻率有種奇怪的既視感,23年前的初代《戰慄時空》裡的燈光,居然和2020年誕生的《戰慄時空:艾莉克絲》有著同樣的閃爍頻率。 這名資深玩家立即意識到了事情的有趣之處,如果這不是什麼彩蛋(經過驗證後確實不是),那只能解釋為製作方的無心之舉,如果是無心之舉,那就意味著V社將一條放了20多年的程式碼搬到了新遊戲上。 之後,有人發現了更戲劇的內容:這串程式碼不僅歷史悠久,甚至還見證了V社的遊戲歷史。因為除了能在戰慄時空全系列中找到相同的燈光場景,在V社的另一個知名系列《傳送門》裡,也有不少類似景象。 這名玩家順藤摸瓜,最後找到了這個場景的源頭——1996年發售的經典FPS遊戲《雷神之鎚》。 《雷神之鎚》《戰慄時空》《戰慄時空2》和《傳送門》,將四個場景放到一塊後,雖然發光的設備不同,但可以很明顯地看出它們維持著相同的閃爍頻率。9
[閒聊]編劇稱《戰慄時空3》劇情是「精神失常」編劇稱《戰慄時空3》劇情是「精神失常」產物:當時島上無人阻止我 就在幾年前,《戰慄時空1》以及《戰慄時空2》編劇 Marc Laidlaw 曾發布了一篇看起來 有點奇怪的文章。 這篇以「第三集」為標題的短篇故事是以模仿一封書信的形式撰寫,一封由「玩家」寄給6
[閒聊] 遊戲史上的今天/雷神之鎚帶起產業革命原文標題:遊戲史上的今天/滑鼠視角的起點《雷神之鎚》帶起遊戲產業革命的經典FPS 原文網址: 遊戲角落 遊戲小虎 今天是2021年6月22日,氣候已經酷熱到讓人越來越難保持安心坐在家中,沒有冷氣的幫5
[閒聊] 《戰慄時空 2:VR》Mod 預定 9 月展開測《戰慄時空 2》為 Valve 旗下廣受歡迎的射擊遊戲,於 2004 年首度推出,眾多玩家一 直敲碗三代,但至今望穿秋水。而由玩家團體自製的《戰慄時空 2:VR》於 2017 年開始 研發,但後來歷經挑戰,2021 年團隊加入新成員後終於使此項專案再現生機,如今計畫 於 9 月對外展開測試。5
[祖產] 戰慄時空一路沿用雷神之鎚的閃爍燈光從左上角開始,依次是《雷神之鎚》《戰慄時空》《戰慄時空2》和《傳送門》, 將四個場景放到一塊後,雖然發光的設備不同,但可以很明顯地看出它們維持著相同的2
[閒聊] 歷時五年《戰慄時空》麥塊版地圖建模完工《Minecraft》團隊花5年蓋出《戰慄時空2》數不到的三部曲超大開放世界免費下載 太棒了吧! By 歪力 《戰慄時空 2》(Half-Life 2)在射擊遊戲裡有多經典相信已不用贅述,本作打造的開2
[閒聊] 戰慄時空:艾莉克絲非官方戰役Levitation原文標題: 《戰慄時空:艾莉克絲》非官方戰役「Levitation」Q3免費推出 7分鐘實機畫面公開 原文網址: 遊戲角落 芋仔 在經過了 15 年漫長等待,以及各種揶揄開發商總「數不到三」的迷因之後,Valve 旗下
爆
[情報] 育碧似表示刺客教條暗影兩主角皆LGBTQ+78
[討論] 你媽的,鳴潮沒辦法玩成女同遊戲95
[閒聊] Hololive平胸組 覺得誰最色?65
[閒聊] ZUTOMAYO-新曲配信前直播61
[閒聊] 鳴潮 手機調21天後可以試玩新角+惡性bug55
[閒聊] 尼爾:正在參與令人激動的新遊戲專案55
[閒聊] 平坂讀算人氣作家嗎55
[法環] DLC新宣傳圖86
[閒聊] 不跳過的OP/ED53
[情報] 鳴潮第一天日本營收應該算暴死44
[妮姬] 各位指揮官的老婆女兒要動畫化囉43
[閒聊] dmm遊戲突然又能登入ㄌ43
[閒聊] 迷宮飯21 本集半裸露奶福利鏡頭44
[閒聊] 有喜歡「牙勒牙勒」的角色嗎?42
[閒聊] 鳴潮的繁中在地化也太差了吧97
Re: [Vtub] 馬自立B限暫時終止37
[乳摸] Steam將登陸下一台Xbox主機55
[閒聊] 現在中國遊戲廠是真的難39
[閒聊] 有原神玩家也對鳴潮感到失望的嗎35
[閒聊] 好的手遊御三家應該要怎麼設計?35
現在的網路暱稱在現實被唸出來還會很尷尬嗎?34
[法米通]《劍星》3連霸!NS成日本史上最暢銷主機32
[Vtub] 茉綽/まゆる/麻油 同接150人耐久配信 發P28
[討論] 我的英雄學院為何拉不回評價31
[討論] 鬥陣特攻剛開服時評價怎樣?31
[閒聊] 鳴潮拔掉中國風和大世界 專心戰鬥+全女29
[情報]想吃奇塔塔普!日本政府呼籲亂抓松鼠恐觸法27
[問題] 為什麼有的人不喜歡七龍珠GT?28
[問題] 為什麼很多人那要拿蒙德來跟鳴潮對比?29
Re: [閒聊] 鳴潮怎麼感覺還沒開服就要涼