7月も終わりの頃、筆者は悩んでいました。衝動的に買ってしまった「Raspberry Pi」を有効活用する方法はないかと……。
そんな折「盆休みの企画、何かありませんか?」と担当から聞かれた筆者は、「このラズパイを絡めて何かできないか」と朧気に浮かびつつも、決定的な案が思いつかずに途方にくれていました。しかし、そんなある日。特に何も思いつかないモヤモヤの中、毎日のルーチンに畑へ野菜を収穫にいった際に「ジャガイモで『DOOM』が遊べるなら、ジャガイモでゲームが遊べるのではないか?」というよくわからない天啓が舞い降りてきたのです。
そんな天啓を編集部に「ジャガイモでコントローラー作ってゲームやろうと思うんですがどうですか?(ほぼ原文)」とお伝えしたところ「おめーアホだな?良いぞやれ。」と割と予想した返事が返ってきたのですが、流石ゲムスパ!こんな企画でも通っちまうんだな!(実際はもっと丁寧なやりとりをしています)
ともあれまずは実現可能かどうか調べてみよう

だがしかし、筆者の電子工作知識は皆無。ジャガイモを電池にして『DOOM』を動かしていた記事を思い出しただけ!
そこで、公私ともに付き合いのある岡山のメキシカンタイフーンこと『Dance Dance Revolution』が超上手いArcMage氏に相談することにしました。頼れるべきは友人、頼るべきも友人なのです。お仕事が電気関係で、かつ自作コントローラーをよく作っている彼に「ジャガイモでコントローラー作ろうと思うんだけど行けるかな?」と聞いてみたところ、2日程でプロトタイプの動画と写真が返ってきてしまったのです・・・

これでボタン数の少ない、かつ動きがあるゲームとかやると面白そうと、ひとしきり盛り上がったので日付を決め、彼の家で撮影などを行うことにしました。(この記事は緊急事態宣言前、かつ筆者も友人もワクチン接種後で作業は感染症対策も行った上で屋外で行っています)
事前準備はしっかりと

まずは彼の家に行く前に事前準備から始めることにします。「Raspberry Pi」自体がコントローラーを認識するのか、更にはSteamLinkでのゲームプレイがスムーズに動くかといったことを調べなければなりません。


当日を想定し実家のテレビにHDMIでRaspberry Piを接続し起動を確認。電源を接続すると即座に起動する仕様なのでHDMIは起動前に接続しておきましょう(画面出力がうまく行かない場合があります)。

初期設定は日本語でも可能で、問題なくスムーズに行えましたので、実家のWi-fiにもつながるのを確認した後、SteamLinkをインストールします。左上のメニューからコマンドラインを起動し、
sudo apt update
sudo apt install steamlink
を入力してエンターキーを押します。うまくインストール出来ればデスクトップにSteamLinkのショートカットが出来るので、一度起動してSteamがインストールされているメインPCと接続できるか確認します。
この際、一番の注意点があります。もし、Steam Linkをセットアップしようと考えている場合、初回インストールと起動確認はメインPCがある場所で行ってください。Steam Linkは接続確認に初回はPINコードを打ち込む必要があり、遠隔地にメインPCを置いてしまうと、離れていても操作可能な方法がない限り、接続作業を完結できなくなります。

無事接続が確認でき、手持ちのXBOXコントローラーが接続できていることがSteam Link上でも確認できました。Raspberry Pi上での作業は以上ですが、可能であればローカルIP外でもSteam Linkが接続できるか確認しておくと完璧です。

実録、これがポテトコントローラー、略してポテコンだ!

夏も真っ盛りな炎天下の中、どう考えても正気ではないポテトコントローラーを制作するためArcMage氏の自宅までやってきました。共通の友人であるscytheleg氏も合流し、実際の制作に入ります。
ジャガイモは半分に輪切りにしたものと、単体で一個そのものを準備します。輪切りにした方は元の形に合わせることで入力を、単体そのもののジャガイモは人体にも銅線を巻き、握り込むことでタッチセンサーのような入力を行う形を今回は想定して組み立てていきます。

