OSCHINA
↑點擊藍字 關注我們
本周六,北京源創會
探索高性能計算在大模型領域的發展
get大模型推理優化新技能
↓歡迎掃碼報名↓
小編剛剛在摸魚間隙看到了一條瞬間讓我陷入深深回憶的內容。
曾風靡全球的現象級休閑游戲——「2048」原作者 Gabriele Cirulli 在 Hacker News 上發布動態稱, 他花了足足一年為「2048」開發了全新的 10 周年紀念版,還特意選擇在 10 月 24 日這天上線。
2048 今年已經滿 10 歲了,我構建了一個更新版本來慶祝 (play2048.co)。
大家好!我叫加布里埃萊·奇魯利,我是 2048 的原始創作者。
十年前,有人在 HN 上發布了 2048,突然間,每個人都開始玩這個游戲。
那時,我寫了一點關于那幾周經歷的描述。
即使過了這么多年的時光,那次經歷對我來說仍然感覺有些不真實。
我深深地感激所有與游戲產生聯系的人,無論是以小規模還是大規模的方式,以及在過程中分享的故事。有些人表達了他們正在經歷困難時期,并在游戲中找到了哪怕是很小的安慰。
去年初,隨著游戲開始顯露出其年代感,我希望能為它注入新的活力。去年十月我辭去了工作,全身心投入到了 2048 的開發中,用了一年的時間構建了這個新版本(原版只用了 5 天!)。
我想要向 2048 的優秀之處致敬,同時對其進行現代化改造和優化體驗。
增加增強道具的想法是在 Prime Gaming 和我連接后出現的,以看看我們是否能為他們的成員創建一個特殊的 2048 版本,包含一些獨家額外功能。其中一些增強道具被加入到了主游戲中,但仍然有一個“經典模式”,就像原始版本一樣,供那些更喜歡硬核體驗的人使用。
此外,舊網站也仍然在線。
2048 現在是我的全職工作,我對它不斷改進的方式感到興奮。我想與這一切開始的地方分享這次更新,這既是為了懷舊,也是為了聽聽你們的想法和反饋!
— 加布里埃爾

10 周年紀念版的「2048」 界面如下所示,可通過瀏覽器、手機或平板電腦運行,各位有興趣請訪問下方鏈接體驗:
https://play2048.co/

Gabriele 稱新版「2048」完全進行了重寫,目前尚未開源,不過他介紹了新版「2048」使用的開源項目,相信各位前端工程師對下面這些項目不會感到陌生。
2014 年,一款叫《2048》的游戲火遍全球。這款不斷組合數字的休閑游戲,靠單手就能夠操作,規則簡單又非常容易上癮,一下子抓住了大眾的娛樂需求。
短短幾天內這款游戲就收獲了 5 百萬的用戶,總用戶更超過 2300 萬。就憑這個數據成績,無論是當時還是現在,它都稱得上是一款“現象級”游戲。
但當時許多人并不知道,他們玩到的《2048》其實是山寨版本,而原版的《2048》其實也“抄襲”了其他作品。
當時年僅 19 歲的加布里埃·戚魯利(Gabriele Cirulli)用一個周末寫好了《2048》。

他的主要目的是測試自己能不能獨立制作一款游戲,所以沒有考慮太多,參照當時自己喜歡玩的一款游戲《1024》,制作了一個免費開源的網頁版本。
Gabriele 表示,“ 在開發《2048》的時候,我決定開源《2048》的源代碼,因為《2048》借鑒了太多別人的游戲創意。我曾經考慮過開發移動版的《2048》,但是我對手機游戲開發沒有經驗,而且利用《2048》獲利是對那些構思出游戲創意的人的不尊重。”
Gabriele 將源代碼托管在 GitHub,采用 MIT 協議開源。在《2048》的官方頁面上顯示,《2048》基于《1024!》開發,游戲理念來自于《Threes!》。與《1024!》對《Threes!》的基本照搬不同,《2048》對《1024!》的美術風格和游戲玩法進行了一些改良。

