Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ゲーム用コントローラー ~アケコンとかツインスティックとか~ 自作のすゝめ(基礎編)
Search
kiyokura
October 08, 2023
Technology
1
680
ゲーム用コントローラー ~アケコンとかツインスティックとか~ 自作のすゝめ(基礎編)
2023.10.08 【Okayama.なんか #1】Okayama.Maker でお話したセッション資料
kiyokura
October 08, 2023
Tweet
Share
More Decks by kiyokura
See All by kiyokura
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話 実践編
kiyokura
1
80
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
shake-upを科学する
rsakata
7
1k
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
760
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
110
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
470
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
130
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1k
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Balancing Empowerment & Direction
lara
1
460
Designing for Performance
lara
610
69k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
For a Future-Friendly Web
brad_frost
179
9.8k
Docker and Python
trallard
45
3.5k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Side Projects
sachag
455
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Transcript
ゲーム用コントローラー ~アケコンとかツインスティックとか~ 自作のすゝめ(基礎編) 2023.10.08 @kiyokura
自己紹介 ✓保住匡範(ほずみ まさのり) ✓ハンドル:きよくら(@kiyokura) ✓フリーランスのソフトウェアエンジニア ✓.NET / エンタープライズ成分強め ✓兼業農家 ✓ぼちぼち稲刈りシーズン
Maker…? ✓自分がMaker……という自覚は無い ✓DIYは好きな方ではある ✓日曜大工・修繕・エクステリア造作 ✓家電品の修理とか(最近のヤツは無理) ✓電子工的なこととか ✓モットー: 『人がやれるなら自分でも出来るのでは?』<傲慢
今日はゲーム関連のDIY的な話をします ✓ゲーム機のコントローラーをあれこれする話 ✓ちなみに私自身はゲームは多少嗜む程度
ここでいう「コントローラー」とは ✓ゲームプレイ用の入力デバイス ✓コンシューマーゲーム機やPC、スマホ等で使用 ✓ゲームパッド、アケコン、その他専用コントロー ラー
だいたいこういうの
だいたいこういうの
だいたいこういうの
だいたいこういうの ※とりあえず部屋の中で目についたのを撮影してみました
自作する必要ある? ✓(該当機種向けに)販売されてない ✓特殊コントローラー/専用コントローラー ✓自分にちょうど良いものが既製品に無い ✓サイズ、重さ、レイアウト、部品等々 ✓機種ごとに買いなおしたくない ✓本体機種ごとにアケコンが増える現象
買えないなら自分で作ればいいじゃない ✓ダイジョウブ、コワクナイ
ここ1~2年で自作・改造したりしたもの ✓PS4用ツインスティック ✓多機種対応アケコン ✓各プラットホーム接続用アダプタ ✓ 気が向いたときにアダプタ作成中……
PS4用ツインスティック
PS4用ツインスティック ✓バーチャロンの為に作成 ✓電脳戦機バーチャロン マスターピース 1995~2001 ✓ https://virtual-on.sega.jp/masterpiece/ ✓ Playstation Storeで好評配信中
✓とある魔術の電脳戦機 ✓ https://vo-index.sega.jp/ ✓ 詳細不明ですが配信停止されたのでパッケージ版探しましょう
PS4用ツインスティック ✓三和電子製のレバーを採用 ✓アーケード用コンパネと同様の操作性と強度 ✓保守部品も市販 ✓将来性も確保 ✓コントローラー基板を外付けにし交換可能に ✓別のゲーム機にも対応可能
多機種対応アケコン switch PS4 Windowds NEOGEO NEOGEO mini ARCADE EGRET II
mini アストロシティ ミニ PS2 Dreamcast 一台でどれでも使える! XBOX 360
多機種対応アケコン ✓コントローラー基板を外付け・交換式にすることで複 数の機器に対応 ✓XBOX & Windows(XInput) ✓Switch ✓PS4 ✓NEOGEO mini
✓NEOGEO ✓アーケード基板(ΣAV7000)…等々 ✓ベースは既製品のアケコン
難しいことはしていない ✓シンプルで低難易度の工作のみ ✓必要な知識と工作は中学生の技術家庭科レベル ✓興味がある方はぜひ、やってみてください
ゲーム機とコントローラーの基本
前置き ✓本資料内では原則としてデジタル入力(ON/OFF)の み扱います ✓アナログ入力やパルス的な入力を扱うものは一旦割愛 ✓原理が解れば難しくはないですが
ゲーム機とコントローラーの模式図 ゲーム機本体 ポチっとな! なんとか拳!
ボタンプッシュ=スイッチON ✓開いていた回路が閉じられる ✓電流が流れる ✓I/O端子に電圧がかかる ✓ボタン入力を検知 ※マイコンっぽい話に落とし込んだ比喩と思ってください
同じこと プッシュスイッチを押すと… マイコンのInputポートに通電して… なんか処理した結果Outputポートに電圧が流 れてLEDが光る \エルチカッ!/
コントローラーのキー=スイッチ ※部屋に転がってたなんかUSBゲームパッドの基板(メーカー・製品不明) ※ファミコン(以前)から現代まで基本はこんな感じ 導電パッドで押さえるとON
複数のキーのON/OFF情報を少ない信号線に 複数のキーのON/OFF情報をUSBの信号に 変換 ※部屋に転がってたなんかUSBゲームパッドの基板(メーカー・製品不明) ※ファミコン(以前)から現代まで基本はこんな感じ
原理はファミコン等の時代から同じ ファミコンは4021という汎用のシフトレジスタを使ってシリアライズしてる(SFCも ほぼ同じ)
余談:本体までパラレルで伝送するものもある ✓コントローラーのスイッチの線がそのまま本体側に端子へ ✓ コントローラ内にICはおろか電子部品が(ほぼ)無い ✓ATARI仕様 ✓ ATARI2600 ✓ 80年代国産PC(独自拡張アリ) ✓
メガドライブ(独自拡張) ✓アーケードゲーム基板 ✓ NEOGEO ✓ JAMMA以前の基板 ※MSX用の一般的なゲームパッドの例
要点:ここだけ覚えておこう ✓箱 ✓スイッチ ✓基板 ✓これでコントローラーできている ✓これがあればコントローラーは作れる
アケコンを自作してみよう
復習:典型的コントローラーの構造 ✓箱(ケース/筐体) ✓スイッチ(アケコンのレバーもスイッチ) ✓基板(ICチップとか抵抗とか電子部品)
ぶっちゃけこれでも動く
使い勝手等を考えた現実的な選択肢 ✓筐体 ✓強度やサイズが重要 ✓市販のアケコンを流用するのが堅実 ✓ヤフオクやハードオフ等もねらい目 ✓自作用に市販されているものもある
使い勝手を考えた現実的な選択肢 ✓レバーやボタン ✓アーケード用のものが市販されている ✓ 三和/セイミツ等々 ✓ 好みが分かれるポイント ✓筐体選定にも関わる ✓ 筐体によって取付可能/不可能なものも
使い勝手を考えた現実的な選択肢 ✓基板 ✓ 市販のコントローラー製品の基板を流用 ✓ いわゆる『乗っ取り』 ✓ アケコン自作用基板(市販) ✓ Brook
Universal Fighting Board(UFB)が有名 ✓ 小型マイコンで自作 ✓ pic マイコン ✓ Arduino Pro Micro ✓ Raspberry Pi Pico ‼ 認証が必要な機種は注意(PS4以降/XBOX One以降)
作例1
PS4用ツインスティックの例 ✓製作動機 ✓VOやるならやっぱツインスティックでしょ ✓PS4用のタニタのヤツ高いし買えない ✓他機種流用・改造もいまいち ✓タニタ用のレバー、保守パーツ含めて三和で普通に市販 されてるやん ✓ 割とコレガ決定的な動機
部品集め ✓ 筐体 ✓ ジャンクのアケコン(ハードオフで500円) ✓ 天板はガルバリウム板を切り売りで購入 ✓ レバー ✓
メーカー直販サイトで受注生産販売品を購入 ✓ ボタン ✓ ジャンクのアケコンから取り外したものを流用 ✓ 足らずは手持ちの中から適当にチョイス ✓ 基板 ✓ HORIのPS4用コントローラーを乗っ取り ✓ その他 ✓ ケーブルとかコネクタとか100均タッパーとか適当に 三和電子製 JLV-T2B
設計(概要) ✓別の機種で使うことも考えて基板は外付けに ✓筐体内レバー・ボタン(とケーブル)だけ ✓コネクタで付け替えが可能なようにする PS4 PS4用 アダプタ 将来出るなんか すごい機種 将来出るなんかすごい機種用
アダプタ
設計(レイアウト) ✓ざっくり配置やボタンアサインを検討 ✓VOのソフト上でのカスタマイズも考慮して
設計(ピンアサイン) ✓今後の汎用性 ✓乗っ取り対象の基板の特性も考慮 ✓アナログスティックボタン・スティックは要注意
加工 ✓現物合わせ&段ボールとか使ってあたりをとりなが らケースを加工 ✓強度を損なわないように注意
加工 ✓天板に穴あけ ✓加工を依頼するのは逆にメンドクサイ(計測と作図が特 に)
取付とか ✓スペーサーなんかは3Dプリンタがあると楽 ✓裏から見るとボタンの接続間違えがちなので、 裏にもラベル貼るのをお勧めしています
アダプタ(基板) ✓決めたアサイン通りに配線 ✓アナログスティック(可変抵抗タイプ)をデジタル スティックに配線する点に留意
余談:アナログスティックの基本 ✓最近のゲームパッド内蔵のスティックは2軸の可変抵抗が基本 ✓X/Yに対応するポートとGND/VCCが接続されており可変抵抗に より変化した電圧で傾きを判定 ✓ 例:最大220Ωの可変抵抗の場合 ✓ ニュートラル:110Ω ✓ 左いっぱい:0Ω
✓ 右いっぱい:220Ω ✓何段階の電圧を検知するかは実装次第 ✓デジタルレバーに置き換える場合は「0/真ん中/最大」が作れ れば良い
あっという間に完成
作例2
多機種対応マルチアケコン ✓製作動機 ✓機種ごとにアケコン買ってられない(富豪ではない) ✓でもアケコン欲しい ✓コンバーターや市販のマルチアケコンの難点 ✓ 新機種対応時期にラグがある ✓ レトロ機の対応は絶望 ✓
使用時の遅延の可能性
アケコン本体
アケコン本体 ✓HORI Real Arcade Pro(初代)流用 ✓元のPS2用の基板は除去 ✓ボタンやレバーは三和製のものに交換済み ✓ 元々アーケード用のものに換装させる仕様の為やりやすい ✓連射スイッチがあった場所に追加でプッシュスイッチを配置
✓ 最近のコントローラーはボタン多いので ✓接続するアダプタ/モードでボタン割り当て変わるのでインスト カードを差し込めるようにしてみたり ✓ (見えてないけど)奥側に名刺入れを張り付けてあり各機種ごとのカー ドが収納されてる
NEOGEO mini用アダプタ ✓NEOGEO miniのパッドの基板を乗っ取り ✓アナログスティックをデジタルスイッチに変換して る以外はそのまま結線してるだけ
Windows/Switch/PS4用アダプタ ✓ラズパイpicoにファームを書き込んでマルチコント ローラー基板化にるOSS「GP2040-CE」を利用 ✓超絶簡単・低コスト・低遅延でおすすめ
NEOGEO/アーケード基板用アダプタ ✓アーケード基板を家庭で遊ぶためのコントロールボックス Σ7000AVや、NEOGEOに接続するケーブルに変換 ✓単純にD-SUB 25ピンとD-SUB 15ピンを結線してるだけ(¥ハンダ付 けすらしてない)
別のアケコン本体 ✓バーチャステックプロ+ブラストシティ用コンパネ ✓バーチャスティックプロ ✓(90年代ゲーセン勢的に)操作性最高 https://www.sega.jp/fb/segahard/ss/stickpro.html
再作中… ✓イーグレットツーmini&アストロシティmini用アダプタ ✓ Pic or Arduino Microでの制作を検討中 ✓Dreamcast用アダプタ ✓ 案外DCにしか移植されてないゲームがある
✓Playstation 2用アダプタ ✓ 案外PS2にしか…以下同文 ✓Sega Saturn用アダプタ ✓ 以下同文
取り組むスタンス?的な話
前提:基本的に集中して作業できない ✓まとまった作業時間が取れない ✓仕事・家事・子供の世話等 ✓詰めて作業が出来ない ✓仕事・家庭の都合で数日くらいは飛ぶ ✓子供寝かせて家事終わった後は… ✓体力と精神力的が残ってない ✓視力が売り切れる(RO-GAN)
“完成”させるための個人的ポイント ✓ハンダ作業を最小限に ✓使用部材の工夫 ✓分割統治・モジュール化 ✓ドキュメントを書く ✓テプラの活用 ✓綺麗に作ろうと思わない
ハンダ作業を最小限に ✓ハンダ作業の欠点=危ないこと ✓仕掛中に離席しにくい・途中やめにしにくい ✓ながら作業しにくい ✓対応策 ✓圧着による結線 ✓コネクタ圧着済みケーブルの利用 ✓ピンヘッダやコネクタなどのみにハンダ作業を絞る
使用部材の工夫 ✓材料原価よりトータルコストで選ぶ ✓半完成部品をつかう ✓ コネクタ付きケーブル ✓ ターミナル付きコネクタ ✓ ブレッドボード配線基板 ✓使いやすい部品を選ぶ
✓ スズメッキ線 → ハンダメッキ線 ✓Aliexpressにかなり依存することにはなる
分割統治・モジュール化 ✓直接ハンダで空中配線→変換基板を挟む ✓テストの容易さ ✓修正の容易さ ✓作業が中断→間が開いて再開した時のやりやすさ
ドキュメントを書く ✓事前に図や表である程度設計しておく ✓考えながら作業すると時間かかるので事前に設計 ✓CAD的な正確さはどうでもいい(自分は) ✓しばらく経ってからの作業/改修時の利便性 ✓自分が作ったものでも平気で忘れる ✓現物を都度解析する羽目に
テプラの活用 ✓手書きより圧倒的に読みやすい ✓俺の字が汚いのは認める ✓書き間違いの修正が楽 ✓油性ペンで書き間違うと面倒 ✓テプラなら簡単に張替できる
綺麗に作ろうと思わない ✓売りものじゃない/誰に見せるでもない ✓雑でも不格好でも目的が達成できればOK ✓段ボールで試作してそのまま使うことも… ✓100均のタッパー is 最高 ✓安っぽい素材 → 加工しやすい
✓安い → 加工の失敗がコワクナイ
まとめ
アケコン自作・カスタマイズは珍しくない ✓大会ではアケコン持ち込みが一般的 ✓カスタムしやすい製品 ✓自作用の部品や基板の販売 ✓レバーレスコントローラーの流行 ✓HITBOXタイプを自作してる人は多い
コントローラーDIYのハードルは高くない ✓情報が入手しやすい ✓便利な道具や材料もたくさんある
興味をもったらぜひチャレンジ ✓やってみてください!