Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
詳解🔍Burn🔥
remore
November 08, 2015
Technology
4
5k
詳解🔍Burn🔥
大江戸Ruby会議05でのNinja Talkの資料です
http://regional.rubykaigi.org/oedo05/
remore
November 08, 2015
Tweet
Share
More Decks by remore
See All by remore
Prototyping Kubernetes CRI With Ruby and gRPC
remore
3
820
How I made a pure-Ruby word2vec program more than 3x faster
remore
3
2.1k
A PoC-ish Trick: LLVM IR Generation with Ruby
remore
1
970
Code, Arguments and Startups
remore
0
1.4k
DockerCon 2015 Quick Recap
remore
0
380
dockerfileview: A Dockerfile viewer to trace ancestry of the base image
remore
2
390
Burn: 8-Bit Game Development With Ruby
remore
3
660
Other Decks in Technology
See All in Technology
本社オフィスを移転し、 オフィスファシリティ・コーポレートIT を刷新した話
rotomx
3
1.2k
Kaggleシミュレーションコンペの動向
nagiss
0
210
UIFlowの2.0がやってきた! / ビジュアルプログラミングIoTLT vol.13
you
0
210
Technologies for developing editors / Webエディタ開発を支える技術
shuta13
1
230
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
200
CEXやDEXに依存しないブロックチェーン取引について考える
sbtechnight
0
310
チケットNFTの仕組み
sbtechnight
0
330
re:Invent re:Cap / AWS Lambda Updates
bulbulpaul
1
140
Astroで始める爆速個人サイト開発
takanorip
12
8.3k
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
830
データエンジニアを助けてくれるFivetranとSnowflakeの仕様&機能のご紹介
sagara
0
420
SignalR を使ったアプリケーション開発をより快適に!
nenonaninu
0
130
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Building Applications with DynamoDB
mza
85
4.9k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Automating Front-end Workflow
addyosmani
1351
200k
Unsuck your backbone
ammeep
659
56k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
50k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Why You Should Never Use an ORM
jnunemaker
PRO
49
7.9k
The Mythical Team-Month
searls
210
40k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
Writing Fast Ruby
sferik
613
58k
Visualization
eitanlees
128
12k
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ͷ
[email protected]
ϝιο υʹ͢ϓϩάϥϜจࣈྻͰར༻ՄೳʹͳΔ ʲOFTϞʔυͷΈʳ ɾ4USJOHܕҰߦ͋ͨΓͷഒͷͷd· Ͱͷ֯ࣈͷΈΛ֨ೲՄೳՄೳɻ·ͨɺߦ ͷഒͷߦͰ͋Δඞཁ͕͋Δɻ͜Ε ɺOFTͷ30.ͷύλʔϯςʔϒϧͷ༷ʹ ΑΔ੍݅
4DFOFը໘ͷಈ͖Λॻ͘ scene “foobar” do color :bg, :black label "HELLO, WORLD!",
2, 2 end ʲओͳݺͼग़͠Մೳϝιουʳ MBCFMจࣈྻͷදࣔ DPMPSจࣈྻɾഎܠͷ৭͚ XBJUࢦఆඵϙʔζ HPUPγʔϯΓସ͑ JOMJOFΠϯϥΠϯίʔυૠೖ
[email protected]
ϧʔϓॲཧ ʲOFTͷΈʳ
[email protected]
ɹϑΣʔυΠϯޮՌ
[email protected]
ϑΣʔυΞτޮՌ 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ɻ
[email protected]
ͷΑ ͏ʹ͢Δͱූ͖ͭɺ
[email protected]
ͷΑ͏ʹ͢Δͱ࿈ූΛදݱՄೳ ͦͷଞͷදݱͱ͠ ͯ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
[email protected]
ʹ \MPXFTU MPXFS IJHIFS IJHIFTU^Λઃఆɻۣܗͷ EVUZൺΛdͷ෯ Ͱܾఆɻ WFMPDJUZͰԻͷڧ͞Λd ͷ෯Ͱઃఆ͠ɺMFOHUIͰԻͷ ͞Λdͷ෯Ͱઃఆ ˞QJUDI
[email protected]
·ͩͦ͜·Ͱਂ͘࡞ΓࠐΊ ͯͳ͍
$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ΞϓϦέʔγϣϯઃఆʳ
[email protected]
σϑΥϧτ ͰEJTBCMFɺλʔϛφϧ্ͰͷϢʔβ ೖྗΛड͚͚Δ߹FOBCMFʹ
[email protected]
ը໘ඳըͷසͰ ෦తʹ &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 ͍͔ͭਓͷʹ ཱ͔ͭ͠Εͳ͍ ʢཱͨ͠ͳ͍͔͠Εͳ͍ʣ