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
700
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
730
CRANへの道
kosugitti
0
160
sappoRo.R #12 初心者セッション
kosugitti
0
380
多次元展開法を用いた 多値バイクラスタリング モデルの提案
kosugitti
0
410
小杉考司(専修大学)
kosugitti
2
750
電子計算機のイロハ
kosugitti
1
1.7k
ベイズ統計学勉強会 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
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.3k
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
520
Basic Architectures
denyspoltorak
0
160
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
760
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
700
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
210
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
300
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
600
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.9k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
230
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Faster Mobile Websites
deanohume
310
31k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
44
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
59
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 ͓͍Ͱ·ͤ·͙ͪ