1月15日, 在廣州舉辦的微信公開課上, 微信開放平臺基礎部前端開發部組長 徐嘉鍵發表了題為“如何開發一款優秀的小遊戲”的演講。
值得一提的是, 徐嘉鍵所在的《跳一跳》團隊核心開發人員只有五人, 用了兩個多月時間開發出了這款遊戲。 徐嘉鍵認為, 一個好的小遊戲並不需要投入很大的資源。 而關於開發一個優秀小遊戲的關鍵點, 徐嘉鍵以《跳一跳》為案例進行了分享。
以下為演講實錄:
今天我給大家分享的主題是如何開發一款優秀的小遊戲。 2017年12月28日, 微信發佈很多款小遊戲, 我製作的跳一跳作為首屏遊戲也成功發佈。 為什麼微信要開放小遊戲的事情?一起娛樂, 大家一起享受, 專注遊戲, 微信不僅僅是一個溝通工具, 在微信裡面依然可以享受樂趣, 玩一個小遊戲才能正事。
一款這麼火爆的遊戲, 它的資料表現是怎樣的?跳一跳這麼一個遊戲,
輕而有趣, 在跳一跳這個設計理念裡面, 有一個關鍵, 用戶的參與度一定要很簡單, 用戶沒有時間學習玩法, 我只是來放鬆的。 用戶只要做一個動作, 按壓、放鬆就可以完成整個遊戲動作, 不需要你學習很多東西。 第二點, 這款遊戲的結束也很簡單,
一款簡單的遊戲, 用戶會不會玩著玩著就覺得膩了, 這款單機遊戲如何讓用戶覺得有趣呢?跳一跳裡面有很多盒子, 唱碟機、魔方, 這些很生活化的東西, 讓大家很有感情。 我有一個朋友, 他當時玩這個遊戲只是因為我是他的朋友, 但是有一天他說“你還記得我們小時候去的士多店嗎?”那個士多店已經倒閉了, 他還是去找那個士多店, 然後在網上去買了魔方, 但是魔方再也沒有小時候玩的感覺。
作為一款遊戲, 我們帶來的不僅僅是娛樂, 還希望帶給玩家情感的投入。
這樣就夠了嗎?還是不夠, 一個人玩遊戲很孤獨, 跟小夥伴一起玩遊戲, 一定離不開排行榜, 這個可以大大增加整個遊戲的樂趣, 這也是很多人通宵達旦玩跳一跳的原因, 主要就是為了超越某個朋友。 排行榜這個東西太普通了, 還不夠。
曾經有朋友說:“你的分數那麼高, 是不是在後臺改的”, 我說不是的, 他說你開遠端, 我看你怎麼打。 結果大家都圍著我, 遠程看我打遊戲, 結果那局我只是打了20分、5分。 我說這樣不行, 大家都圍觀我打遊戲, 我打不好, 我回到房間之後, 結果又打出500分的成績。 於是我想到讓大家一起來打遊戲, 這樣會更有樂趣。 好的設計理念是讓一個簡單的遊戲也做得非常有吸引力。
案例分享遊戲體驗和遊戲的品質, 做技術支撐是非常重要的。 微信團隊是一個追求技術極致的團隊,以下我會用四個案例跟大家分享,我們怎麼解決遊戲中面臨的技術問題。
講回剛才那個圍觀故事。大家可能會想,圍觀的模式,一萬人圍觀,我的伺服器、頻寬可以支撐住嗎?在圍觀模式裡面最重要的一點是時時,我們必須資料量很小,我們把幾個關鍵資料、製作大小、按壓時長這些關鍵資料,從遊戲玩家一側同步到雲端,雲端再同步到圍觀玩家端,大家只要達到相同的資料就可以重新播放了,這塊可以做到非常時時。現在我們的測試效果,5千到1萬的圍觀玩家,遊戲玩家的時延不會超過1秒,已經可以做到非常準確的即時。
這是我們的設計,這個設計不僅僅是在圍觀上面實現。對於後面很多玩對戰、網路應用的遊戲開發者來說,這是一個不錯的方向。
第二,跳一跳是一個3D遊戲,有3D開發經驗的人都有這種經歷。在3D環境裡面模擬2D場面,這是非常麻煩的事情。跳一跳結束以後,它會出現排行榜,這個是排行榜是2D,如果再加入一個2D的話,這樣資料包會非常大。我在社區外做2D繪製,當2D繪製效果出來以後,在3D可視介面裡面做最簡單的模型,這樣就可以完美在3D環境下實現2D的效果。 遊戲排行榜、遊戲結束這面的經驗也可以給遊戲開發者不錯的選擇。
第三、性能問題,在跳一跳的效果圖裡面,大家可以看到,一個場景下面最多可能會出現5到6個盒子和一個小人。跳一跳是一個即時渲染,當時我們發現在某些低端機裡面,卡頓、發熱非常嚴重。我們當時想到把陰影幹掉,但是陰影幹掉之後,效果又會差一些。於是我們想到把動態變成靜態,我們並不用3D引擎做時時的陰影效果。它整個平均增速從15做到30,可以做到非常流暢的運用。
作為一個遊戲開發者不可能買幾十部手機去做策劃,我怎麼知道有哪些手機可以這麼流暢?哪些手機不流暢,不流暢的手機,我要做在機處理的話,我有什麼標準?通過benchmarkLeve可以解決這個問題。
現在總結一下,剛才講那麼多如何開發一個優秀的小遊戲,玩法很簡單,輕量細膩;簡單的遊戲,玩家的學習成本很低;集成社交,豐富互動;注重性能,體驗之上,遊戲流暢是最重要的;高效開發,便捷調試。能夠用遊戲反覆運算的話,這是開發小遊戲必備的一個條件。
作為跳一跳的開發者,我身邊很多朋友,在座各位嘉賓也會想問我一個問題,如何拿高分,非常抱歉,我作為技術負責人,我自己的分也並不高,但是我很榮幸,我認識一個把跳一跳打6000多分的朋友,在這裡我只能分享他的心得。高分的背後是努力的訓練,跟天賦和外掛無關。
關注微信公眾號“遊戲葡萄”,每天獲取最前瞻的遊戲資訊
微信團隊是一個追求技術極致的團隊,以下我會用四個案例跟大家分享,我們怎麼解決遊戲中面臨的技術問題。講回剛才那個圍觀故事。大家可能會想,圍觀的模式,一萬人圍觀,我的伺服器、頻寬可以支撐住嗎?在圍觀模式裡面最重要的一點是時時,我們必須資料量很小,我們把幾個關鍵資料、製作大小、按壓時長這些關鍵資料,從遊戲玩家一側同步到雲端,雲端再同步到圍觀玩家端,大家只要達到相同的資料就可以重新播放了,這塊可以做到非常時時。現在我們的測試效果,5千到1萬的圍觀玩家,遊戲玩家的時延不會超過1秒,已經可以做到非常準確的即時。
這是我們的設計,這個設計不僅僅是在圍觀上面實現。對於後面很多玩對戰、網路應用的遊戲開發者來說,這是一個不錯的方向。
第二,跳一跳是一個3D遊戲,有3D開發經驗的人都有這種經歷。在3D環境裡面模擬2D場面,這是非常麻煩的事情。跳一跳結束以後,它會出現排行榜,這個是排行榜是2D,如果再加入一個2D的話,這樣資料包會非常大。我在社區外做2D繪製,當2D繪製效果出來以後,在3D可視介面裡面做最簡單的模型,這樣就可以完美在3D環境下實現2D的效果。 遊戲排行榜、遊戲結束這面的經驗也可以給遊戲開發者不錯的選擇。
第三、性能問題,在跳一跳的效果圖裡面,大家可以看到,一個場景下面最多可能會出現5到6個盒子和一個小人。跳一跳是一個即時渲染,當時我們發現在某些低端機裡面,卡頓、發熱非常嚴重。我們當時想到把陰影幹掉,但是陰影幹掉之後,效果又會差一些。於是我們想到把動態變成靜態,我們並不用3D引擎做時時的陰影效果。它整個平均增速從15做到30,可以做到非常流暢的運用。
作為一個遊戲開發者不可能買幾十部手機去做策劃,我怎麼知道有哪些手機可以這麼流暢?哪些手機不流暢,不流暢的手機,我要做在機處理的話,我有什麼標準?通過benchmarkLeve可以解決這個問題。
現在總結一下,剛才講那麼多如何開發一個優秀的小遊戲,玩法很簡單,輕量細膩;簡單的遊戲,玩家的學習成本很低;集成社交,豐富互動;注重性能,體驗之上,遊戲流暢是最重要的;高效開發,便捷調試。能夠用遊戲反覆運算的話,這是開發小遊戲必備的一個條件。
作為跳一跳的開發者,我身邊很多朋友,在座各位嘉賓也會想問我一個問題,如何拿高分,非常抱歉,我作為技術負責人,我自己的分也並不高,但是我很榮幸,我認識一個把跳一跳打6000多分的朋友,在這裡我只能分享他的心得。高分的背後是努力的訓練,跟天賦和外掛無關。
關注微信公眾號“遊戲葡萄”,每天獲取最前瞻的遊戲資訊