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
詳解🔍Burn🔥
Search
remore
November 08, 2015
Technology
5.4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
詳解🔍Burn🔥
大江戸Ruby会議05でのNinja Talkの資料です
http://regional.rubykaigi.org/oedo05/
remore
November 08, 2015
More Decks by remore
See All by remore
Turning CDN edge into a Rack web server with ruby.wasm
remore
0
700
Prototyping Kubernetes CRI With Ruby and gRPC
remore
3
1.3k
How I made a pure-Ruby word2vec program more than 3x faster
remore
3
3.3k
A PoC-ish Trick: LLVM IR Generation with Ruby
remore
1
1.4k
Code, Arguments and Startups
remore
0
1.8k
DockerCon 2015 Quick Recap
remore
0
470
dockerfileview: A Dockerfile viewer to trace ancestry of the base image
remore
2
470
Burn: 8-Bit Game Development With Ruby
remore
3
1.1k
Other Decks in Technology
See All in Technology
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
200
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.8k
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
130
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
7.5k
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
870
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
180
Deep Data Security 機能解説
oracle4engineer
PRO
2
120
Lightning近況報告
kozy4324
0
220
レガシーな広告配信システムでのAI駆動開発/運用の挑戦
i16fujimoto
0
120
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
200
自宅LLMの話
jacopen
1
720
AIチャット検索改善の3週間
kworkdev
PRO
2
180
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Mind Mapping
helmedeiros
PRO
1
260
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Google's AI Overviews - The New Search
badams
0
1k
Test your architecture with Archunit
thirion
1
2.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
A better future with KSS
kneath
240
18k
Transcript
ৄղ #VSO 0FEP3VCZ,BJHJ !SFNPSF
self.introduction do id "remore" name "Kei Sawada" icon from [:Sapporo,
:Tokyo] job "Software Engineer” works_at community :asakusarb do joined_at “2015-05-26” oedo05_role “࠙ձ୲” end end
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
None
l"NB[JOHXPSLz l7FSZWFSZDPPM TUV⒎z
l5IFDPPMFTUTIJUJT BMXBZTUIFNPTU VTFMFTTz ༁ɿ࠷ߴʹΫʔϧͳͷ͍ͭ ࠷ߴʹʹཱͨͳ͍ͷͰ͢Ͷ
l5IF.PTU6TFMFTTz ͱධ͞Εͨϲ݄ޙ
3VCZLBJHJ SFTVMUPGZPVS$'1 BEPQUFE
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
#VSOͰԼهͭͷରΛ %4-Ͱૢ࡞Մೳʹ͍ͯ͠·͢ ɹ%FDMBSFมΛએݴ͢Δ ɹ4DFOFը໘ͷಈ͖Λॻ͘ ɹ.VTJD OFTϞʔυͷΈ ۂΛॻ͘ ɹ4PVOE OFTϞʔυͷΈ
ޮՌԻΛॻ͘ ɹ$POpH UFMOFUϞʔυͷΈ αʔόઃఆ
%FDMBSFมΛએݴ͢Δ declare do player <<-EOH @- @@-- @- EOH enemy
<<-EOH XXX CXX XXX EOH blocker "%" shoot ">>>" shoot_flag 0 end ʢgithub.com/remore/burn/example/system_menu/main.rb ΑΓൈਮʣ ʲ֓ཁʳ ɾ4USJOHܕ͔'JYOVNܕͷΛએݴ͢Δ ɾએݴͨ͠4DFOFͷNBJO@MPPQϝιο υʹ͢ϓϩάϥϜจࣈྻͰར༻ՄೳʹͳΔ ʲOFTϞʔυͷΈʳ ɾ4USJOHܕҰߦ͋ͨΓͷഒͷͷd· Ͱͷ֯ࣈͷΈΛ֨ೲՄೳՄೳɻ·ͨɺߦ ͷഒͷߦͰ͋Δඞཁ͕͋Δɻ͜Ε ɺOFTͷ30.ͷύλʔϯςʔϒϧͷ༷ʹ ΑΔ੍݅
4DFOFը໘ͷಈ͖Λॻ͘ scene “foobar” do color :bg, :black label "HELLO, WORLD!",
2, 2 end ʲओͳݺͼग़͠Մೳϝιουʳ MBCFMจࣈྻͷදࣔ DPMPSจࣈྻɾഎܠͷ৭͚ XBJUࢦఆඵϙʔζ HPUPγʔϯΓସ͑ JOMJOFΠϯϥΠϯίʔυૠೖ NBJO@MPPQϧʔϓॲཧ ʲOFTͷΈʳ GBEF@JOɹϑΣʔυΠϯޮՌ GBEF@PVUϑΣʔυΞτޮՌ QMBZ TUPQۂ࠶ੜɾఀࢭ TDSFFOը໘ඳը TPVOEޮՌԻ࠶ੜ QBJOU෦తͳը໘ண৭
.VTJD OFTϞʔυͷΈ ۂΛॻ͘ music “foobar_purple" do tempo :allegro channel
"string" do g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth, :dotted g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth g2 :sixteenth, :tenuto bs2 :eighth end end ʲओͳݺͼग़͠Մೳͳϝιουʳ UFNQP ͍ॱʹɺ \QSFTUP BMMFHSP NPEF SBUP BOEBOUF BEBHJP M BSHP^ͷஈ֊ઃఆՄೳ DIBOOFM ଟνϟϯωϧ·Ͱ͑Δ ͑Δָثͷछྨ \lCBTTz lQJBOPz lTUSJOHz lBSQFHHJPz lTUFQz lCFMMz lBDPVTUJDz lHVJUBSz lUIFSFNJOz^ͷछྨ
.VTJD OFTϞʔυͷΈ ۂΛॻ͘ music “foobar_purple" do tempo :allegro channel
"string" do g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth, :dotted g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth g2 :sixteenth, :tenuto bs2 :eighth end end ʲDIBOOFMͷॻ͖ํʳ υϨϛϑΝιϥγυΛD E F G H B C DͰදݱ ༸Ի֊ͷӳޠಡΈ ΦΫλʔϒΛࣈͰදݱ͍ͯͯ͠ d·Ͱͷߴ͞ ݤ ར༻Մೳ Իͷ͞ \IBMG RVBSUFS FJHIUI TJYUF FOUI^ͷΑ͏ʹදݱɻٳූ SFTUɻEPUUFE@RVBSUFSͷΑ ͏ʹ͢Δͱූ͖ͭɺUSJQMFU@IBMG ͷΑ͏ʹ͢Δͱ࿈ූΛදݱՄೳ ͦͷଞͷදݱͱ͠ ͯBDDFOU UFOVUP TUBDDBUP ͷԻָදݱ͕Մೳ
4PVOE OFTϞʔυͷΈ ޮՌԻΛॻ͘ sound "change" do effect do duty_cycle
:higher velocity 15 envelope_decay :disable length 5 pitch 200 end effect do length 4 pitch 100 end end ʲओͳݺͼग़͠Մೳͳϝιουʳ F⒎FDU EVUZ@DZDMFʹ \MPXFTU MPXFS IJHIFS IJHIFTU^Λઃఆɻۣܗͷ EVUZൺΛdͷ෯ Ͱܾఆɻ WFMPDJUZͰԻͷڧ͞Λd ͷ෯Ͱઃఆ͠ɺMFOHUIͰԻͷ ͞Λdͷ෯Ͱઃఆ ˞QJUDIFOWFMPQF@EFDBZ ·ͩͦ͜·Ͱਂ͘࡞ΓࠐΊ ͯͳ͍
$POpH UFMOFUϞʔυͷΈ αʔόઃఆ config :app do target :telnet user_input
:enable frame_rate :extreme height 13 width 73 end config :server do ip_addr '0.0.0.0' max_clients 1000 end ʲBQQΞϓϦέʔγϣϯઃఆʳ VTFS@JOQVUσϑΥϧτ ͰEJTBCMFɺλʔϛφϧ্ͰͷϢʔβ ೖྗΛड͚͚Δ߹FOBCMFʹ GSBNF@SBUFը໘ඳըͷසͰ ෦తʹ &WFOU.BDIJOF1FSJPEJD5JNFSʹ ΘΕΔɺ \FYUSFNF IJHI OPSNBM TMPX^ ͷछྨ͔Βࢦఆ IFJHIU XJEUIඳըྖҬʢը໘ ͷߴ͞ɺ෯ʣΛࢦఆ
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
ࣄલ४උ HFNJOTUBMMCVSO CVSOJOJU
$BTF ɾձٞࣨʹϓϩδΣΫλ͕ແ͍࣌ ͱ͔ ɾλʔϛφϧͰϓϨθϯ͍ͨ࣌͠ ʢ3'$ͷςΩετΛಡ͏ͱ͔ʣ ͔ͭ ɾ3BCCJUΈ͍ͨͳλΠϜΩʔϓ͍ͨ͠
XHFUIUUQTUPPMTJFUGPSHSGDSGDUYU CVSOGVFMGSGDUYUIU NBJOSCCVSO UFMOFUMPDBMIPTU
$BTF ੲͷήʔϜͷۂ໊͕͔Βͳ͍࣌
NLEJSDBTFDEDBTF FDIPbHVBSE TIFMM \XBUDI SC \c NcACVSODA^^`(VBSEpMF HVBSE
WJNNBJOSC'VFM%4-Λॻ͘
$BTF 5FMOFUͰಈ͘""Λ࡞ͬͨΓ ήʔϜΛ࡞ͬͨΓͰ͖·͢ HJUIVCDPNSFNPSFCVSOFYBNQMF ʹ͍͔ͭ͘ͷαϯϓϧ͕͋Γ·͢
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̏ɺৄղ#VSO 'VFM%4- ̐ɺ#VSOͷं૭͔Β
None
͔Β3VCZJTU͕ ଟདྷ͍ͯͨ ڈͷ1SF3VCZ,BJHJ 8FMDPNF1BSUZ
lʹDIΈ͍ͨͳ ܝࣔ൘͕͋ͬͯɺ͚ͩͲ ͦ͜ʹ5FMOFUͰܨ͗ʹߦ͘z !ZPSLYJO
UFMOFUQUUDD ˞J5FSNͰจࣈԽ͚͢Δ ߹1$.BO##41SPKFDUͳ ͲΛར༻͢ΔͱΑ͍
None
ಡΊͳ͍
ʢগ͠ઢ͠·͕͢ʣ ͱݴ͑
None
IUUQHWBTJBKBUX
HWUX ใΛ࣋ͭωοτࢢຽʹ ΑΔࢀՃܕͷ࣏ࣗΛࢦ͢ ࢢຽӡಈ
None
None
ࠓͳͥHWUXͷΛ ͍ͯ͠Δͷ͔ͱ͍͏ͱ
l.BOZPGUIFTFTDFOFTrWJEFPTBOEJNBHFT VQMPBEFEPO:PVUVCF 'BDFCPPLBOEPUIFS EJTDVTTJPOGPSVNTrXPVMEFOEVQCFJOHUBLFO EPXOGBTUFSUIBOUIFZDPVMECFQVUVQ"OEXJUI QSPUFTUPSTDIBSHFEEVFUPUIF&YFDVUJWF :VBOQSPUFTU TUVEFOUHSPVQTPSHBOJ[FEPO155 UIFPOMJOFCVMMFUJOCPBSE
CFHBOUPSBQJEMZ BTTFNCMFBOEDPNQJMFUIFTFpMFTTPUIBUUIFZ DPVMECFVTFEBTQPUFOUJBMFWJEFODFGVSUIFSPOz IUUQUIFEJQMPNBUDPNIPXUFDIOPMPHZSFWPMVUJPOJ[FEUBJXBOTTVOqPXFSNPWFNFOU
HWUXͷ׆ಈʹ͓͍ͯ 5FMOFUαʔό͕ ҰͭͷϥΠϑϥΠϯ
ੈք͍
None
l*`EMJLFUPJOWJUFZPVUPTQFBLBU !8JDLFE(PPE3VCZz !CDBSEBSFMMB
None
l7FSZDSFBUJWF WFSZVOVTVBM CVUBMTP WFSZDMFWFSz 3VCZ8FFLMZ*TTVF
l5IF.PTU6TFMFTT4IJUz ͍͔ͭਓͷʹ ཱ͔ͭ͠Εͳ͍ ʢཱͨ͠ͳ͍͔͠Εͳ͍ʣ