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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koji E. Kosugi
January 20, 2024
Programming
0
710
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
790
CRANへの道
kosugitti
0
170
sappoRo.R #12 初心者セッション
kosugitti
0
390
多次元展開法を用いた 多値バイクラスタリング モデルの提案
kosugitti
0
440
小杉考司(専修大学)
kosugitti
2
780
電子計算機のイロハ
kosugitti
1
1.7k
ベイズ統計学勉強会 2022年春合宿資料「はじめてのTeX」
kosugitti
2
8.7k
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
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1.2k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
210
へんな働き方
yusukebe
6
2.9k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
570
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
120
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
210
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
120
Java 21/25 Virtual Threads 소개
debop
0
290
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
180
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
430
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
220
Featured
See All Featured
Building Adaptive Systems
keathley
44
3k
Designing for Performance
lara
611
70k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Practical Orchestrator
shlominoach
191
11k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Designing Experiences People Love
moore
143
24k
The Pragmatic Product Professional
lauravandoore
37
7.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 ͓͍Ͱ·ͤ·͙ͪ