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
320
ゲーム用コントローラー ~アケコンとかツインスティックとか~ 自作のすゝめ(基礎編)
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
76
Other Decks in Technology
See All in Technology
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
150
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
880
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
410
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
170
エンジニア向け会社紹介資料
caddi_eng
14
230k
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
800
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
18
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
A better future with KSS
kneath
231
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Statistics for Hackers
jakevdp
792
220k
Building Applications with DynamoDB
mza
89
5.8k
A designer walks into a library…
pauljervisheath
201
24k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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のハードルは高くない ✓情報が入手しやすい ✓便利な道具や材料もたくさんある
興味をもったらぜひチャレンジ ✓やってみてください!