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
yuki-yano
May 25, 2018
0
160
コンシューマーゲームを操作するプログラマブルコントローラーの作成
yuki-yano
May 25, 2018
Tweet
Share
More Decks by yuki-yano
See All by yuki-yano
Neovimのリモートプラグインとはなんなのか、あるいはTypeScriptでのNeovimプラグイン実装について / Developing Remote Plugin in TypeScript
yuki_ycino
1
1.5k
docker-machineで簡単にデモ環境を構築する、あるいはローカルのリソースを消費しない開発環境について / Easily build an environment with docker-machine
yuki_ycino
0
110
RPA実行環境のFargateへの移行 / Migrating RPA Infrastructure to Fargate
yuki_ycino
0
6.6k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
470
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Unsuck your backbone
ammeep
669
57k
Producing Creativity
orderedlist
PRO
342
39k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualization
eitanlees
146
15k
Mobile First: as difficult as doing things right
swwweet
222
9k
Bash Introduction
62gerente
609
210k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Building Your Own Lightsaber
phodgson
103
6.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
A designer walks into a library…
pauljervisheath
205
24k
Transcript
4MBDL͔ΒήʔϜػ 14 Λૢ࡞͢Δ ϓϩάϥϚϒϧίϯτϩʔϥʔΛ࡞ͬͨ ZVLJZDJOP
Γ͍ͨ͜ͱ w 14ͷϓϩάϥϚϒϧίϯτϩʔϥʔ ʢίϚίϯʣ͕ཉ͍͠ w 1$͔Β੍ޚ͍ͨ͠ w ؾܰʹૢ࡞Λॻ͖͍͑ͨ "SEVJOPܦ༝Ͱૢ࡞͢ΔΑ͏ʹͨ͠
ίϚίϯ w ϑϨʔϜ୯ҐͰͷૢ࡞Λ͢ΔϚΫϩΛొՄೳͳίϯτϩʔϥʔ ʢඵϑϨʔϜʣ w 14Ҏ߱·ͱͳΛ͋·Γݟͨ͜ͱ͕ͳ͍ w 6*͕ਏ͍ w มثΛט·ͨ͠14ͰϑϨʔϜϨʔτ͕όάΔ
͜Ε·ͰͷਪҠ w 684$ͰΩʔϘʔυϚΫϩʢ1$ήʔϜʣ w ࢢൢίϚίϯΛߪೖʢ1414ʣ w $Ͱ%JSFDU*OQVUΛ༻͍࣮ͯʢ1$ήʔ Ϝʣ w "SEVJOPͰ࣮ʢ14ʣˡ/FX
"SVDPO "SEVJOP$POUSPMMFS w طଘͷίϯτϩʔϥʔΛͬऔͬͨ w ͬͨͷ w ७ਖ਼ίϯτϩʔϥʔʢࢮɾԁڧʣ w վ͍͢͠Β͍͠)03*ͷίϯτϩʔϥʔʢԁڧʣ
w "SEVJOPʢԁڧʣ w ిࢠ࡞༻ͷ৭ʑʢԁ͘Β͍ʁʣ 1$ ʢ3VCZʣ "SEVJOP ͬऔͬͨ ίϯτϩʔϥʔ γϦΞϧϙʔτ௨৴ 14 ϑΥτΧϓϥ
None
3VCZ"SEVJOP w 3VCZͰ$47ΛಡΜͰม w ϏοτྻͬΆ͍จࣈྻʹมͯ͠ ߦͣͭ"SEVJOPʹૹΔ w "SEVJOPͰಡΈࠐΜͰߏମͷ Ϗοτྻʹ frame,
lever, button 2, 2, 2, 3, 2, 6, P 2,000001000000000 2,000011000000000 2,000110000000000 struct Step { short frame; byte mainButton; byte subButton; byte last; };
3VCZ"SEVJOP w "SEVJOPͷγϦΞϧϙʔτͷόοϑΝ͕ όΠτͷͨΊҰؾʹड͚औΔͷແཧ w վߦ·ͰಡΜͩΒ࣍ͷೖྗΛૹͬͯ͏ w ϝϞϦ͕LCͳͷͰϏοτྻʹมͯ֨͠ೲ w ඦεςοϓఔอଘͰ͖ΔΑ͏ʹ͔ͨͬͨ͠
4MBDL#PU w 3VCZ͔Β$47͕ಡΊͨΒ*0ͳΜͰ͍͍ w 4JOBUSBͰ1045ͨ͠༰Λ͏Α͏ʹͨ͠ w )VCPU͔Β)551ϦΫΤετඈ͢Α͏ʹ )VCPU 4JOBUSB 3FTRVF
ʢ3FEJTʣ 8PSLFS ʢ3VCZʣ "SEVJOP
4MBDL#PU w 3VCZ͔Β$47͕ಡΊͨΒ*0ͳΜͰ͍͍ w 4JOBUSBͰ1045ͨ͠༰Λ͏Α͏ʹͨ͠ w )VCPU͔Β)551ϦΫΤετඈ͢Α͏ʹ )VCPU 4JOBUSB 3FTRVF
ʢ3FEJTʣ 8PSLFS ʢ3VCZʣ "SEVJOP
4MBDL#PU w ਖ਼نදݱͰઌ಄͔Β࠶ؼతʹૢ࡞ͬΆ͍ͷΛ ൈ͖ग़ͯ͠$47ʹม w "SEVJOPͷଆͷ࣮ͷ߹Ͱεςοϓ·Ͱ ͔͠ड͚͚ΒΕͳ͍ͷͰॏෳΛҰԠѹॖͨ͠ @arucon_bot 22336655 frame,
lever, button 4, 2, 4, 3, 4, 6, 4, 5, @arucon_bot 236P6P frame, lever, button 2, 2, 2, 3, 4, 6, P
"SEVJOPͷਏΈ w QSJOUMO͕γϦΞϧϙʔτ௨৴ͯ͠Δ3VCZʹ৯ΘΕΔ w ߽తʹͬͨΒଈࢮͨ͠ w ܨ͍Ͱ͔ΒඵͭΈ͍ͨͳײ͡ͷ͜ͱ ͠ͳ͍ͱ͍͚ͳͯ͘ϋϚͬͨ w λΠϚʔͷਫ਼͕͍ͬΆͯ݁͘ߏͳසͰͣΕΔ
·ͱΊ w 1$͔Β14Λૢ࡞Ͱ͖ΔΠϯλʔϑΣΠεΛ࡞ͬͨ w ਫ਼͕ଟগ͍Ҏ֎େମ্ख͘ಈ͍ͯΔ w ॴͰฉ͍ͨͱ͜ΖWTZODΛ͑ͱͷճ͕ w 4MBDL#PUܦ༝Ͱૢ࡞Ͱ͖ΔΑ͏ʹͨ͠ w
ిࢠ࡞෦͕ਏ͔ͬͨͷͰϋϯμ͚͘Β͍ ͏গ͠Ͱ͖ΔΑ͏ʹͳΓ͍ͨ