精華區beta C_Chat 關於我們 聯絡資訊
嗯... 是覺得他這麼喜歡底層 這麼熱愛程式設計師對CPU對記憶體配置瞭若指掌的「黃金時代」的話 那我想他不適合寫遊戲 去做一些韌體或者嵌入式開發唄 那些把螢幕點亮或者讓USB裝置動起來的工作應該會讓他非常有成就感 本來在遊戲產業中程式設計師就不是主角 是把企劃落地成產品的工匠 產品能不能符合設計規格才是重點 只要能如期如質完成 你厲害想從頭造輪子 還是導入一堆亂七八糟的東西 隨便你 當然我能理解他講的是實際上正在發生的問題 但他的結論是世界上大多數的工程師都是不懂底層的垃圾 這就沒什麼建設性了 如何選擇適當的SW stack 規劃好什麼要開發、什麼功能要導入lib、什麼部分要外包 以在有限的預算、人力內 如期如質將產品完成 這也是SWPM的工作 極端點說 若你的產品真的那麼有價值 世人就算賣腎臟都想要擁有 開發資源無限 你甚至可以找AMD找nvidia專門幫你開案子做專用平台 如果沒那麼有價值 那就識時務 有多少資源做多少事吧 別想太多 ※ 引述《pl132 (pl132)》之銘言: : 遊戲開發者Cliffski抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃圾」 : https://tinyurl.com/229o8zbm : 作為一名從事獨立遊戲設計和程式業務的開發者,克裡夫斯基(Cliffski)在一篇文章中 : 吐槽道 —— 這年頭的「程式碼膨脹」,已經到了令人髮指的地步。 : 他以自己常使用的一個雲端備份服務為例來說明,這個由某個大公司提供的雲端備份工具 : ,基本上提供的服務就是指向本地端硬碟上的一個資料夾,然後把內容複製到一個遠端伺 : 服器上。而上傳到伺服器時,大公司可能需要做一些與資料庫管理有關的事情,例如給這 : 一堆上傳的檔案分配一個名稱,並驗證誰下載了它。 : 「這是一家大公司,所以他們有大的程式,而且可能經常被駭客攻擊,所以需要一些安全 : 保障,也需要一些驗證,以確保在我上傳和他們接收檔之間沒有被篡改過。我明白這一點 : 。」他表示。「但基本上這個程度的目的就是列舉一些文件,讀取它們,上傳它們,然後 : 關閉連接,並提供一個日誌檔,說明是否成功,如果不成功,出了什麼問題。事實上,我 : 自己也從頭開始寫過這樣的程式碼,使用wininet API和伺服器上的php與MySQL資料庫對 : 話。與企業級的東西相比,我的東西可能沒有那麼強大,但它確實可以做到。」 : 不過他表示,今天他所使用的這個大公司提供的上傳工具,檔案大小共有230MB,裡頭有 : 2700個不同的檔案,就為了管理這個過程。 : 他表示這說明了現在的應用程式,已經超越了「臃腫」可以形容的程度,程式檔案的膨脹 : 已經變成「完全的、徹底的、明顯的荒謬和瘋狂」。 : 一個普通的程式設計師都可以編寫一個同樣功能的程式,它的程式碼量小到只有這個應用 : 程式的 1/20,足以將文件安全、快速地上傳到伺服器。甚至可以是一個單獨的 .exe 可 : 執行文件,無需成百上千的動態鏈接庫(DLL)。 : 不僅可行,而且簡單、可靠、高效、易於調試。只需稍微努力那麼一下,它就會起到切實 : 的作用。 : 那麼,現在的程式碼為什麼會變得這麼大而臃腫呢? : 「我見過不少程式員在幹這種爛活,我知曉這種情況是怎麼發生的。」他表示,越來越多 : 程式設計師不去研究通過底層的高效程式碼來完成工作,且許多人甚至從未寫過所謂的好 : 程式碼。很多人往往就是引用DLL函示庫,需要什麼就去找什麼。 : 「我可以斷言,在你的電腦中許多應用程式,99.9%的程式碼是絕對無用的,甚至從來沒 : 有被執行過。它只是在那裡,在一套多達65個檔案的DLL函示庫中,這只是因為某個程式 : 設計師想做一些微不足道的事情,比如保存一個點陣圖,但他們不想從底層來寫這個程式 : ,所以他們導入了一整桶臃腫的垃圾來實現它。」 : 舉個例子,當年一個僅 64Kb 的《Elite》遊戲,就包含了龐大的星系、3D 太空戰鬥、職 : 業發展系統、交易、以及數千顆可供探索的行星。 : 誠然,現如今電腦速度已經快到可以忽略程式的臃腫。但是在你使用電腦時,正在懷疑自 : 己到底有沒有點下去按鈕的這半秒鐘時間裡,頻率動輒數 GHz 的處理器世界裡,早已過 : 去了數十億年。我們浪費了個人計算機 99% 的算力和能耗,就為了這些垃圾程式。 : 想像一下,在你急著想要在檔案總管中快速搜尋某個檔案的時候,工作管理員卻在那搞一 : 堆廢話,如果你查一下後台,竟有102 個程序在忙碌著,天知道他們在幹什麼! : 或許正因如此,我們才在幾乎沒有幹任何事情的情況下,你發現你去年才買的機器,今年 : 就「老了」。 : 你甚至需要每年都換一部新手機、新電視,以執行那些臃腫不堪的串流媒體 App —— 只 : 因為它們依賴執行的程式碼是如此糟糕! : 他表示他非常懷唸過去程式的黃金時代,程式員們對記憶體和 CPU 的限制瞭如指掌。如 : 今,我們已經被迫生活在了一個效率極其低下、但浪費又如此誇張的泥潭裡。 ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.7.248 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1656884811.A.2B5.html
hizuki: 是有道理,但是望向仙劍4為何失敗就有程式太卡 07/04 06:21
Axarz631: 所有的開發工具本來就是為了人機溝通產生的 這麼愛講求 07/04 06:32
Axarz631: 程式執行效率怎不用組合語言寫 寫得出3A大作我就三餐拜 07/04 06:32
alinwang: 仙4卡的問題是防盜軟體,但隔天就發修正程式解決了。 07/04 06:56
johnny3: GTA online之前程式就太爛讀取超久 還是玩家修好的 07/04 07:03
b325019: 程式效率固然重要但是夠用就好不必疊磚造瓦 07/04 07:19
b325019: 我支持在有限度範圍內優化執行效率 07/04 07:20
lucky0417: 確實,他應該選錯方向了,不過獨立開發就隨他了 07/04 07:50
pgame3: 是說照他這玩法正常的3a做可以變多小阿 07/04 08:09
lucky0417: 公司要壓日期的,如果他一款3A做好幾年甚至十年以上可 07/04 08:23
lucky0417: 以很小,如果他不在乎中間還要翻新 07/04 08:23
salamender: 小團隊怎麼刻底層無所謂,大團隊有一套可以系統訓練 07/04 09:03
salamender: 後可以磨合一小段時間就實作的工具我個人覺得還挺重 07/04 09:03
salamender: 要。 07/04 09:03
kashiwa27: 也不會變多小 因為佔大部分容量的是圖片影片和音樂 07/04 09:13
q251425: 問題是他說的包含程式庫 而遊戲來說程式根本沒多少容量 07/04 09:15
kurtsgm: 照他這做法 3A也沒辦法小太多啦....倒是一些老遊戲重新上 07/04 11:12
kurtsgm: PC的 比方說超任的FF6 原本在超任上可能只有幾Mb 上了PC 07/04 11:13
kurtsgm: 變成1G這種 照他做法的確可以大幅降低 也許縮到50~100M 07/04 11:14
kurtsgm: 但像是什麼2077 66G 縮個10G 20G就很厲害了 但完全無感 07/04 11:15
kurtsgm: 然後2077自幹版的bug可能多三倍 07/04 11:15