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
180
コンシューマーゲームを操作するプログラマブルコントローラーの作成
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
120
RPA実行環境のFargateへの移行 / Migrating RPA Infrastructure to Fargate
yuki_ycino
0
6.6k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
RailsConf 2023
tenderlove
30
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Documentation Writing (for coders)
carmenintech
72
4.9k
Site-Speed That Sticks
csswizardry
10
690
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
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
ిࢠ࡞෦͕ਏ͔ͬͨͷͰϋϯμ͚͘Β͍ ͏গ͠Ͱ͖ΔΑ͏ʹͳΓ͍ͨ