今回制作に使ったコントローラーのベース。この中の基板から出力を拝借します。入力ICを制作するには難しすぎるので入力を乗っ取って出力をジャガイモに変更します。

ゲムスパ読者の皆様の中には自分で電気工作をされる方もいるでしょうが、そうでない読者の皆様に説明しておきますと、大体のコントローラーはこのような入力機構をしています。この基盤と、普段皆様が目にするようなコントローラーの外装がどのようにして機能するかについてですが、コントローラーの基板にはたいてい、ボタンを入力しない場合は常に電気が流れているのです。そこにプレイヤーがボタンを押すことで、ボタンの裏に付けられた導電シリコン(丸状の黒いもの)が電極に触れ、起こったショートを検出して入力が実行されます。(アナログ入力は違いますが今回は使う予定がないので説明を除外しています)
基板を取り出すためドライバーを使用し、ガワを外し基板の電気の流れを確認します。この際に写真のGNDの位置を把握しておきます。GNDはいわゆるマイナスに該当する部分なのですが、ICチップを介して全てのボタンに繋がっており通電を管理しています。ただ、今回入力部分をジャガイモにするためには動作入力の仕様が大きく変わるため、ボタンを押す代わりにトランジスタを使用しジャガイモから電力を流し込むことにします。



注意点としてトランジスタの動作には約0.6Vの電圧で必要で、今回使用したジャガイモでは銅板と亜鉛板を使用することで、約1Vの電圧を確保しています。アルミ板を代用した場合は電圧が確保できないかもしれないので、記事末尾リンクにある亜鉛板と銅板を切断して利用するか、切断せずにすむセットのどちらかを使用してください。ArcMage氏曰く「イオン化傾向の表だと亜鉛よりアルミの方が電圧が出ているが、実際に試したところ電圧が出にくく、検索した範囲だと亜鉛での実験がほとんどであり例が見つからず、想像だが金属の腐食がアルミ板では起きにくいから電圧が出ないのでは?」とのこと。

ともあれ実際に制作を行っていきます。基板にはんだ付けを行うため、ボタン部分の電極をカッターで削り半田が乗りやすくしていきます。今回は既にゲームを決めているので必要なSW1-4とGND部分(U1刻印部分)だけを削ってはんだ付けを行います(火傷にはお気を付け下さい)。

電極線に半田を付け逆側をブレッドボードに挿し込みます。この際先程のトランジスタのコレクタ部分に接続する形になるように差し込んでいきます。そしてGNDを同じようにエミッタ側、ポテト側をベースに接続していきます(ブレッドボードを使用することで面倒な半田の工程を省き、配線を間違えた際にも簡単に修正が行えるようになっています。)。


ここまで完成したらUSBをPCに繋いで実際に動作するか確認してみることにしましょう。今回はWindowsのゲームコントローラーの設定でボタンの通電を確認していますが、認識を確認するのであればなんであっても構いません。
今回制作したポテトコントローラーは半分に切ったジャガイモを合わせることで認識するボタン部分と、ポテトを握ることで認識する2パーツで構成されています。当初の予定では両手でダンベルのように持ち上げることで認識させて謎の踊りを行うなども考えていたのですが、センサーが必要だったりと少し大掛かりになってしまったためボツとなってしまいました……。
そして、実際に遊ぶゲームですが2ボタンで遊べる音ゲー『MUSE DASH』とただ左右にキックを繰り出すだけの『DIVEKICK』、ジャガイモでダイスを振る『NKODICE』に決定いたしました。ポテトでフェンシングな『Nidhogg』も予定にあったのですが、コントローラー設定がゲーム中にうまく設定されなかったため、こちらは残念ながら不採用に・・・
実際にプレイすると割とマシなプレイになっています。連打部分が見どころです。(ポテトコントローラーでのプレイ動画の公開許可を下さった心の広い作曲者の立秋氏と動画担当の石王マサト氏に感謝します)

