【掌機】原創掌機TBoy

更新於 發佈於 閱讀時間約 9 分鐘
TBoy

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
  • 麵包板線一盒

線路圖

raw-image

按鈕(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掌機版面配置與接線參考

raw-image

開發環境安裝與設定

安裝Arduino IDE

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

安裝ESP32開發板驅動程式

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

raw-image

2、開啟”開發板管理員”

raw-image

3、搜尋esp32並安裝

raw-image

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

安裝TFT_eSPI

1、開啟管理程式庫

raw-image

2、輸入搜尋TFT_eSPI並安裝

raw-image

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

1、找到TFT_eSPI安裝目錄,可從偏好設定內查到

raw-image

2、進入偏好設定內查到的目錄後會看到libraries目錄,進入此目錄並找到TFT_eSPI目錄在進入,進入後找到User_Setup_Select.h檔案並開啟。

// 註解掉此行.

// #include <User_Setup.h>

。。。

// 將此行註解拿掉

#include <User_Setups/Setup25_TTGO_T_Display.h>

raw-image

3、設定完畢後記得儲存檔案


安裝 ESP32Servo

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

raw-image

Github下載ZooCube遊戲原始碼

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

燒錄ZooCube遊戲到TBoy掌機

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

ZooCube遊戲介紹

遊戲玩法

玩家需要在10x20的空間內控制由上往下掉落的的七種方塊,利用旋轉方塊功能使掉落的方塊連成橫線,啟動消除方塊,如果在20列中都無法連成橫線消除方塊,遊戲就告結束。

遊戲中每消除一列會將每列的方塊顏色作累加,一共有七種顏色的方塊,每種顏色收集滿都會發動不同效果的技能。

隨著消除方塊列的數量越多,方塊下降的速度也會隨之變快,背景也會跟著變換圖片。

按鍵說明

遊戲中

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

選單

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

遊戲畫面說明

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

PAUSE選單說明(開始按鈕)

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

OPTIONS選單說明(選擇按鈕)

raw-image
  • 音樂開關:開關遊戲背景音樂
  • 音效開關:開關遊戲音效
  • 旋轉螢幕: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線路圖
raw-image
raw-image
  • 實機照
raw-image
raw-image


留言
avatar-img
留言分享你的想法!
avatar-img
Channel Chung的沙龍
1會員
1內容數
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
這篇文章介紹瞭如何使用Raspberry Pi PICO等材料製作自己的GAME&WATCH大金剛掌機,以及接線圖、程式碼下載和安裝遊戲的教學,並且分享了製作過程中的一些心得和回憶。如果您對童年的遊戲回憶感興趣,這篇文章值得一讀。
Thumbnail
這篇文章介紹瞭如何使用Raspberry Pi PICO等材料製作自己的GAME&WATCH大金剛掌機,以及接線圖、程式碼下載和安裝遊戲的教學,並且分享了製作過程中的一些心得和回憶。如果您對童年的遊戲回憶感興趣,這篇文章值得一讀。
Thumbnail
Hello!大家好我是茄諾,今天要來幫自主研發的掌機TBoy寫款可以連線對戰的遊戲,不知道TBoy的朋友可以連至以下網址看看: 因為要連線對戰,所以需要準備兩台TBoy掌機,請參考以上文章製作;接下來要挑選適合連線對戰的遊戲,個人偏愛Pong,這款由Atari開發的投幣式大型電玩對戰遊戲非常適合與家
Thumbnail
Hello!大家好我是茄諾,今天要來幫自主研發的掌機TBoy寫款可以連線對戰的遊戲,不知道TBoy的朋友可以連至以下網址看看: 因為要連線對戰,所以需要準備兩台TBoy掌機,請參考以上文章製作;接下來要挑選適合連線對戰的遊戲,個人偏愛Pong,這款由Atari開發的投幣式大型電玩對戰遊戲非常適合與家
Thumbnail
歡迎來到「人工智障計畫」的裡專案世界,如果正在閱讀的你,已經有看過公開版本的內容的話,應該會知道這個專案⋯
Thumbnail
歡迎來到「人工智障計畫」的裡專案世界,如果正在閱讀的你,已經有看過公開版本的內容的話,應該會知道這個專案⋯
Thumbnail
前一陣子,我跟平常一樣在滑 Twitter 時,一則貼文引起了我的注意,那是一個有趣的構想⋯
Thumbnail
前一陣子,我跟平常一樣在滑 Twitter 時,一則貼文引起了我的注意,那是一個有趣的構想⋯
Thumbnail
前陣子在某線上拍賣平台買了一支超便宜的有線超任USB搖桿,結果玩不到一個禮拜按鈕就被按壞了,而且發現還沒家裡那台老舊超級任天堂搖桿順手,所以就開始打起老舊超任搖桿的主意。。。。
Thumbnail
前陣子在某線上拍賣平台買了一支超便宜的有線超任USB搖桿,結果玩不到一個禮拜按鈕就被按壞了,而且發現還沒家裡那台老舊超級任天堂搖桿順手,所以就開始打起老舊超任搖桿的主意。。。。
Thumbnail
我的手指持續敲擊鍵盤,告一段落後,滑鼠移入輕輕按下儲存,上傳了這次專案的更新...我意識到,似乎又有一段時間,沒寫給人類看的東西了,不如,就來分享一下近期的開發心得吧!
Thumbnail
我的手指持續敲擊鍵盤,告一段落後,滑鼠移入輕輕按下儲存,上傳了這次專案的更新...我意識到,似乎又有一段時間,沒寫給人類看的東西了,不如,就來分享一下近期的開發心得吧!
Thumbnail
ESP8266 / ESP32單晶片的學習者或玩家常用板卡,依大小體積區分為 大型板卡: Arduino UNO/MEGA/M0 Pro , WEMOS D1 R2 ,WEMOS UNO 中型板卡: NodeMCU ESP8266-12E , ESP32/WROOM-32 , WEMOS D1
Thumbnail
ESP8266 / ESP32單晶片的學習者或玩家常用板卡,依大小體積區分為 大型板卡: Arduino UNO/MEGA/M0 Pro , WEMOS D1 R2 ,WEMOS UNO 中型板卡: NodeMCU ESP8266-12E , ESP32/WROOM-32 , WEMOS D1
Thumbnail
有些風景需要親自經歷後才能了解箇中滋味,這初衷,也可能讓您在20幾年後的今天,被現實打擊到身心疲憊時為了鼓舞自己大聲吶喊莫忘初衷後可以立即回憶起的經歷。 以上故事純屬虛構,如有雷同實屬巧合,以下開始本次教學。 依照慣例我們一樣先來看看完成後的的遊玩影片: A、提案企劃 一句話形容這個遊戲 遊戲類型
Thumbnail
有些風景需要親自經歷後才能了解箇中滋味,這初衷,也可能讓您在20幾年後的今天,被現實打擊到身心疲憊時為了鼓舞自己大聲吶喊莫忘初衷後可以立即回憶起的經歷。 以上故事純屬虛構,如有雷同實屬巧合,以下開始本次教學。 依照慣例我們一樣先來看看完成後的的遊玩影片: A、提案企劃 一句話形容這個遊戲 遊戲類型
Thumbnail
【原創TBoy掌機】 DIY了幾台網路大神們開源的掌機後,想想也該是時候來弄台原創掌機回饋一下社群了,也就是說新作的這台掌機會開源,希望對有興趣製作掌機的同好有所幫助。
Thumbnail
【原創TBoy掌機】 DIY了幾台網路大神們開源的掌機後,想想也該是時候來弄台原創掌機回饋一下社群了,也就是說新作的這台掌機會開源,希望對有興趣製作掌機的同好有所幫助。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News