
我用錯誤的方式學習了 Unity
我回顧了自己學習 Unity 的歷程,指出了一些常見的陷阱,並意識到我最初掌握這款遊戲引擎的方法是有缺陷的。
背景
這篇文章源自一位 Unity 開發者的自我反思,描述其在多年自學過程中,雖然能做出視覺精美且受歡迎的遊戲作品,卻在求職面試時因缺乏基礎編程知識(如無法解釋為何使用 Queue)而遭遇挫敗。作者探討了「能做出東西」與「理解底層原理」之間的巨大鴻溝,並擔憂在 AI 工具盛行的當下,新手若過度依賴工具,可能會延後這種技術債的爆發,導致更慘痛的職涯崩潰。
社群觀點
Hacker News 的討論首先聚焦於「獨立開發」與「業界職位」對技術要求的本質差異。許多留言指出,玩家在乎的是遊戲好不好玩、畫面是否吸引人,而非背後的程式碼是否優雅。正如《模擬市民》開發者 Don Hopkins 分享的經驗,遊戲產業有時更像是在「打磨排泄物」,只要能讓產品發光並順利出貨,糟糕的代碼往往被視為必要的妥協。然而,當目標轉向大型工作室或長期營運的服務型遊戲時,情況便截然不同。社群普遍認為,隨著遊戲複雜度提升,穩定的架構與良好的工程實踐是不可或缺的,這也是為何面試官會透過基礎技術問題來篩選候選人,以確保其具備解決複雜問題與長期維護的能力。
關於 AI 對學習路徑的影響,社群中存在兩極看法。有觀點認為 AI 會讓「不求甚解」的現象加劇,新手可能在完全不理解 HTML 或 DOM 的情況下就用 Next.js 做出網站,這種缺乏好奇心的學習方式會形成職涯的天花板。但也有人持樂觀態度,認為 AI 是極佳的導師,能隨時解釋 Queue 等抽象概念,關鍵在於使用者是否具備主動探究的意願。部分留言者批評,如果一個人對自己使用的工具毫無好奇心,僅僅是為了高薪而進入這個領域,那麼無論有沒有 AI,最終都會面臨技術瓶頸。
此外,討論也觸及了自學者的共同困境:你不知道自己不知道什麼。對於自學者而言,面試往往是最好的「教室」,能強迫自己面對知識盲區。有留言者提到,作者雖然在技術底層有所欠缺,但其展現出的溝通能力、誠實面對失敗的態度,以及交付受歡迎產品的經驗,其實是比單純掌握編程基礎更難習得的珍貴特質。這種「能把事情做成」的能力在創意產業中極具價值,只是在傳統的軟體工程面試篩選機制下,這些優點往往會被技術細節的缺失所掩蓋。
最後,社群對於「好遊戲是否必然有好的程式碼」展開了爭論。雖然《異星工廠》等作品以卓越的工程品質著稱,但《異塵餘生》或《辛普森:打帶跑》等經典遊戲卻充斥著臭蟲與混亂的代碼。這反映出遊戲開發中一種殘酷的現實:技術優劣與商業成功並不總是正相關,但對於想要進入體制內工作的開發者來說,掌握基礎原理依然是跨過門檻的唯一途徑。
延伸閱讀
在討論中,參與者分享了幾個有助於補足基礎知識的資源。其中包括《The Computer Science Book》,旨在幫助自學者建立系統性的電腦科學基礎;另外還有一篇關於遊戲開發者常犯錯誤的文章《Top Ten Mistakes Game Programmers Make》,文中列出了遊戲開發者應具備的基礎能力清單。針對《模擬市民》的開發幕後,Don Hopkins 也提供了相關的設計文件紀錄,供對早期遊戲工程實踐感興趣的讀者參考。
相關文章
其他收藏 · 0