『NKODICE』ではポテトを合わせることでダイスを振り、ナニではなくポテトを握ることでナッジするという新感覚のダイスゲームが爆誕しました。現場では5文字の何かは完成しませんでしたが、ポテトを合わせてダイスを振る様は非常にシュールで、現場は大盛りあがり。筆者のスマートフォンのバッテリーが切れたため写真がありませんが『DIVEKICK』もポテトをつぶしそうになるくらい白熱していました。
ただし欠点もある

「ポテトコントローラーなんて欠点しかないだろ!」という読者の声が聞こえてきそうですが、Steam Linkの低遅延と意外と認識するポテトは相まって、それなりに操作は可能です。たしかにアクションが激しくなったり入力機構が多くなるとポテトコントローラーはコントローラーとしては使い物になりません。(傍目で見てる分には非常に面白いですが)
ジャガイモ電池は「ジャガイモを電解質として両方の金属板間に電気を発生させる」という仕組みなのですが、人体もまた電解質である為、素手で握っていると人体まで電池の一部になってしまい常時電気を発生させてしまいます。なので、ジャガイモが濡れていたり、手汗がにじんだりして手とジャガイモ間の電気抵抗が下がってしまうと分割したジャガイモの意味が無くなり、常にボタンがオンの状態に……。これを回避するためには手とジャガイモを絶縁してやるのが手っ取り早いので、片手だけでも手袋を着けるなどの対応が必要です。
逆にジャガイモを握るタッチセンサー側の方に関しては、ジャガイモと人体に電流を流しているのでジャガイモと手の間の電気抵抗はできるだけ低い方が望ましいものの、ちょっと触ったぐらいではボタン入力に必要なだけの電流がトランジスタに流れてくれず、ジャガイモをギュッと握ったり、握る手を水で濡らしたりして電気抵抗を極力下げる必要がありました。
そして欠点の最たる点は、使用したポテトは食用として使えないことにあります。現場には、夏の日差しに加えて、ポテトを握り続け電気を流したことで、お腹が刺激されるような焼ける匂いが常に辺りに立ちこめることに。そこで当初は「最終的にカレーにするか」という話も持ち上がっていたのですが、よく見れば金属を突っ込んだ結合部分が化学反応を起こしていることもあり断念。衛生面的にも社会情勢的にも、この時期に食中毒を起こすわけにもいきません。
そのためコントローラーとして使用したジャガイモは筆者で引取り、肥料コンポストへ。肥料として再利用させていただきました。なお、実験用に残しておいた未使用のジャガイモは当初の予定通りにカレーにして3人でたっぷり満喫。惜しむらくは筆者のスマホのバッテリー切れで、せっかくの美味しいカレーの写真が撮れていないことです……!ですが、そういうことで残ったジャガイモは責任を持って、スタッフで美味しく頂いたり第二のジャガイモ生を送って頂いたりしたので、完全に無駄にした食料はございません、ご安心ください。
今回コントローラーを作ってみて

今回、思いつきとはいえ、風変わりなコントローラーを作成しましたが、中々面白い結果になったなと思いました。傍目から見るほうが面白いというところもそうですが、この手のコントローラーでは入力するボタンが少なく、反面で結果が派手なゲームであればあるほど、アンバランス差も生じて盛り上がるという見識を得ることができました。本当は色々現場でも企画はあったのですが、スケジュールと時間的にどうしても実行できなかったのが悔やまれるところです。
総じて全体を振り返ると、じつにばかなことをしてしまった感じが物凄いですが、愉快に楽しめたのも事実。筆者も電気工作の勉強になりましたし、ゲームの違う側面での楽しみ方を再認識することができました。ほかにも得られるものもあるかも知れませんので、学生の皆様や、お子様持ちの読者の皆様は、次回の長期休みや、子供との自由研究にこのポテトコントローラーを作ってみるのはいかがでしょう?
{{{}}}