Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shinyで親父の威厳を回復した話
Search
Koji E. Kosugi
January 20, 2024
Programming
0
690
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
統計学に必要な数学(線形代数含む)
kosugitti
0
690
CRANへの道
kosugitti
0
150
sappoRo.R #12 初心者セッション
kosugitti
0
350
多次元展開法を用いた 多値バイクラスタリング モデルの提案
kosugitti
0
400
小杉考司(専修大学)
kosugitti
2
740
電子計算機のイロハ
kosugitti
1
1.6k
ベイズ統計学勉強会 2022年春合宿資料「はじめてのTeX」
kosugitti
2
8.6k
Tokyo.R #94 脱rstan初心者
kosugitti
3
1.1k
Tokyo.R #90 RStudioで日本語論文を書く(2)
kosugitti
1
1.3k
Other Decks in Programming
See All in Programming
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
dotfiles 式年遷宮 令和最新版
masawada
1
750
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
1.9k
開発に寄りそう自動テストの実現
goyoki
1
820
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
120
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
チームをチームにするEM
hitode909
0
310
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
2
670
Cap'n Webについて
yusukebe
0
130
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
700
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
愛される翻訳の秘訣
kishikawakatsumi
1
310
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Language of Interfaces
destraynor
162
25k
Writing Fast Ruby
sferik
630
62k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Code Review Best Practice
trishagee
74
19k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Bash Introduction
62gerente
615
210k
Facilitating Awesome Meetings
lara
57
6.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
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 ͓͍Ͱ·ͤ·͙ͪ