https://github.com/gabrielecirulli/2048
作為《2048》的制作者,Gabriele 當時被媒體貼上“19歲就創作紅遍網絡的游戲”的標簽,成為了小有名氣的網紅人物。
名氣、流量都有了,接下來財富也應該不遠了。他的郵箱很快被商業合作的請求塞滿了,還有人希望能獲得授權開發游戲的移動版。
但聚光燈之下,年輕的 Gabriele 中二病突發,對著媒體大義凜然的說:“ 我不會用《2048》盈利,也不會移植手機平臺。”
這可能是他這輩子最想收回的話。
Gabriele 不想放棄自己的主業而去追逐熱度,但隨后市面上出現的山寨《2048》,很快讓他改變了想法。
因為《2048》是一款開源軟件,并且采用了最寬松、對商業使用非常友好的 MIT 協議,不少人直接照搬了他的游戲,然后上架到各大手機商店里。結果每個都有不錯的下載量。之后各種抄襲、山寨版本類似玩法的游戲越來越多,幾乎霸占了App Store。

于此同時,公認的正牌作者 Gabriele 卻只能呆在家里,看著其他人拿著本應該是自己的錢,取得著本應該是自己的成功。
對了,Gabriele 此時寫了一篇長文《2048, success and me》,在這篇文章里,Gabriele 講述了他開發《2048》的完整過程。
全文如下:
過去的幾周對我而言是一次狂野之旅。在 3 月份,我為了娛樂開發了一款名叫 2048 的游戲,在 GitHub 上作為開源軟件發布了。
在接下來幾周里,它出乎意料地成為世界級的成功,它已經被 2 千 3 百萬用戶玩過了。
這段時間已經成為我生活當中最令人激動的一部分,也是壓力最大的。知道數百萬人在玩,且享受你開發的東西是一種非常棒的感受。
對于很多人(包括我)來說,它給了你繼續創造新發明的動力。同時,當你在世界出名時,你不得不面對一整套新的挑戰。你得到的關注和人們開始期待的東西會變得巨大,如果你從來不必處理它們的話。
本文,我將分享這種體驗的情況,以及在個人和專業層次上,我是如何處理的。我也要解釋引導我改變去開發這個游戲移動版的歷程。
真的很長,不過我希望本文能提供一些有意義的觀點,希望對可能面對相似問題的人有所幫助。
如何開始的
我在一個周末開發 2048,純為娛樂。我癡迷于兩款其它游戲,教 1024! 和 2048。我都愛玩,我想創造我自己的版本,有不同的視覺樣式和更快速的動畫,只是為了看看我能否做到。當時,我不知道 Threes,所有其它游戲(包括 2048)都起源于它。
Asher Vollmer 和 Greg Wohlwend,它的發明者,已經在里面傾注了大量時間和努力。他們最近就他們游戲體驗克隆版的流行程度表達了他們的沮喪。我理解他們的感受,我對他們投入到開發 Threes 中的大量工作和熱愛表示巨大的感激。2048 感激它的存在。
在開發 2048 時,我決定,我應當只是放在 GitHub 上搞定。我不想保持私密,既然它與其他人的作品有著高度相似。
一旦我完成這款游戲,我就發布在了 GitHub Pages 上,并發布到了 Designer News,僅僅對獲取視覺上的反饋有興趣。
爆炸
第二天,我收到了朋友發來的消息,他告訴我去看看 Hacker News 首頁。有人在那里發布了 2048,它排到了第一名。Google Analytics 統計到網站有成千上萬的用戶。我幾乎不敢相信當時發生的一切。

