【掌機】原創掌機TBoy

閱讀時間約 8 分鐘
TBoy

前言

DIY了幾台網路大神們開源的掌機後,想想也該是時候來弄台原創掌機回饋一下社群了,也就是說新作的這台掌機會開源,希望對有興趣製作掌機的同好有所幫助。
一開始發想的時候就把這台掌機設定在初學掌機的族群,所以想盡量簡化硬體的設計,測試了幾片MCU後最終選用了TTGO T-Display這片開發板,主要是因為這片開發板使用了強大的ESP32核心而且也已經內建一塊1.14吋ST7789V、240x135的TFT LCD,很符合這次要作的開源掌機需求,只要再加上幾個按鈕跟蜂鳴器硬體部分大致上就已經完成。
至於軟體部分,為了吸引大家有興趣來動手製作這台掌機,所以改良了大家熟知能詳的方塊遊戲,並且加強了聲光效果,希望能夠引起大家作掌機的興趣,遊戲命名為ZooCube後面會有遊戲的玩法介紹,在開始之前我們先來看看完成後的遊玩影片:
對了,總要給掌機取個簡單好記的名子,就叫他TBoy吧。。。

準備材料

  • TTGO T-Display ESP32 x 1
  • 輕觸開關中兩腳 x 6
  • 10kΩ電阻 x 6
  • 蜂鳴器 x 1
  • 麵包板 x 1
  • 麵包板線一盒

線路圖

按鈕(BUTTON)接線

  • 【上按鈕接線】 GND — 10KΩ — GPIO2 — BUTTON — 3.3v
  • 【下按鈕接線】 GND — 10KΩ — GPIO15 —BUTTON — 3.3v
  • 【左按鈕接線】GND — 10KΩ — GPIO13 — BUTTON— 3.3v
  • 【右按鈕接線】GND — 10KΩ — GPIO12 —BUTTON — 3.3v
  • 【A按鈕接線】GND — 10KΩ — GPIO32 — BUTTON— 3.3v
  • 【B按鈕接線】GND — 10KΩ — GPIO33 — BUTTON— 3.3v

蜂鳴器(BUZZER)接線

  • 【音樂】GND — BUZZER — GPIO27
  • 【音效】GND — BUZZER —  GPIO17
請參考以上線路圖完成TBoy硬體製作。

TBoy掌機版面配置與接線參考


開發環境安裝與設定

安裝Arduino IDE

  • 下載Arduino IDE
  • 進入後請依照您習慣的平台下載Arduino IDE並安裝
  • 安裝完畢後會在桌面看到Arduino IDE icon,點擊兩下開啟
  • 開啟後會看到以下畫面

安裝ESP32開發板驅動程式

1、在檔案選單內選偏好設定選項,並在編好設定視窗下方的額外開發板管理員輸入以下網址後,按確定。
https://dl.espressif.com/dl/package_esp32_index.json
2、開啟”開發板管理員”
3、搜尋esp32並安裝

安裝與設定遊戲開發相關函數庫

安裝TFT_eSPI

1、開啟管理程式庫
2、輸入搜尋TFT_eSPI並安裝

設定TFT_eSPI給TTGO T-Display ESP32板子用

1、找到TFT_eSPI安裝目錄,可從偏好設定內查到
2、進入偏好設定內查到的目錄後會看到libraries目錄,進入此目錄並找到TFT_eSPI目錄在進入,進入後找到User_Setup_Select.h檔案並開啟。
// 註解掉此行.
// #include <User_Setup.h>
。。。
// 將此行註解拿掉
#include <User_Setups/Setup25_TTGO_T_Display.h>
3、設定完畢後記得儲存檔案

安裝 ESP32Servo

1、進入管理程式庫搜尋ESP32Servo並安裝

Github下載ZooCube遊戲原始碼

  • 請至以下網址下載原始碼

