新しいものづくりがわかるメディア

RSS


そうめんの空箱とラズパイで昭和のゲームを作る

告白します。実は私、物心付いた頃から、空き箱を見るとワクワクするんです。

段ボール箱、BOXティッシュの箱、こんな空き箱を見ると無性に工作がしたくなる。fabcrossをご覧の皆さんなら、きっとこの気持ちが分かるはず。

そんな私の目の前に、立派なそうめんの木箱が…! これは工作するしかないでしょ。というわけで今回は、このそうめんの空き箱を魔改造してゲームを作ります。

食べて良し、工作して良し、それがそうめん。 食べて良し、工作して良し、それがそうめん。

こんなゲームが作りたい

こんにちは、趣味でゲーム作りをしているがけっぷちと申します。今回も文系出身・アラフォー営業マンの私が、趣味のゲームプログラミングについて紹介いたします。ゲーム作りに興味がある人、独学でプログラミングを勉強している人の参考になればうれしいです。

「ゲーム&ウオッチ」ってご存じですか?

昭和の終わりに流行した元祖携帯ゲームです。私が人生で一番初めに買ってもらったゲームが、このゲーム&ウオッチでした。当時、子どもが小遣いで買うには高価で、誕生日に無理を言って買ってもらった憧れのゲーム。手にした時のワクワクは、40年以上経った今も脳裏に焼き付いています。

今回は40代のおじさんを今も魅了する、ゲーム&ウオッチをオマージュした携帯型のゲームを作ります。

photo

皆さんは「Raspberry Pi」(ラズパイ)を使ったことがありますか? 数千円で購入できる、基盤丸出しのパソコンです。モニターやUSBキーボードなどを接続して、無料で配布されているOSをインストールするとパソコンとして使えます。

今回は、そうめんの箱でゲームを収めるケースを作成して、そこにRaspberry Piやモニター、ボタンなどを組み込んでハードウェアを作り、Pythonで作ったゲームを動かそうと思います。

主な材料は以下の通りです。

photo

<ゲームのシステム>

ハード

  • Raspberry Pi 3 5775円
  • USBキーボード 1000円
  • 押しボタンスイッチ × 4個 1575円
  • モバイルバッテリー 500円
  • 10.1型モバイルモニター 1万円

ソフト

  • Python 3で自作

ゲームのイメージを描いてみる

まず、ゲームのイメージを走り書きしてみました。

photo
  1. 横スクロールのフィールドを、キャラクターがハードルを飛び越えながら駆け抜ける。
  2. ハードルに引っ掛かるとライフが減る。
  3. ライフが無くなるとゲームオーバー。

といったシンプルなゲームです。

ソフトウェアを作る

なんとなくゲームのアイデアがまとまってきたので、次はキャラクターのアニメーションを作ります。皆さんご存じの通り、アニメーションは静止画を少しずつ動かすことで、キャラクターが動いて見える手法です。

まずは、キャラクターが走る姿を一枚描いてみます。

ちなみに、アニメーションのキャラクターを描くキャンバスは方眼紙を使っています。というのも、描いたキャラクターの絵を後でデータに変換するんですが、方眼紙を使っていると、そのときにキャラクターの手足の位置の座標(X軸、Y軸)が簡単に取れるんです。

私はエクセルで作った方眼紙をキャンバスにして、キャラクターを描いています。紙の方眼紙に描いても良いのですが、エクセルを使うと簡単にキャラクターをコピーできるので、アニメーションが描きやすいんです。

こんな感じで、方眼紙にキャラクターのイラストを描きました。 こんな感じで、方眼紙にキャラクターのイラストを描きました。

キャラクターは、「絵心の無い私にも簡単で描きやすい」という理由で棒人間にしました。

とりあえずキャラクターのイメージが固まったので、次にこのキャラクターが走る動作を描いていきましょう。今回は走るアニメーションに6枚のイラストを用意しています。全てのイラストをつなげると、キャラクターが走り始めました。

