開篇的絮叨
這一次的booom覆蓋到了整個十一中秋的連假,剛剛參加完上一次7天衝刺賽意猶未盡的我非常的想要再參加一次。
可能是今年的十一是黃曆上非常好的一段日子,也可能是新人們都想趁著大家放假收集更多的祝福,也可能是單純的巧合,選擇在這一段時間結婚的朋友還挺多的。所以我的假期由參加一個婚禮開始,經過了一段美妙的旅行,由參加另一個婚禮結束。一段美好,混亂,缺少睡眠的不知道算不算一個假期的如夢境一樣的日子,落下帷幕,我坐在朋友婚禮的現場,趁著等待婚禮開始的時間,寫下這些文字。
不是婚禮現場,但是覺得這個亭子挺好看的
久違的單人Jam
很幸運可以通過Jam認識現在一起做獨立遊戲的工作室的隊友們,讓我有機會可以做一個人遠遠無法想象的規模的遊戲。組工作室之後的Jam大多都是工作室內再組隊或者集體參加。這次有點特殊,Jam時間內的幾乎所有的行程都早已安排好,朋友的婚禮不能錯過,早已預定的旅行不能退錢,但是我還是非常強烈的想要參加比賽。鑑於我的時間安排情況,為了不坑隊友,這一次久違的選擇了一個人參賽。
令人遺憾的彩票站
自從脫產開始製作獨立遊戲,關於經濟的壓力時常的跳出來刺痛一下我。關於如何賺錢的各種不切實際的想法也總是伴隨著焦慮一起亂蹦。
在兩個月之前,從快遞驛站取了快遞的我聽著火線導讀的節目回家,經過小區的“商業中心”,我忽然產生了一個疑問:為什麼這附近從沒有見過彩票站?一邊想我一邊拿出手機搜索了最近的彩票站。竟然沒有一個距離合適方便前往的選項。我當即看上了一個貼著出租的門市房,我非常堅定的相信,在這個位置開一家彩票店是一門非常好的生意。唯一的障礙就是我沒有額外的財富租下店鋪開店。儘管如此,這個想法在之後的日子裡還是會時不時的偷偷冒頭。
在比賽的題目公佈的這天工作室進行了重組,夥伴們聚在一起討論了很多,關於未來,出路,計劃,無奈。除了看一眼題目,完全沒有心思去想Jam的事情。好消息是這一天是以積極和期待的心態結束的。接下來的一天,我寫了5個試一下能不能賺錢維持工作室運營的小遊戲策劃文檔,思維枯竭的趴在床上用臉摩擦床單,試圖摩擦出一個基於物理的間接控制遊戲角色的遊戲的火花(這個是我在題目公佈之前想試一下的沒做過的遊戲形式)。無論如何想不出來有趣的點子,腦子裡一直迴轉的是一個問題:到底怎樣的骰子才能被稱為是天使的骰子。思來想去,我覺得圍繞這個主題只有一個設定是我想要定下來的:
我要做的這個遊戲不會使用任何隨機函數,一切都是固定或基於規則的,但是要給人一種隨機的感覺。
這個是《天使投注站》的一個很重要的設定,是遊戲通關後進行多周目的重要線索,後文也有很多很致命的劇透,如果你想體驗一下這個遊戲,不想被劇透推薦通關後再來看。
接下來的幾天非常忙碌,工作室這邊清空了辦公室,退回到了吃住工作一起的公寓模式。各種拆解搬運組裝,無暇思考。但在思維之外的地方,之前關於Jam遊戲的設定愈發堅定,並且從一個設定變成了我為自己制定的額外限制規則。
直到我又一次取快遞,又一次路過“商業中心”,又一次看到那個待出租的店鋪,這一次他真的變成了一家彩票站。這一瞬間我的情緒完成了這次Jam過程中的第一次爆炸……
有人和我有相同的想法,還付諸了實踐的難以置信的震撼;胡思亂想的事情得到驗證的沒來由的奇怪自豪感;以及最強烈的,失去了良好商機的遺憾。
沒什麼劇透,裡面是一些不想看不會不小心看到的情緒
反正只有一個人,做一個更個人的遊戲吧
面見彩票站的震撼和遺憾,推著我走進店裡,買了一張賣相非常復古的彩票,這個設計還蠻好看的。
它有一股非常強烈的彩票的味道(我猜測可能是特殊的油墨或者刮開區的塗料的味道)。對於我來說氣味是最重要的記憶鑰匙,大把大把的關於彩票的記憶湧了上來:第一次參加賣彩票的大集市,第一次聞到這個被打上彩票味的標籤的味道充斥在空氣裡,人們洋溢在臉上的期待,迅速轉換到失落的反差,刮開覆層區的奇妙手感,為了多刮一刮在人群中尋找地上被遺棄但是沒有刮淨的票,差一點與家人走失;某個冬天的晚上,買完練習冊的回家的路上和爸爸第一次進入了一個燈光昏暗的彩票站,牆上的巨型網格紙(可能是網格布),看不懂的曲線,菸屁股溢出來的菸灰缸,鉛筆別在耳後緊皺眉頭的大哥,幾個按鍵就可以決定人是否會暴富的一體機……
我站在原地猛猛的吸著彩票的味道,回憶也猛猛擊打我,店裡的客人絡繹不絕,被彩票的花紋吸引的小孩拉著他的媽媽進來,媽媽買了好幾張刮刮卡沒有要停下來的意思;與手機另一端的人在聊79元眉筆事件的女上班族,或許是想中獎買眉筆;舉著來自各地的彩票來問能不能異地兌換的男人訴說著自己每次出差都會在當地買一張彩票的故事……
很複雜的體驗,我迫不及待的想與朋友分享我的震驚,遺憾和嫉妒,與此同時我決定也開一家彩票店,不是在這裡,也不是在旁邊還未租出去的門市房,而是在我自己的世界,在遊戲的世界。
我要用遊戲來講這一段故事,讓這次Jam的遊戲成為一本經過裝飾後的交互日記。這也是我一直以來很想做的一種遊戲,一種以遊戲的方式呈現的生活片段。這是我獨創但應該不是首創的類型,事實上我玩過的很多遊戲我都願意分到這個類型中,關於這個部分有機會等我認真收集研究之後可以再寫一篇文章單獨展開。但是現在,我想做的是擅自的將這種遊戲稱之為Game log,下文簡稱Glog。
反正是一個人參賽,這次就做一個很私人的Glog吧。
誰在玩遊戲
這個Glog會講一個彩票投注站的故事,這個彩票站的彩票是否中獎不根據隨機的運氣,而是由一個天使決定,一個實習天使。
玩家在遊戲中可以扮演這個實習天使,經營投注站。來到投注站的每一個顧客都有自己的故事,有人樂於分享,有人刻意隱藏,每個顧客都以為自己買到了隨機決定命運的彩票,但其實沒有隨機,一切都是玩家的意志。
購買彩票的顧客就是彩票的玩家,而現實的玩家對於顧客來說也就是投出骰子的天使(當然玩家也可以扮演惡魔)
如果你剛好玩了這個遊戲,你大概會知道那天晚上在彩票站遇到的人,全部被改編之後出現在了遊戲世界。
這個想法令我滿意,但是還有一點問題:
如果遊戲世界的人是玩彩票抽獎遊戲的玩家(就叫內部玩家),現實的玩家扮演抽獎遊戲背後的裁決者(就叫外部玩家),那麼對於內部玩家來說,買彩票這個抽獎遊戲是符合Jam主題的——一個天使在投骰子,也符合我自己的要求——這遊戲只是看起來隨機,但其實沒有隨機。還令人無法完全滿意的部分是這種符合都是針對內部玩家或者說遊戲中的遊戲來說的,理解起來有點繞,很間接,對於現實世界的外部玩家來說,這個主題和我的自我要求都還沒有很好的實現。
當然這裡的下一步其實呼之欲出,外部玩家玩的這個經營投注站的遊戲本身也是有很多看起來很適合隨機的邏輯的,比如:
顧客出現的順序,中獎的情況下獎金的數額,顧客對於中獎或者不中獎的情況下繼續購買的慾望變化以及實際是否繼續購買的決策都可以是隨機的。
在《天使投注站》這個遊戲中,全部的這些機制都應該是固定或基於規則計算的,換句話說,這個遊戲中的一切其實都是可以被絕對的總結和預測的。
接下來,再將遊戲中的這種規律掩藏起來,讓玩家覺得其中某些過程是隨機的。這樣這個外部的遊戲本身也成為了一個手握了具有傾向性的骰子的天使/惡魔了,整個閉環這樣的也就構成了。
遭受“彩票站衝擊”的當天晚上,我連夜構思完成了這個遊戲的主體部分的設計。
想到這裡我覺得這個Glog還差一個關鍵要素——辨別了這麼久的內部玩家與外部玩家,我自己其實也是Jam這個大遊戲的玩家(歸根結底大家還都是遊戲的人),我也應該要參與到整個這個外部和內部的遊戲中去。又是我很想做的遊戲要素,meta,元遊戲。我想要在這個遊戲中扮演我自己——這個世界的創造者。這種設定會極大的強化我自己在創作過程中的遊玩體驗。回頭來看,用脫離遊戲世界但又在遊戲世界中的方式與玩家直接對話讓我獲得了非常良好的遊玩體驗。讓我再次找到了那個最好玩的遊戲就是做一個遊戲的快樂。
到這裡,如果這個遊戲完成的比較理想,那應該是內部玩家,外部玩家,Jam玩家都快樂的三贏局面,我們都在玩,我們也都收穫了屬於自己的體驗。
當然這種方式還有一些弊端就是可能形成過度的自娛自樂,創作者在自己的腦子裡與想象中的玩家對話,實際玩家完全get不到樂趣的點。如果《天使投注站》是一個這樣的遊戲請務必告訴我,雖然我會很難過,但鑑於這是一個自己無法回答的問題,還是被指出來更好。如果有人感受到了些許的樂趣,也有情這位知音上臺發言。
如何分工
寫完策劃的第二天,還是有很多關於工作室的未來的暢聊。我和工作室的製作人走在街上,他一邊聊未來一邊尋找奶茶店,而我一邊聊理想一邊找彩票站。
這一天的收穫頗豐,堅定了繼續做工作室的決心,吃到了奇怪的甜點,也在一家彩票站賴著不走學會了很多彩票的玩法,見到了更多的買彩票的和賣彩票的人。
緊接著就要出發去參加假期的第一場婚禮了,但是有一個問題還沒有著落,這個遊戲有大量的人物,以我畫畫的速度,在旅途中是無法在Jam的時間內完成這麼多人物的素材繪製的。
應該說我在Jam這個遊戲中也遇到了天使的骰子,運氣好到爆炸,在我試圖解決這個問題的時候我看到了discord上面的通知,之前一直關注的AI像素畫的Aseprite插件Retro Diffusion終於更新了Mac版,這樣我在旅途中也可以找AI幫忙畫素材了。
雖然Mac版是一個驚喜,但是我的Mac不是最新版,生成的速度有點堪憂。我又想起了白嫖谷歌的Colab這個路子,花了一天的時間對插件進行了粗糙的分體運行改造,註冊了新的Google賬號,上傳好最新的模型文件,一切就緒,分工完成!
旅途中白天的間隙,Mac和我配合畫簡單的圖,寫遊戲本體的邏輯;晚上回到民宿酒店,Mac叫上Colab遠程,我們仨集中生產和修正大的素材;音頻部分我和Mac還有耳機我們找個時間一起找一下。
當然AI畫圖還是有很多坑,有機會找個時間我單獨寫文章介紹我的白嫖Colab計算資源的方案和生成遊戲素材過程中的一些經驗吧。
失而復得
27號的深夜,我們抵達了第一場婚禮的舉辦地,河南省周口市淮陽區——伏羲故里。見到很多老同學,有人改頭換面,有人面目全非,有人童顏永駐,有人未老先衰。
因為在做彩票投注站的遊戲,格外的留意街邊的彩票站,下車後吃飯飯店的對面,正有一家,像做賊一樣拍了一張主體錯位的過曝照片。
拍到了不認識的人,後面看不清楚的牌子是彩票站
在這裡的一天半,聽了婚禮上的男女深情對唱,酒宴中間偷溜出門採購運動鞋厚襪子遺漏的藥物等等的去新疆物資,曬了很久太陽,作為已婚人士湊數搶到手捧花,坐遊船環遊了名字非常霸氣的龍湖。
除此之外,各種碎片和整塊的時間,完善了Retro Diffusion的分體改造的後半部分(之前的版本生成的圖要手動下載,改成了自動回傳),選擇了更輕便的Cocos引擎(對不起Unity,雖然是聯名但是,我這預算有限),簡單梳理了整體的邏輯,完成了基礎的架構的實現(感覺自己在寫週報)。然後最重要的,因為隨時掏出電腦開敲,思維轉換的慢了,檢票時候的一個箭步讓我的身份證掉在了周口東站的候車廳!!!!
我們幾個人站在檢票的隊伍中間,我愕然地發現,身份證不見了,讓人難受的是,我不記得我們之前坐在哪裡,而火車不會等我,快速掃描一週沒有找到,只能使用手機二維碼上了車。因為進站使用了身份證,而我在車站一直在候車椅寫代碼,綜上可知,身份證就在候車廳。
在車上我準備了很多臨時方案,有臨時乘機證明,ctid,身份證照片,在不同的場景可以使用。最重要的,想和大家分享的就是,12306的尋物功能:
我本以為這是一個心理安慰功能,但是感謝周口東站的工作人員,我的身份證在一天之後找到並寄回了家裡!!!!
謝謝周口東站的工作人員!!!!
經此一役,我選擇寫遊戲的時間和地點的時候變得更加謹慎。塞翁失馬,這也間接導致了最後的趕工。
稻草人
到達烏魯木齊的時候正是中秋夜,拍到了高糊圓月。
我從未用手機拍到眼睛看到的月亮
新疆與北京有兩個小時的時差,但是仍然使用北京時間,每天12點睡覺,9點起床在這邊算是很規律的作息,而這正是我日常的作息,我想把這裡人的生活狀態發給我媽媽,告訴他我其實也在某種意義上執行早睡早起。
新疆的比例尺很大,幾個要去的景區之間的距離很遠,中間要做很久的大巴車。在原計劃中,我會在車上高效的敲代碼。
打亂計劃的事情再次出現,我老婆的耳機丟了,通過定位發現應該還在車上,再次麻煩了鄭州的鐵路乘務和鐵路公安民警幫忙找到了,感謝鐵路乘務!感謝民警!我愛河南!
緊接著休息時間結束,進入最尷尬的自我介紹環節。沒有參加過旅行團的我,感到了壓力。但是後來的事實證明,又一次運氣爆炸,整個團的人都超級好,超級有趣,整個旅途就像老師帶領下的幼兒園郊遊,無憂無慮,熱情投入,互幫互助。這裡我必須要強烈安利我參加的這個團,旅行社的名字叫做稻草人!領隊超細心超負責,有叮噹貓的神奇口袋,總有掏不完神奇道具,認真起來為大家擋去一切瑣碎與焦慮,歡脫起來與大家一起唱唱跳跳,感性起來讓大家每個人都止不住的分享自己的故事,浪漫起來帶著大家在賽里木湖畔吹著溼漉漉的風近距離的觀看現場話劇表演。我知道聽起來像是廣告,但是對不起我的運氣爆炸了,這個團真的超棒,領隊也超優秀,以及我現在已經種草想兼職做領隊了。
回憶又爆炸性的湧了出來,說的遠了,總之就是說,大巴車上有充足的社交和娛樂,輕鬆愉快。總之再總之,沒有時間寫代碼……
運氣爆炸的代價就是睡眠不足,只有挑選大家在車上小憩以及回到酒店後的時間寫遊戲,丟進度和丟睡眠二選一。我選了全都要,也就是即缺一點睡眠又丟一點進度。
等整理好照片我還想再寫一個新疆之旅的回憶,或者Glog,看情況吧。
再安利一下,稻草人,大家記住了!
Deadline太牛逼了
時間來到了10月8號,經過幾乎一整天的交通工具之旅,結束了新疆之行,距離Jam結束還有4天。工作室這邊也有積壓一些工作,兩手抓,到10號晚上整體的進度大概是60%的完成度,而時間還剩10%,我還有一個婚禮要參加,哈哈哈哈哈哈哈哈哈哈哈哈。
10號的晚上,我一邊趕進度一邊盤算,7點的飛機,保險起見5點半到,4點多就要起床,現在12點,我還有不到24小時搞定剩下的部分。我盯著家裡不知道什麼時候購買的一小罐茶葉,抓了其中的一半,放到了杯子裡。此時的我還不知道,藥效有多強。
一邊寫一邊趕路,出租車接上飛機,接上媽媽的車,回到老家,接上便攜屏敲敲打打。朋友打來電話要婚禮準備有一個大型拼裝玩具沒有搞定需要幫忙。我提著電腦趕到他家,得知所有人前去彩排,獨留我一人與諸多叔叔大爺大姨嬸嬸共處一室。在好奇震驚後面我就不敢看了的眼神的注視下我給自己設了一個倒計時,掏出電腦繼續敲打。敲敲打打,穿插著冷不丁的社交,夾雜著拼裝巨型裝飾品,嘻嘻哈哈,還剩6小時。
回到家中,爸爸準備了熱乎的飯菜,火速清掃,繼續戰鬥。還剩4個小時,完成度大概80%,我覺得是時候是應該打包了。如果順利上傳一個基本可玩的版本後還有時間修復一些bug,校對一些飛機上寫的錯別字。果然不出所料,不順利,三個版本各有問題,
- 第一個Web版本,上傳到了新的遊戲庫,運行起來按鈕會失效,顯然我沒有時間修復這個問題;
- 第二個Mac版,沒有綁定開發者,只能本機使用,其他人使用會需要校驗,有點麻煩,看看有沒有時間搞
- 第三個版本Windows版,我手邊沒有Windows電腦
時間還有3個小時,我想到了 Electron,打包成Web版之後用Electron打包Windows版上傳。
一個小時過去了,家裡的網很慢,Electron還沒有成功安裝。
我又想到了Unity的雲主機,充值,開機,安裝Cocos引擎(NTR?),打包,報錯一氣呵成。
發現是extension缺失,拷貝安裝,打包,成功,打開遊戲驗證,黑屏閃退一氣呵成。
web版直接上傳itch.io,提示壓縮包中文件超過1000個,無法運行,快速檢查了一下,只有300個,應該沒有時間研究這個問題了。
還有一個小時,運氣又爆炸了一次,Electron安裝完成,用Mac打包了Windows版的包,上傳Unity雲主機,運行測試完成。
還剩半個小時,上傳百度雲,web版上傳自己的服務器,提交審核一氣呵成,成功!
終於,上床了
看一下時間,11點45,明天早上去接親,4點50集合,開車過去15分鐘,睡到4點半極限衝刺起床出發。洗洗涮涮12點半入眠,4個小時後,在黑暗中開車到達朋友家。七七八八的準備,熱熱鬧鬧的接親,又是一批老同學,回憶再次爆炸……
接親結束,回家撲倒在床上,電話響起,領結沒有人會打,快來化妝間救火,又上車,差一點追尾出租車,到達化妝間,領結已經打好了,打的比我好,風風火火,急急忙忙,慌慌張張,白忙一場,站著如嘍囉。
隨便找了一把椅子坐下,終於想要思考一下這瘋瘋癲癲的夢怎麼醒來。
邊想邊回憶邊寫,寫啊寫,從婚禮的酒店寫到父母家裡,寫到餐桌,寫到候機廳,寫到飛機上,寫到出租車,寫到家裡,現在的我,終於,上床了!!!
這一篇絮絮叨叨的流水賬終於結束了!!!似乎打破了新的睡眠記錄:60多個小時,睡了4個小時!!!!耶!!!!!精神狀態又有了新的瘋狂等級!!!!
60多個小時前我從這個床上醒來,邊走邊寫,寫代碼,寫臺詞,寫流水賬,像一場夢,倏的一聲又回到床上,完全沒有過去了60多個小時的實感,要說起來從公佈題目的那一天,三週的時間也覺得是一場夢,迷迷糊糊,忙忙碌碌,走走停停的夢,現在該醒了,明天還有工作室的工作要做,不過在此之前,保存這篇文檔,睡一覺,明天補充一些圖片,期待下一場夢的開始。
致謝
想感謝的人很多,但能讀到這裡的話,還是感謝讀到最後的人吧,感謝你的時間,看了我這麼多的碎話和抱怨,和你說了這麼多我感覺很不錯,你真的很了不起!
謝謝你,敬我素未謀面的好朋友,敬我們陌生人的友誼!