如何用 100行Python 代碼做出魔性聲控遊戲「八分音符醬」
編者按:本文原載Crossin 的編程教室,AI 研習社獲權轉載。
最近幾天,一款魔性的小遊戲在微博上刷屏了,各大平台的主播也紛紛如感染病毒一樣直播自己怎麼玩這個遊戲(被遊戲玩)。
這個遊戲叫做《不要停!八分音符醬》。它是一款來自島國的惡搞遊戲,主角是一隻可愛的小生物 — 八分音符醬,玩家通過對它喊話來控制其前進和跳躍。
因為操作方式太奇葩,所以玩遊戲的人本身似乎會比遊戲更好玩……
這個畫面你們感受下:
不過這不是我今天重點。我們是編程教室啊,肯定不能像遊戲主播一樣打個遊戲賣個萌就完啦!
所以,我就用了大約 100 行 Python 代碼,自己實現了一個。而且,還配了個超霸氣的主角:海中霸主皮皮蝦!
先上效果:
點擊播放 GIF/1090K
製作花了大約半天時間,基本玩法已經完成,地圖是隨機生成的。執行文件和代碼都上傳了,不用安裝 Python 也可以玩。具體細節可以對照源碼看,代碼不長。另外,下周也會在直播里講解一下。(見文章末尾說明)
這裡簡單說下實現思路,主要用到兩個模塊:
cocos2d-python
這個之前的貪吃蛇大作戰 Python 版就用到。參見爆款遊戲《貪吃蛇大作戰》的 Python 實現。負責遊戲的主循環、圖像渲染、事件響應等。
pyaudio
基於開源聲音庫 PortAudio 的 Python 模塊。靠它實現這個遊戲的核心玩法:聲控。
有了這兩樣東西,其他就沒什麼特別的了。如果你用 cocos2d 開發過小遊戲,剩下的就是一些常規工作。通過幾個代碼片段粗略地說下:
定義角色,添加在場景上
給角色增加重力的效果
獲取麥克風的聲音
通過音量判斷行走和跳躍
目前只是通過試驗隨意設置了下參數,不能保證在每台電腦上的效果。
這裡,地面上的每個塊是放在一個整體的容器里,皮皮蝦的「行走」,其實是通過地面整體向後退來實現的。
簡單的碰撞檢測
如果你現在對上面的代碼還一臉懵逼,沒關係,趕緊去看一看我們公眾號里超好懂的入門教程。我們之後也還會對遊戲開發、爬蟲、數據分析等方面做進一步的介紹。
TAG:Python |
※看門狗2Watch Dogs 2,動作、潛入、謎題、操控遊戲
※PS4的6.50版系統更新 支持iOS遙控遊玩 可調OX鍵!
※VR眼控遊戲《LookLook》榮膺QUALCOMM&PICO XR創新應用大賽銀獎
※PS4推送6.50版系統更新 支持iOS遙控遊玩可調OX鍵功能
※寶馬5系530Li尊享M用車感受,一箱油跑1000公里,操控遊刃有餘!
※聲控遊戲《一隻手鼓掌》宣布2021年登陸全平台
※DNF跨區共通拍賣行新計劃:取消玩家郵件交易,官方調控遊戲物價
※玩家卧底遊戲公司,成雙面間諜,掌控遊戲地下黑產,月入1000萬!
※一拳超人:King變強的線索不斷,操控遊戲手柄,或能提升實力
※顏值控遊戲黨看過來!i9處理器+白色機身,戴爾新版G7遊戲本來襲
※遊戲全新玩法-用嘴去操控遊戲
※黑鯊遊戲手機2代號霸氣,後背設計層次明顯,操控遊戲更簡單!
※實力掌控遊戲精準操控 雷蛇銳蝮蛇滑鼠體驗
※觸控科技發布人事任命 賈晨升任觸控遊戲CEO
※俄軍「終結者」登場,戰鬥民族化身遊戲玩家,操控遊戲手柄殺人
※索尼成立全新工作室 親力親為把控遊戲改編電影質量