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
Shinyで親父の威厳を回復した話
Search
Koji E. Kosugi
January 20, 2024
Programming
0
630
Shinyで親父の威厳を回復した話
Tokyo.R #110のLTネタです。
Splatoonの武器スロットマシーンをShiinyで作ってみました。
Koji E. Kosugi
January 20, 2024
Tweet
Share
More Decks by Koji E. Kosugi
See All by Koji E. Kosugi
sappoRo.R #12 初心者セッション
kosugitti
0
250
多次元展開法を用いた 多値バイクラスタリング モデルの提案
kosugitti
0
230
小杉考司(専修大学)
kosugitti
2
600
電子計算機のイロハ
kosugitti
1
1.6k
ベイズ統計学勉強会 2022年春合宿資料「はじめてのTeX」
kosugitti
2
8.1k
Tokyo.R #94 脱rstan初心者
kosugitti
3
1k
Tokyo.R #90 RStudioで日本語論文を書く(2)
kosugitti
1
1.2k
Other Decks in Programming
See All in Programming
GoとPHPのインターフェイスの違い
shimabox
2
180
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.7k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
680
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
190
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
140
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
730
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
Featured
See All Featured
Designing for Performance
lara
604
68k
Navigating Team Friction
lara
183
15k
Speed Design
sergeychernyshev
27
790
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Embracing the Ebb and Flow
colly
84
4.6k
Gamification - CAS2011
davidbonilla
80
5.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Documentation Writing (for coders)
carmenintech
67
4.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Code Review Best Practice
trishagee
67
18k
Transcript
Shinyで父親の威厳を 回復した話 @kosugitti 1
2 &OKPZ4QMBUPPO
Splatoon3とは • 特殊な武器を使ってインクを撃つ(水鉄砲のような)バトル ゲーム。インクを塗る面積で争うナワバリバトルのほか,特別 なルールで争うガチマッチ,一人で楽しむストーリーモード などがあります。 • キャラクタ性能に違いはなく,ブキ・ギア(衣装)の組み合わ せで自分にあった装備をつくってゲームに挑みます •
ブキは110種類もある!(いくつかのカテゴリにわけられま すが)ので,組み合わせも多彩! 3
お父さんは 下手の横好きです 4 IUUQTTUBUJOLͱ͍͏αΠτͰूܭΛͱΔ͜ͱ͕Ͱ͖·͢ɻ ฏۉ,JMM%FBUI
子供は巧くて飽きっぽい • 基本ルールに飽き足らず,「武器をランダムに変えて遊ぶ」と いうローカールルールを追加しはじめる • 最初にキルした/された相手の武器を次の試合では使う ようにしよう! • 右隣の人の武器を次の試合では使うようにしよう! •
完全にランダムにするよう→スマホのルーレットアプリを 使って出た目を次の試合で使うようにしよう! 5 ͪΖΜ͓͞Μࣗͷ֫͢Βຬʹѻ͑ͳ͍ͷͰɼΑΓνʔϜͷ͓ՙʹɻ
運用上の問題 • 試合の途中で次の武器が決まっても,試合中に「あれ,俺の 次の武器なんだっけ?」と忘れてしまう • ルーレットアプリでは1回で1人分の回転しかできない • 次の試合までにメンバー分の「武器の選定」「武器の変 更」「武器に合った装備の変更」が間に合わない •
スマホの画面が小さく,回覧しにくい。 6 プログラム的には難しくなさそうな要件?
Rで実装 • ルーレットはプログラミングの初歩的演習 課題。 • Rでリスト(データセット)からsample関数 で好きな数だけ取り出せば良い。重複も含 める場合はreplace = TRUEで。
• 結果をブラウザで表示するようにすれば大 画面化&画面共有も可能,スマホでもみら れる→Shiny AppでおK 7
やってみたShiny App • ShinyAppはui.Rとserver.Rの2つのファイルだけ • uiとserverを行き来する変数だけイメージできれば簡単に つくれます • chatGPT先生に「ボタンを押したらルーレットが回るアプリ を作りたい」という雑な相談から始めて,半日でプログラミ
ング終了(ほとんどコピペ。ありがとうGPT先生) • もちろんRstudioで作って,shinyapps.ioで公開〜 8 IUUQTLPTVHJUUJTIJOZBQQTJP4QMB@8FBQPO-PU
9 IUUQTLPTVHJUUJTIJOZBQQTJP4QMB@8FBQPO-PU
10 Կ͔όʔδϣϯΞοϓͯ͠ɼ $47ϑΝΠϧͰॻ͔Εͨಠ੍ࣗϧʔϧΛՃͰ͖ΔΑ͏ʹɻ
「おとうさん,すげえ」 • ゲーム外でゲームに貢献,子供達からの支持が(一時的に) 跳ね上がりました • 週末の自由研究ぐらいのつもりでやってみましたが,実際半 日程度で実装できました。すごく簡単だぞShinyApp!す ごく助けてくれるぞchatGPT! • これぐらいのお遊びならshinyapp.ioで公開できるから,
デプロイ先をどうするかとかあんまり考えず,とりあえず やってみるというのもいいかも〜 11
Enjoy and !
宣伝 • 本業は心理統計屋です。最近はテスト理論に関するパッケー ジを開発してました。これもShinyAppにしたら便利かな? 13
14 宣伝2 ͓͍Ͱ·ͤ·͙ͪ