雖然它看起來像是在興趣上的突然飆高,很快就會散去,我還是花了一整天看統計數據。看到總數持續上升,讓我激動不已,同時有一些擔憂。
我對我在評論里得到的大量積極反饋感到驚奇。每個人都在討論他們玩這款游戲時根本停不下來,甚至以犧牲他們工作效率為代價。
接下來的幾天
我認為對 2048 的興趣很快要消退了,不過幾天后它仍然沒有停下來。事實上,它恰恰變得更大了。從某種程度上看,2048 已經從 Hacker News 讀者之間的熱門話題演變成了在 Twitter、Facebook,甚至線下的討論。
看到它變成了一個世界范圍內的現象,我感到了一點點不安。
同時,隨著對游戲感興趣的人們發來的郵件,我的收件箱開始膨脹,還有開發者索要把 app 放到手機并從中獲利的授權。
我面對的首要問題是考慮清楚我應當圍繞 2048 做什么,以及我應該如何答復那些郵件。雖然 2048 對我來說,只是一個小的業余項目,我沒有特別的期望,我周圍的人建議我應當抓住用它賺錢的機會。
就個人講,既然 2048 差不多是建立在其它游戲上的,我對于從這個概念獲利的想法不太感冒。
還給我帶來巨大壓力的原因是,知道那以后,為了集中精力在 2048 上,我不得不放棄我的所有其它承諾。那時候,我正忙于一個自由職業者項目,集中在 2048 意味著我不得不暫停該項目或者完全終止。
我不得不把游戲移植到移動端,一個我沒有經驗的領域,足夠快地完成是第一位的。做移動的前景讓我心有余悸,因為那是從我的習慣狀態邁出了一大步,而不知道前面是什么。
在那段日子,這兩種因素給了我很多壓力。我感到好像沒有出路了,我可以做出的每一個決定只會帶來更多麻煩。
一方面,我能夠擁抱機會(這像是 “一生只有一次‘的交易),獲取回報,代價是對原創概念背后的人們的不公正。
另一方面,我什么也不做,繼續我的生活。我知道,當將來有人說我錯失了我的機會,我會遺憾。
最終,我說服我自己,我應當什么也不做,因為我認為那是結束我遭受壓力的唯一方法。我決定這款游戲保持開源,我不會把它移植到移動端。
在做出決定后,我瞬間開始感覺好多了。這讓我覺得,我在做著正確的事情,我不會對此遺憾。
回到原地
在接下來的幾天里,我感覺好多了。
當時,該游戲的第一個移動版本開始出現了。它們當中的一些版本甚至沒有歸功于我或他們依據的其它游戲,一些游戲完全模仿我的。在看了 Threes 背后的人們反應之后,我認為不要讓這糾纏著我一直是正確的選擇。
然而,我身邊的很多人不這樣認為。我朋友和父母認為,我的選擇是值得尊重的,但同時我很可能放棄了我不會有第二次的機會。
最初,他們的意見沒有影響到我。我知道選擇這條路,可以把我從以前感受到的壓力中解救出來,我認為這比金錢和名氣重要得多。
然而,這種感受沒有持續多長時間。幾天以后,我認為我已經克服的所有這些問題比以前更加猛烈地砸到了我身上。
我開始遺憾“浪費”了這次機會,我感覺周圍的人們對我的行動非常失望。讓我感覺更糟的是看到了其他人開發的一款 2048 app 在 APP Store 的排行榜排到了第一名。
一線曙光
由于我的處境,我快發狂了,但是我也有理由開心。
即使有人不在意拿走別人的成果并從中獲利,在開源社區還是有很多創新精神的人們去關心優化不足的地方。他們只是想拿走并使之變得更好,或者甚至把它完全帶到新的水平。
看到已經出現的、不計其數的 2048 衍生版讓我極為開心。我帶著極大的樂趣把玩它們當中的每一款,看到其它版本的推出,感覺是非常棒的。
人們在調整游戲上投入了大量創新,完全將其塑造成了新的事物。知道其他人把時間花在你已經開發的東西上面,是非常得意的,尤其是最激勵你的地方在于只是讓人們因你的作品而開心。
改變我的主意
感謝我父母和朋友的幫助,我意識到,排除一切、不再感覺我錯失了一次機會的唯一方法就是擁抱它、并推出一個 app。雖然我不是為了盈利才做的。事實上,那不是讓我在意的東東。所有在意的地方就是搞清楚我沒有浪費一次機會,不管我將來成功還是失敗。
那么,人們會如何看待我呢?在每一次采訪中,我說過,出于道德上的原因,我不會試著從中獲利。我想如果我改變了主意,我將被看做一個偽君子,我真的不想成為那種人。
這個決定最困難的地方是,我覺得這是對其他人對我期望的背叛。畢竟,我將改變主意并去做我公開反對過的事情。這花了我幾天時間,但是最終導致我接受的原因是,改變的初衷不是受到貪婪驅使的。我選擇這樣做是為了在余生里,把我從錯失良機的遺憾中拯救出來。
由于我的選擇,那些把問題放在心里并感激我之前的立場的人們,很可能認為被欺騙了。這是我為什么選擇寫下這篇文章的原因之一:我想就這項有爭議的決定給出我的視角,一種在極端情況下強制執行的決定。
希望做出這個決定的上下文能夠足以解釋我的行為。如果不能,我希望至少以某種方式幫助人們理解事情的來龍去脈。
開發程序
我一直認為只是保持游戲原來的樣子、打包成一個應用會是一件糟糕的事情。2048 不再是真正意義上的、屬于我的游戲。它屬于堅信它的不計其數的貢獻者,我沒有權利用它謀私。如果我想讓我的決定感到合理,我將不得不投入相當多的努力到創造這個應用上。
最終我花了整整一個月從零開始開發這款應用,將其帶入一種全新狀態,以激勵其存在。
做為一名 web 開發者,沒有移動開發技能,我還不能開始為 iOS 和 Android 開發應用,也不能期待創造出得體的東西。鑒于此,我決定使用 Phonegap。
Phonegap 讓你用同樣的方式來使用 HTML、CSS 和 Java,你會開發一個移動網站的。