燒錄ZooCube遊戲到TBoy掌機

  • 下載後將其解壓縮並進入ZooCube目錄找到ZooCube.ino檔案並在檔案上點擊兩下,這時會開啟Arduino IDE並載入ZooCube.ino檔案
  • 請先將TBoy透過USB線接上電腦,並參考以下畫面選擇開發板與其相關設定,要特別注意的是序列埠要選對與TBoy連接的COM
  • 以上都確定無誤後就可以按下"上傳"按鈕,稍待程式燒錄進TBoy後就可以開始遊戲囉

ZooCube遊戲介紹

遊戲玩法

玩家需要在10x20的空間內控制由上往下掉落的的七種方塊,利用旋轉方塊功能使掉落的方塊連成橫線,啟動消除方塊,如果在20列中都無法連成橫線消除方塊,遊戲就告結束。
遊戲中每消除一列會將每列的方塊顏色作累加,一共有七種顏色的方塊,每種顏色收集滿都會發動不同效果的技能。
隨著消除方塊列的數量越多,方塊下降的速度也會隨之變快,背景也會跟著變換圖片。

按鍵說明

遊戲中

  • 左右按鈕移動慢慢掉落中的方塊
  • 下按鈕讓方塊快速掉落
  • A按鈕順時鐘旋轉方塊
  • B按鈕逆時鐘旋轉方塊
  • 開始按鈕暫停遊戲
  • 選擇按鈕選項選單

選單

  • 上下切換選項
  • A按鈕確定
  • B按鈕取消

遊戲畫面說明

  • 遊戲區玩家控制掉落方塊的區域。
  • 本局分數本局遊玩時所得分數,遊戲結束時如果分數比排行榜中的分數高就會記錄進排行榜。
  • 本局連線數本局的所有連線數會累加紀錄在此。
  • 最大連線數每局結束後會比對本局連線數最大連線數並留下數字最大者。
  • 下個出現方塊遊戲區控制的方塊掉落後接續會出現的方塊。
  • 方塊掉落速度隨著遊戲進行消除的方塊越多就會讓方塊掉落的速度越快。
  • 各顏色方塊收集狀態每消除一列就會依每列中的顏色作累加,等某個顏色累加滿後就會發動技能,另外如果發現剖某個顏色開始閃爍,這就表示只要再收集小於3個同顏色方塊就會啟動技能。

PAUSE選單說明(開始按鈕)

  • 每種顏色方塊收集狀態更清楚觀看懂每種方塊顏色的累加狀況。

OPTIONS選單說明(選擇按鈕)

  • 音樂開關:開關遊戲背景音樂
  • 音效開關:開關遊戲音效
  • 旋轉螢幕:180度旋轉遊戲螢幕
  • 回主選單:回遊戲開機時的選單
  • 分數排行榜: 每局結束後會將分數與此排行榜比對並留下高分者

集滿方塊發動技能說明

  • 集滿方塊發動技能說明影片
  • 【招式1】淺藍方塊 — 從上掉落10顆淺藍方塊
  • 【招式2】藍色方塊 — 由最高方塊開始往下消除三列
  • 【招式3】橘色方塊 — 由下開始橫向單列往上消除三列
  • 【招式4】黃色方塊 — 由下往上消除三列
  • 【招式5】綠色方塊 — 由下橫向往上填空十個空格
  • 【招式6】紫色方塊 — 出現大槌子讓玩家左右操控後往下掉落
  • 招式7】紅色方塊 — 出現往下掉並可射擊方塊的方塊

使用網路資源

  • 遊戲圖形大部分取至THE SPRITERS RESOURCE網站,依站上的使用說明為僅 供個人項目與非商業用途
  • 方塊圖
  • 背景圖

後記