6枚のイラストで作った走るアニメーション 6枚のイラストで作った走るアニメーション

この他にも、走る、飛ぶ、コケる、起き上がるなど、ゲームに必要な動きを描いていきます。シンプルなキャラクターとはいえ、今回は50枚弱のイラストを準備することとなり、なかなか骨が折れる作業でした。ここは、今回一番時間がかかった作業です。

次に、出来上がったイラストをデータに変換します。頭は円、体は三角、腕や足は直線で表現しようと思います。

photo

プログラム言語によって描き方は違いますが、おおむねどんなプログラムでも、位置(座標)の情報があれば、描きたい図形を描けます。

画面に1つ目のイラストを表示して、2つ目、3つ目と順に表示し、最後のイラストの後に1枚目に戻るーー。これを繰り返すことでアニメーションが作成できます。できたアニメーションを組み合わせて、ゲームの完成です。(すみません、端折っちゃいました。)

なお、このゲームはGitHubにアップロードしています。Pythonが実行できる環境があれば、PCでも遊べるので、良ければダウンロードしてください。なお、操作方法は以下の通り。

【GitHub】
gakeppuchi/nagashi_soumen: 流しそうめんのゲームです (github.com)

【操作方法】
キーボード1:ジャンプ
キーボード2:下のラインに移動
キーボード3:上のラインに移動
キーボード4:スタート

ハードウェアを作る

ソフトウェアができたので、次はハードウェアを作っていきます。

下の写真の押しボタンスイッチを見たことがありますか? ゲームセンターのゲーム機などに使われている、あのボタンです。

実はこのボタン、パーツとして販売もされています。私は大阪・日本橋のとある店先で売っているのを見つけました。ECサイトでも、「押しボタンスイッチ」や「アーケードボタン」などで検索すると見つかります。カラーや大きさも種類豊富で、作りたい工作に合ったボタンが購入できるはずです。

今回はゲーム&ウオッチのイメージに合わせて、赤いボタンと白いボタンを準備しました。

押しボタンスイッチ 押しボタンスイッチ

ボタンが準備できたので、今度はボタンとRaspberry Piをつないでいきます。Raspberry Piの基盤に「GPIO」という端子があって、その端子にボタンをつなぐのが一般的です。

ですが、私は電子工作が得意じゃないので、GPIO端子ではなくUSB端子を使ってボタンをつないでみます。

photo

USB端子にボタンを接続するために、USBキーボードを準備しました。これを改造してUSBボタンスイッチを作ります。

具体的には、USBキーボードを分解し、内蔵されているキーボードの基盤にボタンスイッチをくっつける作業です。

早速、キーボードを改造していきましょう。

photo
改造するのはこのELECOMの有線キーボード(USB)です。 改造するのはこのELECOMの有線キーボード(USB)です。
1000円程度のUSBキーボードです。 1000円程度のUSBキーボードです。

まずは、USBキーボードをバラします。キーボード背面の特殊なネジを外すと、人差し指サイズの基盤と、網目状に張り巡らされたフィルム状の配線が入っていました。キーを押すと配線同士が接触する仕組みになっていて、接触した配線の組み合わせによって、USBコネクターからパソコンに様々な信号が送られるようです。

キーボードを分解すると、配線が描かれたフィルムと基盤が入っています。 キーボードを分解すると、配線が描かれたフィルムと基盤が入っています。
今回使うのはこの基盤部分です。 今回使うのはこの基盤部分です。

どうやら、基盤の一番右の配線(下写真のA)と、一番左の配線(下写真の①)が接触すると、キーボードの1の信号が本体に送られるみたいです。

一番右の配線(下写真のA)と、左から2番目(下写真の②)、3番目(下写真の③)、4番目(下写真の④)の配線を接触させると、それぞれキーボードの2、3、4の信号が送られてきました。

Aといずれかの配線が接触することで、信号が送られる仕組み。 Aといずれかの配線が接触することで、信号が送られる仕組み。

