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
The World Runs on Bad Software
bkeepers
PRO
72
11k
Designing for Performance
lara
610
69k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Fireside Chat
paigeccino
40
3.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Scaling GitHub
holman
463
140k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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
ిࢠ࡞෦͕ਏ͔ͬͨͷͰϋϯμ͚͘Β͍ ͏গ͠Ͱ͖ΔΑ͏ʹͳΓ͍ͨ