創作是一個漫長且有趣的過程,也是從這東西好有趣到底是怎麼作出來的到其實也不難嘛的一個過程,這中間會經歷瘋狂找資料,到理解原理並自己作出第一個勉強能動的東西,然後繼續瘋狂找資料瞭解為什麼東西只是勉強能動,反覆這個過程直到能夠說出其實也不難嘛的時候表示你已經入門這個領域,創作也是讓我們能瞭解這個世界是怎麼運作的捷徑之一,因為瞭解越多這個世界的物理運作原理您我就能創作出越有趣的東西,這是我的第一台原創開源掌機,希望大家會喜歡。

2021/06/26 更新 — 新增PCB相關資料
  • Github
  • PCB板準備材料
  1. TTGO T-Display ESP32 x 1
  2. 輕觸開關中兩腳 x 6
  3. 10kΩ電阻 x 6
  4. 無源蜂鳴器9*5.5MM x 1
  5. 鋰電池充電板模組 TYPE-C USB介面充電保護二合一 x 1
  6. XH2.54–2P/針座/彎針/白色插件 2.54間距 x 1
  7. XH2.54–6P/針座/彎針/白色插件 2.54間距 x 1
  8. 200mAH、3.7V 聚合物鋰電池 x 1
  9. 滑動開關三腳二檔微型開關 x 1
  • EasyEDA線路圖
  • PCB線路圖
  • 實機照
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
哈囉 這裡是不男孩     連兩天午後雷陣雨,加上沒有情人的情人節,再度重新整理的房間的日常💁‍♂️ 不翻還沒發現,一翻不得了😮     今天就來和大家分享,那些年的童年掌機。    
Thumbnail
看完這裡的達人榜後,我發覺很有趣的事,很多都是在買一些小型股,題材股,投機股,DR股,太陽能股,生技股,風電股…等,這些人的粉絲都還不少,我不確定這些粉絲們是否了解一件事,這些個股的股本小,市值小,所以當這些達人介紹時就很容易大漲,當這些個股上漲時,又能吸引更多的粉絲加入他們,這樣不就變成了誰是最後
Thumbnail
本簡評實於08/15完成,因應委託人投稿之需求,故在近日公開。另依委託人指定,簡評內容側重劇情與視角,並檢視其做為單一作品獨立性的有無。
Thumbnail
雖然這是款於2010年出版的老遊戲,但卻獲得2010 Mensa Select(門薩獎首選)的殊榮,今年由2Plus代理出版,變身成了外星人的新主題,有種耳目一新的感覺呢!快來看看這款遊戲在玩些什麼吧!
Thumbnail
前陣子跟人聊天的時候,提到幾十年前的企業危機處理經典案例:美國某感冒藥吃死人的事件。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
哈囉 這裡是不男孩     連兩天午後雷陣雨,加上沒有情人的情人節,再度重新整理的房間的日常💁‍♂️ 不翻還沒發現,一翻不得了😮     今天就來和大家分享,那些年的童年掌機。    
Thumbnail
看完這裡的達人榜後,我發覺很有趣的事,很多都是在買一些小型股,題材股,投機股,DR股,太陽能股,生技股,風電股…等,這些人的粉絲都還不少,我不確定這些粉絲們是否了解一件事,這些個股的股本小,市值小,所以當這些達人介紹時就很容易大漲,當這些個股上漲時,又能吸引更多的粉絲加入他們,這樣不就變成了誰是最後
Thumbnail
本簡評實於08/15完成,因應委託人投稿之需求,故在近日公開。另依委託人指定,簡評內容側重劇情與視角,並檢視其做為單一作品獨立性的有無。
Thumbnail
雖然這是款於2010年出版的老遊戲,但卻獲得2010 Mensa Select(門薩獎首選)的殊榮,今年由2Plus代理出版,變身成了外星人的新主題,有種耳目一新的感覺呢!快來看看這款遊戲在玩些什麼吧!
Thumbnail
前陣子跟人聊天的時候,提到幾十年前的企業危機處理經典案例:美國某感冒藥吃死人的事件。