這是我的 Steam + PS 游戲的時長墻:
![]()
從頭說。
1
平時用 Steam 玩游戲的朋友應該都有一樣的感受:買游戲如山倒,玩游戲如抽絲。
打折就上頭,幾十塊上百塊往購物車里加,想著總該有天會玩。真正能通關的,一只手...兩只手吧,數得過來。更多游戲買回來就成了庫存。有時候沖動下單會楞一下,原來這個我有了。
這也不是壞事兒。像喜歡書的朋友喜歡一個大書架一樣,變成架子能欣賞,也挺好的。時常摩挲愛撫一下,也是樂趣。
我一直想找個 APP 來做這件事。
而市面上的游戲庫 APP 都噪聲太大,廣告多、功能雜,裝一堆社交、打卡、論壇功能。某個甚至不付費就不能添加收藏,你懂的。
今年開始試著用 Claude Code 和 Codex。隨口說了需求,給我的第一個版本就有點遠超預期。當場一下就想做出來。
當然,產品難度都在后面。所謂搭架子一天,摳細節(jié)一月。APP 又更了好幾版,總算是能自己日常在用的樣子。
我現在每天都摩挲一下的 APP,給他起名叫 Gamepix。
2
主要功能很樸素:把 Steam 或 PlayStation 的游戲庫同步到本地,用一種盡可能好看的方式呈現出來。
收藏頁是基礎。同步完,所有游戲以網格或列表呈現,可以按標題、評分、游玩時長、成就完成度排序,也可以按標簽篩選。
點進某款游戲的詳情頁,封面、Metacritic 評分、游玩時長、成就完成度、截圖、標簽、開發(fā)商、發(fā)行商、發(fā)售日期、推薦人數、支持語言、平臺、最低配置、推薦配置,基礎信息都有。聽起來是常規(guī)的,做起來調起來費勁。詳情頁的信息層級前后重構過三四輪。施工的時候,每天都改幾十遍。
做得比較用心的一個小彩蛋,是成就。我自己略有一些收集癖,最近剛把「宇宙機器人」(AstroBot)的獎杯拿全了,挺開心,就想著在自己的 APP 里也給自己獎勵一下。
于是 1.1.1 版本做了這個:如果游戲的全部成就都解鎖,詳情頁會出現一塊鋁合金質感的金屬銘牌。手機傾斜時,銘牌上的光影會跟著陀螺儀動,還會撒出一陣彩帶。參考的是 Mac 產品背面那種鋁合金刻字的質感,給一點點隆重。
![]()
3
整個 APP 里我自己最喜歡、也花了最多時間打磨的,是「游戲墻」(Game Wall)。也是 Gamepix 這個名字的來源。
把所有玩過的游戲拼成一面墻。更適合摩挲和觀賞。
重點是「時長」模式,按每款游戲的游玩時長決定封面尺寸,玩得最多的最大。自由排序拼貼,像馬賽克像素(pix)。
墻面可以在豎版和橫版封面之間切換,密度也可以用滑桿調。還做了三檔低調的燈光效果,暖色小燈、明亮大燈。屬于給一點小畫廊里看藏品的氛圍。
墻做好之后可以直接保存到相冊。會生成一張高分辨率大圖,帶簽名和日期。
![]()
4
目前還有幾個問題。
最明顯的一個是獲取游戲庫有點麻煩。
一方面是客觀的服務器連接問題,Steam 和 PSN 的接口在國內都不太穩(wěn),有時候連不上需要一些「科技手段」。另一方面是登錄和認證,Steam 要先去申請一個 API Key 并填 SteamID64,PSN 要走網頁登錄流程、攔截 OAuth 授權碼,步驟都不算簡單。比較難解決體驗問題。
第二個是數據匹配會有缺失。Steam 一些游戲沒有官方豎版封面,游戲墻上只能用橫版旋轉 90 度兜底;還有些游戲所有圖都拉不下來,會留空位。PSN 更復雜一點,游戲列表和獎杯列表在接口上是分開的,要靠英文名橋接,比如我自己 79 個 PSN 游戲里只有 41 個能完整匹配上。
這兩條是補 bug 補了最久的地方,到現在也沒完全平掉。
修 bug 的過程也是很容易進入心流的過程。想寫一本《禪與 Vibe Coding 的 bug 維修》。
5
做的過程挺有趣,也真的挺繁瑣。體會到了做開發(fā)的痛苦。
游戲墻的「時長模式」布局算法,改了大概二十幾輪。最開始是簡單按時長正比例映射,結果頭部游戲過大、尾部過小,整體視覺不好看。后來改成分位映射,又試過對數壓縮、封頂截斷、空洞回填,中間還撤回過好幾個實驗方向。
獲得全部成就的金屬銘牌的彩帶效果,試過 8 種方案,confetti、stars、firework、bubbles、ribbons、iMessage 混合、煙花三段式、shimmer 流光。最后定下來的是純 SwiftUI Canvas 寫的彩帶。我讓 AI 給我了 30 多個參數配置功能,在真機上反復調。
這個完全是出于自己的審美偏好在折騰。而 AI 是完全不理解怎么算好看的。「好看」是完全無效的輸入,「從屏幕左下(x=8, y=260)和右下(x=w-8, y=260)兩點,以 -0.9 和 -2.24 弧度(斜向上對稱)為主方向、±0.65 弧度隨機擴散、260-400 pt/s 初速度噴射,持續(xù) 0.5s 內每側每幀生成 12 個大小 1.2x 的彩色粒子(9 色 × 7 形狀隨機組合),受 400 pt/s2 重力影響自由落下,邊飛邊以 ±9 rad/s 隨機旋轉,透明度從 0.7-1.0 起始按 0.15/s 衰減至消失。」才是有效的輸入。(當然了,這段話也是反復根據效果溝通, AI 給出的,并不是我寫的。)
這種反復試錯在傳統(tǒng)開發(fā)里是很奢侈的,機會成本太高,一般得反復討論才能下手。AI 能在幾分鐘就給一個版本。
6
聊聊做 vibe coding 的體驗。
一是,自己的需求和興趣決定了能做什么。
面對一張白畫布,不是隨時隨刻都會有想法的。這不是我第一次打開 AI coding 的工具。每次也就是當玩具隨手玩兩下而已。
但當我那天想象到我可以有一個沒事兒打開摩挲的游戲墻的時候,動力就來了,具體的框架和畫面也有了。
AI 能把想做的事情做出來,但它不知道什么事情值得做。有想法,對自己在用什么、想要什么有感覺,比懂不懂代碼重要。
二是,有時候還是得去摳背后的邏輯。
不是想象的那種,一切交給 AI 即可,哪怕它都能實現。
比如游戲墻的拼圖算法就是典型,前面說的二十幾輪迭代,其中一大半不是代碼問題,是算法思路問題。分位怎么切、頭部怎么封頂、空洞怎么回填,這些得先想清楚了再告訴它。
懂不懂代碼是一回事,懂不懂代碼背后的邏輯是另一回事。這些邏輯的拆解,也不比寫代碼輕松。
三是,這件事真的是有產品沖動的人的一種獨特樂趣。
過去想的事情只能通過別人去實現,中間的損耗很大;現在想到就能做出來,不糾結時間,不糾結成本(相較于搭一個團隊、雇一個外包或者自學代碼,幾乎忽略不計),就能直接去做做看了。
不過這種樂趣未必是所有人的樂趣。
跟 AI 生圖、AI 生視頻工具一樣,有人覺得是玩具,有人已經當成了重要生產力。
還是之前我常說的,想法會越來越重要。提出問題會越來越重要。
7
Gamepix 目前只在 iPhone 上能用,免費的,沒有訂閱,沒有內購。
對我來說它首先是做給自己用的小工具,順便分享給感興趣的朋友。
如果是 Steam 或 PS 玩家,也想摩挲一下的,可以下載試試看。
用起來覺得哪里別扭、哪里不對,也歡迎反饋到公眾號后臺,或者 App 里的「聯系」按鈕,會直接打開默認郵件客戶端,郵件會發(fā)到 opencup2026@outlook.com。
Gamepix 不是一個多大的產品,也不是個什么創(chuàng)業(yè)項目,是花了兩周時間的滿足創(chuàng)作欲的一個小樂趣。如果能讓一兩個朋友,在某個周末打開,觀察一下自己的收藏,感受一下全成就完成的彩蛋,就足夠開心了。
這就是面對 AI 的感受:當你發(fā)現跟 AI 的關系的時候,你就會有樂趣。比如這種小玩具,就是我的樂趣,也是我跟 Vibe Coding 的關系。而發(fā)現跟 AI 有什么「關系」,其實更重要。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.