Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rubyでゲームを作りたい
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
matsudai
June 24, 2026
59
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyでゲームを作りたい
engineer unite meetup vol.11
https://enun.connpass.com/event/395886/
matsudai
June 24, 2026
More Decks by matsudai
See All by matsudai
SmTでRaspberry Pi Picoを動かす
matsudai
0
100
Ruby × 車 (その後) ~課題:オフライン対応~
matsudai
0
72
Ruby × 車 ~ 愛車のデータを取得せよ! ~
matsudai
2
290
流行れ! AI Tuber!
matsudai
0
170
Islands on Rails !!
matsudai
0
80
Rubyで動かす検索機能
matsudai
0
180
ruby.wasmが簡単にビルドできるようになっていた
matsudai
0
190
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Music & Morning Musume
bryan
47
7.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Abbi's Birthday
coloredviolet
3
9.9k
30 Presentation Tips
portentint
PRO
1
390
How to Think Like a Performance Engineer
csswizardry
28
2.8k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
KATA
mclloyd
PRO
35
15k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
Transcript
Rubyでゲームを作りたい Three.jsをRubyから使う Fujihara Katsutoshi (@__matsudai__) 2026-06-24 engineer unite meetup vol.11
自己紹介 名前: matsudai / ふじはら 松江でソフトウェアエンジニアをやっています。 業務ではWebアプリ開発(バックエンド)が中心。 個人的に松江高専さんの課外活動のお手伝いなど。
(前回)AI Tuber/AIアバター
None
インターネットでの配信プラットフォームから誕生した「Youtuber」「VTuber」 Hikakin https://www.youtube.com/hikakintv KizunaAI https://www.youtube.com/channel/UC4YaOt1yT-ZeyB0OmxHgolA 2007年~ Youtuber ニコ生 2016年~ バーチャルYouTuber
(VTuber)
インターネットでの配信プラットフォームから誕生した「Youtuber」「VTuber」 → AIの進化による新しい形? Hikakin https://www.youtube.com/hikakintv KizunaAI https://www.youtube.com/channel/UC4YaOt1yT-ZeyB0OmxHgolA AI Tuber? 2007年~
Youtuber ニコ生 2016年~ バーチャルYouTuber (VTuber)
「中の人」なしで活動(配信・チャットなど)するキャラクター Ani (Grok) https://grok.com/ani Neuro-sama https://vedal.ai/ Twitch フォロワー 95.9万人 紡ネン
https://tsumuginen.com/ YouTube チャンネル登録者数 10.1万人
キャラクター性をもとに、話題やコメントに対して思考 デジタルアバター・合成音声などで発信 紡ネン https://tsumuginen.com/
(デモ画面)
前回のデモ環境: ・ローカル環境でLLM APIと、音声変換APIを立ち上げ → Railsで統合・プッシュ送信で紙芝居 再生環境 配信アプリ (画像やキャラ設定管理) LLMで思考 音声合成
API (Claude Agent SDK) HTTP
課題
課題: 単純なクライアント ・ポーズ、セリフなどはサーバーから送信 ・クライアントは一般的なHTML/JS/CSS → 複雑なポーズ(3Dモデルを動かす)などの対応が難しい 再生環境 配信アプリ (画像やキャラ設定管理) LLMで思考
音声合成 API (Claude Agent SDK) HTTP
課題: 単純なクライアント ・ポーズ、セリフなどはサーバーから送信 ・クライアントは一般的なHTML/JS/CSS → 複雑なポーズ(3Dモデルを動かす)などの対応が難しい 再生環境 配信アプリ (画像やキャラ設定管理) LLMで思考
音声合成 API (Claude Agent SDK) HTTP 素のHTML/JSでなく 描画ライブラリが欲しい (でもゴリゴリ書くのはイヤ)
Ruby.wasm + Three.js
Three.js JavaScriptの3Dライブラリ WebGLによる軽量・高速な3Dレンダリングを簡単に実装できる https://threejs.org/
Ruby.wasm CRubyのWebAssembly(WASM)ポーティング Webブラウザ上で動作して、JavaScriptを呼び出すこともできる https://try.ruby-lang.org/playground/ https://github.com/ruby/ruby.wasm
課題へのアプローチ: アプリケーションコードはRubyで統一 ・描画はThree.jsで2D/3Dゲームが作れる程度の自由度 ・ブラウザとサーバ間の通信はJavaScript(WASMの制約) → 3Dモデルの利用や、ブラウザ側での描画制御が可能 配信アプリ (画像やキャラ設定管理) HTTP ・・・
・・・ 再生環境 描画アプリ 描画・通信ライブラリ
デモ 今回は簡単な2D/3Dゲームが作れるよ、という程度 🙇 https://trs.matsudai.net/
まとめ・今後の予定: ・今回はThree.jsによるリアルタイム描画・制御をRubyで実装する例 ・今後は汎用的なゲームライブラリとして成長させつつ、 AIアバターに3Dモデルでの表現力を搭載することを目指す 配信アプリ (画像やキャラ設定管理) HTTP ・・・ ・・・ 再生環境
描画アプリ 描画・通信ライブラリ