今回のゲームでは、キーボードの1、2、3、4を使ってプレイするので、基盤の5ヶ所にケーブルを配線してボタンをつなげていきます。

当初、基盤に配線をはんだ付けしようと考えていたのですが、上手くできなかったので、ケーブルと基盤を鉄板で挟んでつなげました。

まず、ケーブルの先端をはんだ付けして、ケーブルの毛先をまとめます。次にケーブルをグルーガンでプラ板に固定。最後に固定したケーブルと基盤を鉄板で挟んで、USBボタンスイッチの完成です。

ちなみに、今回百円均一で売っている300円程度のテンキーボードを何個か買って試してみたんですが、なぜか上手く動作しませんでした。そこで少しもったいない気もするんですが、普通のUBSキーボードを改造しています。

ケーブルをプラ板で挟んでグルーガンで固定する。 ケーブルをプラ板で挟んでグルーガンで固定する。
基盤にケーブルを合わせる。 基盤にケーブルを合わせる。
鉄板で挟みこんだら完成。 鉄板で挟みこんだら完成。

最後に箱に部品を組み込んでいきます。まず、カラーリングしたケースにボタンとモニターを取り付ける穴を開けましょう。続いて、開けた穴にボタンを取り付け、配線します。箱の中に、Raspberry Piと、モバイルバッテリー、モバイルモニターを設置して完成です。

余談ですが、モバイルバッテリーは当初、家にあった古い物を流用しました。Raspberry Piに使用するには少し電圧が低かったみたいで、モニターには低電圧アラートを意味する雷マークが表示されていました。制作する際には十分に電圧のあるバッテリーを使用しましょう。

こんな感じで収まりました。 こんな感じで収まりました。
photo

完成

今回も、完成したゲームを娘と会社の同僚にプレイしてもらいました。小学生の娘の反応はイマイチですが、アラフォーの会社の同僚はゲーム本体のフォルムに目を輝かせてくれました。このゲーム、どうやらオジさんには刺さるようです。

アラフォーのハートはがっちり アラフォーのハートはがっちり
アラサーもがっちり アラサーもがっちり
子どもはまずまず… 子どもはまずまず…

私としても、当初の設計通り、携帯できるゲームが完成して大満足でした。今回はハードの制作に重点を置いてゲームを作ってみました。特に今回紹介したUSBキーボードの改造は、やり方によっては、ゲームセンターの筐体のような大掛かりなゲーム機も作れるんじゃないでしょうか。

ゲームを作っている時間は、夏休みの工作をしているようで楽しめましたよ。やっぱりゲームって、遊ぶより作る方が面白い。みなさんも趣味のゲーム制作を始めてみてはいかがでしょうか?

おすすめ記事

 

コメント

今人気の記事はこちら

  1. 小型バーコードスキャナーを作れるRaspberry Pi用拡張ボード「Zero Barcode HAT」
  2. 電源不要! ソーラーIoTデバイスを3万円台で作ってみた
  3. スイッチサイエンスが「Raspberry Pi Pico」新製品を販売開始
  4. ELEGOO、10インチ8KモノクロLCD搭載3Dプリンター「Saturn 2 8K」の先行予約を開始
  5. 独自のアルゴリズムで不可能を可能に——3Dプリントでエアロスパイクロケットの実用化を目指す
  6. ペットボトルを1週間で分解——プラごみの環境問題を解決するプラスチック分解酵素を発見
  7. 荒れた海でも水面近くを飛行できる——米軍の新型水上機「Liberty Lifter」
  8. 趣味から仕事まで使える!Raspberry Pi(ラズパイ)の使い方とオススメキット
  9. 品質を維持したまま造形速度を2倍に——ミシガン大学発、3Dプリンター用ソフトウェア「FBS」
  10. 無電源で現場を監視——広角レンズ搭載のIoT自動撮影カメラ「ハイクカム LS4G」

ニュース

編集部のおすすめ

連載・シリーズ

注目のキーワード

もっと見る