《SELF 自己》開發心路
在今年(2019年)上海WePlay展會上,一位高高瘦瘦的大哥來到了我的展位。他說著一口漂亮的英語,問了許多有關我遊戲《SELF》的問題。
聊了一會兒,他突然說:“你移植到Switch平臺時,如果有任何困難,可以隨時來找我。”他開啟精緻的不鏽鋼名片夾。素白的商務名片上,印著Nintendo的標誌。
“我叫副島佑介。”
後來我才知道,這位大哥就是任天堂獨立遊戲直面會上替身露臉的副島先生。
“我很想試玩你的遊戲。”他已經排隊很久,“你們有多少人,這個遊戲做了多久?”
我告訴他,《SELF》是我的個人專案。我有一份全職工作,利用業餘時間來開發遊戲。這個專案2016年就開始做了,是我第一次做主機遊戲。
副島先生很耐心地聽完我蹩腳的英語,並且試玩了二十多分鐘。他摘下耳機,誇獎遊戲的氛圍渲染“Perfect”。
展會第二天,副島先生帶著他的同事們一塊來試玩。他們聽說我的遊戲已經完成,下個月就要登陸Switch平臺,紛紛祝賀,並且希望我能繼續在任天堂的平臺發表更多作品。
這次能夠出展,原因是《SELF》參加了今年的indiePlay中國獨立遊戲大賽,並且獲得了敘事、創新和音樂音效三項提名(最後獲得了敘事獎)。這是我第一次帶著《SELF》參加遊戲展,看著許多玩家花上幾十分鐘時間試玩《SELF》,探索故事中的謎題,討論各種各樣的設定,留下各種各樣的評價,短短兩天時間,恍若隔世。
我曾經一個人日日夜夜坐在電腦螢幕前,面對著《SELF》。這個奇奇怪怪的遊戲,曾經佔據著我幾乎所有業餘時間。每當別人讓我介紹這個作品的時候,千頭萬緒亂如麻,我都不知道從何說起。
誕生
我叫熊澤鵬,是文字冒險遊戲《SELF》的作者,在一家與遊戲無關的企業裡做資料探勘工程師。
《SELF》講述了主人公的爸爸悄然失蹤,但是周圍的人,甚至連媽媽,都對爸爸的失蹤無動於衷,主人公不得不獨自走上尋父道路的故事。在尋找爸爸的過程中,主人公壓抑的自我衝突也爆發出來,整個故事看起來黑暗、壓抑又冰冷。
但是,在中文系讀書時候,我其實主要寫童話故事,發表過幾篇故事在雜誌上。我的兒童文學課老師伍美珍老師曾說過,一個人孩童時代所閱讀的東西,會成為他們一生的底色,影響他們一生的審美品味。
可能也正是因為考慮到閱讀者的特殊,即使是一些以悲劇收場的童話,主人公往往能夠在最後獲得某種救贖。賣火柴的小女孩在光明中與奶奶團聚,海的女兒化作泡沫飛昇天堂,都是救贖與解脫的形式。隨著時間推移,我開始厭倦這種“規則”,加上各種機緣,中文系畢業後,我也沒有從事文學相關的工作。
16年春節以後,我利用業餘時間做了好幾款小遊戲,有一些直接復刻知名作品,比如《Flappy Bird》,還有一些則探索新奇技術,比如擴增實境。我沒有打算髮表它們,純粹就是圖個樂,至多給朋友的手機裝上,大家隨便玩一玩。
平均三個禮拜,我就能做好一個遊戲,做完一個就丟掉一個,再嘗試新的點子,有不少遊戲,我現在連專案工程都找不到了。直到有一天,我突然想重操文字敘事的舊業,把它和遊戲結合在一起,就這樣,《SELF》誕生了。
我一直想創作非兒童文學的虛構故事,《SELF》給了我這個機會。我毫無製作文字冒險遊戲的經驗,從頭到尾都是摸著石頭過河。我沒有使用現成的文字冒險遊戲模組,而是自己實現了一個模組。這花了一些時間,但是,也為後期遊戲多變的劇情演出提供了技術基礎。
起初,《SELF》並沒有引起我的特別注意,程式碼倉庫裡的簡介是“It's just another game”(這只是另外一款遊戲),名字也還叫《Oneself》。當時的我,做夢也想不到,這款文字冒險遊戲,能有如此強的生命力,以至於一千兩百天後的今天,我要坐在電腦前,寫下這篇文章去回憶它。
成長
我有每天寫日記的習慣,這應該能讓我回憶過去那段時光容易許多。但我太天真,在製作《SELF》試玩版的三個月裡,日記只是機械地記錄了每天所做的事情,當時的我似乎沒有閒心議論抒情。
2016年10月10日
讀取劇本轉化到遊戲裡的技術基本實現了。
嘗試用畫素畫水面的漣漪。
我收到了iOS日曆廣告。
————————
2016年10月11日
對unity的動畫系統有了更深的瞭解。
shader真的很重要。
推動劇本。
————————
2016年10月26日
腦洞一開,怎麼也擋不住。
鑽研多攝像頭的影象疊加技術。希望能在最後實現我要的效果。
做遊戲嘛,開心就好。
我把工作之外所有的業餘的時間都投入到《SELF》裡,進入了一段時間長達數月的“心流”。那段時期的記憶非常模糊,彷彿時間凝結在一起,一眨眼就過了三個月。
但是有一點我記得非常清楚,《SELF》所有的設計,都圍繞一個核心:主人公無論如何嘗試怎樣掙扎,都無法得到救贖的命運困境。文字、視效、音效以及遊戲機制都緊密地結合在一起,就是為了詮釋這個核心。雖然遊戲本身發生了翻天覆地的變化,但是這點一直堅持到現在。
我把已經基本成型的試玩版交給了幾位朋友試玩。
“試一試,上Steam。”一位朋友說。
“上Steam要過綠光,這遊戲沒有英文版啊。”
“那就找人翻譯一個唄。”
說了就做了。我聯絡到一位留美讀書的同學,隔著時差把遊戲試玩版的所有文字都翻譯成英文。這是我第一次給遊戲做本地化,嚴重缺乏經驗,大大低估了遊戲本地化的難度,這埋下了禍根。
16年最後一個月,我將《SELF》的試玩版上架綠光,我上架完已是深夜,倒頭就睡。第二天早上登入後臺,嚇出一身汗,後臺統計差評如潮,留言區也被差評攻陷。玩家的矛頭直指糟糕的英文字地化,所有英語文字沒有經過英語母語者潤色,缺陷十足。可是覆水難收,我只能撤下所有英語本地化內容,重新發布僅含中文的試玩版,圖文介紹和宣傳片也全部替換為中文版。
留下差評的玩家數量巨大,我只能花更長時間積累好評。這件事現在說來雲淡風輕,當時可把我折磨夠嗆。在幾番拉票以後,整體好評率才慢慢扭轉,最終有驚無險,遊戲在公曆新年伊始通過了青睞之光,獲得了上架Steam的資格。記得一位外國玩家,在我撤掉英文字地化後留言說,雖然啥也看不懂,但是感覺很厲害的樣子,好評!
《Replica》的作者,韓國大哥Somi那時也留言給我,對《SELF》遊戲本身表示肯定,鼓勵我勇敢度過難關。今年(2019年)Somi大哥的新作《律法之地》因為中文字地化缺陷收到了大量差評,雖然及時亡羊補牢,還是錯過了最佳銷售期。我得知這個訊息後十分難過,這樣有現實批判精神的優秀作品,不應該被埋沒。
沉寂
在上架綠光以後,我接受一家媒體的線上採訪,盲目樂觀,稱遊戲會在2017年暑假完成。實際上,真到了2017年暑假,我只完成了遊戲的劇本。
那一年,我有職業變動,花在日常工作上的時間越來越多,花在《SELF》上的時間越來越少,再也不能像之前那樣每天做遊戲了。不過遊戲本來就不是我生活的主旋律,能做自己喜愛的工作,平靜地生活,我並不覺得失去了什麼。
上班神遊,或者晚上睡覺的時候,我經常能想出有趣的點子,我會把它們記在筆記本上,等有空時做進遊戲裡。2017年年尾,遊戲整體框架已經成型,只要老老實實往各個缺位上填補內容就行。
負責作曲的同事也時不時會發來新編的片段,裡面既有我們事先約好的曲子,也有他自己靈光一閃的創意。我特別重視這些自發的創意,那是另一個人在用他獨特的表達方式,訴說對《SELF》的理解,時常能反向啟發我。
神奇的是2018年。
2018年。我被調去為公司做了兩款別的遊戲,還上了架,參了展。
我的老闆非常喜歡電子遊戲,他早就聽說我做了一款遊戲得到了綠光。
“市場部門那邊有個想法,做微信小遊戲,轉化線上流量到線下。”老闆突然找我。
2018年年初,微信推出“小遊戲”,《跳一跳》風靡大江南北,冒出了一批所謂爆款小遊戲。
“啊,可以試試。”
“你想不想做這個?”
“啊?這個找外包不就行了。”
“這東西才出來,哪有外包做。你有經驗。”
於是“有經驗”的我接下了公司的小遊戲開發工作。我學習了新的遊戲引擎和新的技術架構,辦理了軟著……在18年裡上架了兩款風格迥異的作品。
我以為這就完了。
“參加CJ要多少錢?”老闆又突然找我。
“不清楚耶,現在來不及了吧,已經五月了。”
“哦……”他若有所思,“那今年還有什麼展會?”
“We……WePlay?也在上海。”
“你去聯絡一下,我們們帶著你做的小遊戲參展。”
於是“做遊戲”的我聯絡到主辦方,買下展位。18年11月我和同事們拖著沉重的物料一塊來到上海跨國採購會展中心。
我們隔壁展位,展出的是NS遊戲。
“小熊,你以後肯定也要做Switch遊戲。”老闆指著隔壁展位的兩臺NS開發機說。
“哪有那麼容易啊……”
“很難嗎?”老闆說,“這次出展感覺怎麼樣?”
“挺好的,就是實在太累人了。明年我再也不想來參展了。”
人生就是揹著Flag前行。
復甦
結束了小遊戲開發,結束了展會,獲得了大把空餘時間,我重新撿起《SELF》,把積壓許久的設計都放進遊戲,填補內容空缺。雖然有遺憾,但是《SELF》需要一個句號,完成比什麼都重要。我不能再拖了。
2019年2月,《SELF》首個完整版本送到了發行同學面前。
“遊戲很不錯。”發行大哥說,“有幾個地方如果能夠修改一下,體驗就更棒了。比如這裡……”
他嘩嘩列出了幾十條修改建議,我趕緊記下來。不少細節問題,他們不提,我壓根意識不到,他們一提,我就茅塞頓開相見恨晚。此後,每次提交新的版本,發行大哥都會快速反饋新的修改建議。如此反覆,遊戲體驗也不知不覺上了一個臺階。
“它很適合放在NS上。”發行大哥提議。
於是,《SELF》有了Switch版。但是第一次移植很不順利,我對主機平臺並不瞭解,最開始甚至連編譯工程檔案都一直失敗。我只能花好幾天的時間,逐項對比幾千條配置資訊,不斷測試,終於找到了錯誤源頭,遊戲成功編譯,在NS開發機上執行起來。
雖然只能進主介面而已,雖然手柄控制完全無效,存檔系統完全無效,還有數不清的錯誤資訊,但那瞬間,我真的長長鬆了一口氣。後來《SELF》也有了PS4版。有了先前的經驗,移植過程絲滑許多。
另一方面,遊戲本地化也順利推進。負責日語本地化的幾位同學還直接與我聯絡,文字翻譯過程中有疑惑都會與我討論,還幫我修正了多處語法錯誤。得益於他們的努力與細心,《SELF》日文字地化得到了試玩過的日本玩家一致認可。
時間不知不覺來到了十月份。
“熊哥,你的遊戲拿提名了。”某天大早上,玩家群裡一位群友說。
我沒有反應過來,《SELF》交給大賽主辦方已經三個月,我自己都快忘記這回事兒了。
群友把大賽入圍名單的網址發給我。我一看,還真有《SELF》。
“今年又要去上海那地方參展?”這是我腦子裡的第一個念頭。
尾聲
無論多麼離奇的故事都有結局。
《SELF》不是我第一個,也不是最後一個作品,但是其他作品都隨時間淡去,只有它“活”到了現在,現在我明白了原因。《SELF》最特殊的地方,在於它是真正“屬於自己的”作品,它變成了我自己的一部分。
在創作《SELF》的一千兩百天裡,發生的大小事件數不勝數。這篇文章只想記錄一些與我與《SELF》直接相關的重要事件。我並不算是遊戲從業者,我只是一個下班以後,會開啟編輯器寫寫畫畫的人。如果《SELF》不存在,如果我從來不做遊戲,我的生活也不會和現在有太大不同。
但是因為《SELF》,因為遊戲,我認識了許多可愛的人,擁有了許多有趣的見聞。這三年多的時光連成了一條既不筆直也不平坦,沿途卻天高雲淡草長鶯飛的小路。
我踩著輕快的步子,走向遠方。
作者:蒸熊掌
來源:遊研社
地址:https://www.yystv.cn/p/6100
相關文章
- 一個測試開發的十年心路歷程 - 從改變自己做起
- 使用Electron開發一個吸色工具的心路歷程
- 一個C#開發編寫Java框架的心路歷程C#Java框架
- &self 和 self 的區別
- 自己公司網站開發網站
- 一個C#開發者重溫C++的心路歷程C#C++
- rust語法super、self和SelfRust
- 《死亡之門》開發者淺談遊戲設計的心路歷程遊戲設計
- 一個C#開發者用Java搭建Android框架的心路歷程C#JavaAndroid框架
- SpringBoot開發自己的@Enable功能Spring Boot
- 三年 React 開發經驗的我,遷移到 Vue 的心路歷程ReactVue
- 開發者,別讓自己孤獨
- 直播平臺開發難嗎?自己開發須謹慎
- new static ,new self ,self::, $this的一些理解
- # self小記
- window.self
- self-introduction
- Self-Attention GAN 中的 self-attention 機制
- Kotlin之心路歷程Kotlin
- 如何開發自己的 yeoman 腳手架
- 開發一個自己的 CSS 框架(一)CSS框架
- 如何用node開發自己的cli工具
- CSS align-selfCSS
- Self-supervised Learning
- 開發自己的工具庫(一):專案搭建
- 開發人員提升自己的四種方式
- 如何自己開發一個腳手架工具
- 如何開發自己的數字藏品系統?
- Swift iOS : self sized cellSwiftiOSZed
- Python self用法詳解Python
- new self()與new static()
- 那些需要自己開發的安全需求(服務端)服務端
- 分享一個自己開發的 react拖拽排序元件React排序元件
- vagrant + centos/7 搭建自己的本地開發環境CentOS開發環境
- 新手如何快速製作和開發自己的小程式
- 構建屬於自己的Flutter混合開發框架Flutter框架
- 開發者如何快速搭建自己的電商App?APP
- 寫給自己的git多人開發最佳實踐Git