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
600
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
200
小杉考司(専修大学)
kosugitti
2
570
電子計算機のイロハ
kosugitti
1
1.5k
ベイズ統計学勉強会 2022年春合宿資料「はじめてのTeX」
kosugitti
2
8k
Tokyo.R #94 脱rstan初心者
kosugitti
3
1k
Tokyo.R #90 RStudioで日本語論文を書く(2)
kosugitti
1
1.2k
Other Decks in Programming
See All in Programming
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
良いユニットテストを書こう
mototakatsu
5
2k
CSC509 Lecture 14
javiergs
PRO
0
140
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
1.1k
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
nekko cloudにおけるProxmox VE利用事例
irumaru
3
420
MCP with Cloudflare Workers
yusukebe
2
220
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Into the Great Unknown - MozCon
thekraken
33
1.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Invisible Side of Design
smashingmag
298
50k
Making Projects Easy
brettharned
116
5.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Building Adaptive Systems
keathley
38
2.3k
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 ͓͍Ͱ·ͤ·͙ͪ