Phonegap 的問題是如果你想開發一個原生應用,你將面臨一條漫長的、困難重重的道路。幸運的是,我在試著開發一款游戲,這意味著我不必嚴格遵循每個操作系統的視覺樣式。
我想給應用加個菜單,是因為當啟動應用時把玩家丟給一個游戲,不是一個好的體驗。這個菜單也可以讓我介紹新的游戲模式,給游戲增值。
我想讓游戲邏輯足夠通用,通過產生”hook“進核心游戲、修改必需的行為來產生新對象的方式,以包含新的游戲模式。
我沒有從頭寫大量應用程序的代碼。和 2048 的開源版本唯一相同的地方是移動格子的邏輯,以保持相同的原始體驗。現在由于 app 是閉源的(但是我可能在將來公開),如果使用其他人貢獻的代碼就會不公平。
代碼庫差不多是 web 版的 3 倍,大部分代碼是新的。
在開發 app 時,我找到很多提高代碼和接口效率的方法。我真的希望把這些回饋給開源社區,回饋給 2048 的開源版本。我也想最終重構它的代碼,讓它成為開源社區更好的東東。
如果你對我最終做的東西感興趣,你可以下載 iOS 和 Android 應用。希望你能喜歡。

結論
真的希望,隨著 2048 的流行,本文能夠提供一種分享我的經歷的、新的、有意義的視角,即使我處理這些情況的方式可能不是最好的。
大多數我在每一步做出的決定都是基于我的感受,都是為了阻止個人問題,而不是從項目本身獲取什么。
我希望本文能夠稍微解釋我是如何、以及為什么做出每個決定的,幫助可能面臨同樣問題的其他人更好地理解他們或許要面臨的東西。
感謝閱讀!
原文地址:
http://gabrielecirulli.com/articles/2048-success-and-me
相關來源
https://play2048.co/about
END
熱門文章
↓ 分享、 在看與 點贊~ Orz





京公網安備 11011402013531號