我不會自認是個玩家。我偶爾會參加桌遊或業餘足球賽,平常很少花時間玩電腦遊戲。但我以前曾經玩過。
那段時光留下的一個殘餘,就是《文明》,或者它的開源衍生作《Freeciv》,你也可以免費在線上玩。我之前已經嘗試過,卻沒能用 Freeciv 的遊戲引擎來說明 Astro 的 Islands Architecture 概念。
{% post https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a
去年我在寫那篇 React 回顧文章 時使用了 AI,生成一張受我的《文明》構想,以及我手繪草圖視覺風格所啟發的偽插圖。

這裡還有另一張更像實際遊戲的插圖。

讓我想再寫一篇文章的,是這款遊戲的另一個面向:科技樹。

這些技術進展路徑受到歷史文明的啟發,彼此之間存在不同的替代與相依關係。你可以透過主動研究、透過大圖書館、透過征服更先進的對手,或建立同盟來達成。
這些成就看似能帶給你優勢,但實際使用時卻可能阻礙你的進展,尤其是把資源浪費在追求不利的成就上;而當科技被更新的替代方案淘汰時,這種情況就更明顯了。
開發者對這種感受很熟悉,無論是在軟體工程、遺留程式碼維護 還是教育領域,都會遇到。
我們必須做決定、做妥協,並決定要把有限的資源與精力——例如時間、金錢與心力——導向哪裡。
AI 讓某些事情變得更容易,卻也讓另一些事情變得更困難。AI 是那種很多人可能會希望我們當初根本沒發明出來的技術之一。但我們還是發明了,因為害怕錯失機會、害怕落後。
雖然我們無法讓時間倒流,但仍然可以改變目標並調整策略。不同於沉沒成本謬誤所帶來的「先前的努力都白費了」的感受,事實並非如此。
學習與解題本身就有內在價值,能訓練我們的思維。即使我們只是浪費時間與心力去學錯了(口語或程式)語言,或是過時的軟體框架,我們仍然有在練習。而且在資訊科技、設計與行銷之中,許多概念始終是不變的。
就像在《文明》遊戲裡一樣,我們應該持續質疑並調整自己的(技術)目標與優先順序,例如放棄已經開始的專案,並把已投入的努力重新運用到建立類似的事物上。在遊戲裡,你可以直接從建造像金字塔這樣的世界奇觀,轉而把之前已投入的生產重點拿來開始建造大圖書館。現實生活沒那麼容易,但這樣的想法仍然可以成為有幫助的心智模型。

面對資源稀缺,是這類文明建設遊戲的一個關鍵面向;而在現實生活中,我們往往會自我欺騙,假裝自己有無限的時間。然後當截止期限逼近時,我們就會變得焦躁、分心又挫折;理想情況下,至少也會在最後期限接近時進入高度專注狀態。
當拖延阻止我們開始或完成原本打算做的事時,它就變得危險。特別重要的是要先開始,因為開始很快就能打破幻想。一旦你動手,你就會發現哪些方法真正可行、困難在哪裡,以及你原本的假設有哪些錯誤。你也能辨識出需要外部支援的問題。舉例來說,如果你沒有權限存取某個必要檔案,太晚才提出存取申請,可能會耗掉寶貴時間,甚至危及整個專案。
{% post https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd
我們常常太早以為自己已經完成了。雖然 80/20 法則可以幫助避免完美主義,但另一個陷阱則是:在工作真正完成之前就先停下來。
實作不只是把東西做出來而已。它還包括測試、部署、溝通,以及驗證預期成果是否真的已經達成。視情境而定,「完成」可能代表功能已上線、文件已交付、客戶已核准工作、訊息已被收到,或發票已付款。
在開始之前,先為「完成」下個清楚的定義。否則,你可能會把忙碌誤認為進展,把完成誤認為成功。
原文出處:https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm