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
190
コンシューマーゲームを操作するプログラマブルコントローラーの作成
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.7k
docker-machineで簡単にデモ環境を構築する、あるいはローカルのリソースを消費しない開発環境について / Easily build an environment with docker-machine
yuki_ycino
0
130
RPA実行環境のFargateへの移行 / Migrating RPA Infrastructure to Fargate
yuki_ycino
0
6.6k
Featured
See All Featured
Visualization
eitanlees
148
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Thoughts on Productivity
jonyablonski
70
4.8k
Writing Fast Ruby
sferik
628
62k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Building an army of robots
kneath
306
46k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
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
ిࢠ࡞෦͕ਏ͔ͬͨͷͰϋϯμ͚͘Β͍ ͏গ͠Ͱ͖ΔΑ͏ʹͳΓ͍ͨ