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
frontend-conference-KANSAI-2026
Search
Chinen
October 12, 2026
Programming
14
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
frontend-conference-KANSAI-2026
フロントエンドカンファレンス関西2026の登壇資料です。
https://2026.frontend-conf.osaka.jp/
Chinen
October 12, 2026
More Decks by Chinen
See All by Chinen
v-okinawa meetup vol.11 / CMSでゲーム開発を効率化する
chinen
1
63
MTDDC Meetup TOKYO 2024 / フロントエンドエンジニアの成長に繋がるCMS設計
chinen
0
230
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
3.3k
MTDDC Meetup TOKYO 2023
chinen
2
460
Nuxt 3でJamstackテンプレートを作るときの考え方
chinen
3
2.4k
WWDC2023-Recap-LT
chinen
1
210
Web Push対応状況2023
chinen
0
660
技術記事が書けない人はGPTに背中を押してもらおう
chinen
2
310
Three.jsで3Dぷわんを動かす / PWA Night vol.46
chinen
0
290
Other Decks in Programming
See All in Programming
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
140
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
500
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
200
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Docker and Python
trallard
47
4.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Amusing Abliteration
ianozsvald
1
350
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Transcript
Figmaをゲームエディタに! コードを書かなくてもSPAゲーム制作に 参加できる仕組み 2026/10/12 まぁし / 知念
「カミとミコ」で検索 ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
ゲーム画面デモ
株式会社TAM/TAMTO:フロントエンドエンジニア 兼 個人事業主 知念 昌史 / まぁし X@chocodogmagic • 沖縄在住・フルリモートのWebエンジニア
• Nuxt / React / Next.js / セマンティックHTML / PWA / アクセシビリティ • コミュニティ運営:v-okinawa(沖縄)/ MT東京(東京) • おはようエンジニア #ohayo_engineer(たぶん4年くらい) ◦ • Xスペースで平日9時〜Web関連のラジオ発信中、フォローしてね ゲーム好き ◦ ポケモン チャンピオンズ 1750 もっとがんばりたい ◦ スプラトゥーン 最高XP2050
開発体制 謎解き・脚本 シナリオ・キャラクターデザイン 石田芙月 ドット絵デザイン シナリオ・品質管理 担当が分かれている UI/UX・開発
変更を都度エンジニアが対応するのは時間がかかる 表情のパターンを変えて試したい、セリフを変えたい HTML修正 → ビルド → デプロイ → ブラウザで表示確認 ※ストーリーや謎解きに影響するので微調整を繰り返す
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
このゲームは物語と謎解きでできている 赤坂アカさんのボーイミーツガールな物語と世界の発展 x SCRAP加藤さんのリアル脱出ゲームで培った謎解きのおもしろさ 1. プロットを作る 2. 謎を作る 3. ユーザーになってプレイしてみる
4. 謎とシナリオの組み合わせをブラッシュアップ 5. プロットを見直して1からやり直す
開発方針:全てをCMSで更新できる
コンテンツ修正から表示確認までの流れ 1. シナリオ担当がセリフやシーンをmicroCMSで調整 2. コンテンツ保存時に、microCMSからWebhookでVercelビルド開始 ※一般的なWebサイトをCMSで更新するときと同じ手順 Webhook シナリオ担当 謎作成の担当 検証環境へデプロイ
build エンジニア ロジック変更
環境構成 開発環境 本番環境 React + React Router + Vite SPAビルド
→ S3で配信 microCMS・Vercel・Supabaseで staticなファイルのみ 都度更新・デバッグできる状態に APIリクエストしない
どうやって作るか Webブラウザで遊べるゲーム(Chrome・Safari・Edgeなど) • パソコンやスマートフォンのWebブラウザで動く • アプリのダウンロードが不要で、ゲーム機を持っていなくても遊べる Webサイトと同じ技術・言語で動く • HTML •
CSS • JavaScript
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
右画面のモブキャラクター達の配置 タップ・クリックで会話 (クリック範囲が必要) 背景と切り分けて一つずつ 画像にする (ぴょこぴょこ動くアニ メーション) マップ内を歩いて移動する • HTMLでどう表現するか
• CMSで更新できるか ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
座標で管理する
モブキャラクターのX・Y座標をCMS管理 <Motion.div initial={x: 421, y: 108} animate={x: 421, Y: 138}
transition={...} > <img src=”...” alt=”子供”> </Motion.div> 初期位置、移動後の位置をX・Y座標で指定し、 CSSのtransformでアニメーションで動きを再現する(663人?!)
キャラクター配置を効率よく管理したい
さらに 数値だけで位置をイメージするのは難しい
Figmaのデザインレイアウトで配置する デザイン編集でドラッグ &ドロップで視覚的に 位置を決める ※開発中の画面を含みます ©SCRAP / 赤坂アカ / SHUEISHA,
SHUEISHA GAMES
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
Figma用のプラグインを作成 1. Figmaのフレームからチャプター・パート 情報を取得、レイヤーからインスタンスの 画像情報や座標を取得 2. 取得した画像ファイルをmicroCMSにPOST でアップロードし、URL取得 3. 上記データをmicroCMSのスキーマに合わ
せて整形し、公式SDKでCMSヘ登録 ボタンひとつで実行 ※開発中の画面を含みます ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
デモ
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
コンテンツ修正から表示確認までの流れ 1. シナリオ担当がセリフやシーンをmicroCMSで調整 2. コンテンツ保存時に、microCMSからWebhookでVercelビルド開始 ※一般的なWebサイトをCMSで更新するときと同じ手順 Webhook シナリオ担当 謎作成の担当 検証環境へデプロイ
build エンジニア ロジック変更
コンテンツ修正から表示確認までの流れ 1. シナリオ担当がセリフやシーンをmicroCMSで調整 2. コンテンツ保存時に、microCMSからWebhookでVercelビルド開始 ※一般的なWebサイトをCMSで更新するときと同じ手順 データ取り込み シナリオ担当 Webhook 謎作成の担当
検証環境へデプロイ build エンジニア ロジック変更
CMSで扱えるようにデータを設計する コードがわからない人でも変更・更新できるようにする ① ② 1. 背景 2. 立ち絵 3. 話者
4. メッセージ ③ ④ ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
CMSを利用して画面を更新する microCMSを使用 → APIでデータのみを扱うHeadless CMS ©SCRAP / 赤坂アカ / SHUEISHA,
SHUEISHA GAMES
CMS管理画面 ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
ReactコンポーネントにCMSのデータを渡す ©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
パート分け 会話パート 謎解きパート 他にも動画パートやチュートリアル、ミッションクリア、 エンディング、独自パートなど画面構成ごとにパートを分ける ©SCRAP / 赤坂アカ / SHUEISHA,
SHUEISHA GAMES
紙芝居システム
ゲーム進行の基本的な流れ(ロジック) 一つの章(チャプター)の中でパート進行があり、章ごとにストーリーが進む チャプター 開始 オープニング 動画・ドラマ 会話パート チャプター エンディング すべての謎
クリア ミッション 謎解きパート 会話パート 正解・不正解 フラグを立てて 次のチャプターへ 特殊な要素があるユニーク章は個別に実装 ※エンジニアはここに注力
シナリオやセリフ・画像素材を 自由に変更できることで 試行回数を増やす ↓ ゲームの品質を上げる
ほぼ全てのコンテンツをCMSで管理 • 登場キャラクターのセリフ • ミッション • 謎解きの正解・不正解・ヒント • 背景やキャラクター画像 •
モブキャラクター情報、移動ルート • ストーリーの場面管理(進行順やフェードイン、ポーズ時間、自動進行など) • ストーリーのフラグ管理 CMS管理していないものもある • 独自操作のパート、最終章の演出、エンディング分岐など
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
ミコの表情・ポーズ組み合わせモンタージュアプリ
デバッグツール • 任意の章・パートを行き来できる、進行状況の保存、共有(リストア) • 扱っているデータの情報を確認できる • キャラクター配置の座標をコンポーネント名を表示する ©SCRAP / 赤坂アカ
/ SHUEISHA, SHUEISHA GAMES
©SCRAP / 赤坂アカ / SHUEISHA, SHUEISHA GAMES
まとめ
これらのツールは 最初から設計していたわけではない
まとめ 動く状態で試してフィードバック、これを繰り返して品質を上げるゲーム開発 • ほぼすべてのコンテンツをCMSで更新できる仕組みを作る • 数値だけではイメージが難しい座標はFigmaから取り込む • 動作チェックや不具合調査の時間短縮のためのデバッグツールを作る ゲームが動く枠となる箱や道具があることで全職種がゲーム作りに取り組める チーム全員でゲーム作りをするための開発
より効率的に開発できないか、 納期への影響を抑えながら クオリティを上げたい 開発しながら考え続けた結果
ご清聴、ありがとうございました! X(旧Twitter) まぁし@chocodogmagic 平日9:00〜スペースでWeb情報発信中! Web制作/Webアプリ開発の相談ください!
エンジニア・ディレクター採用してます!! フリーランス・転職でお仕事探してる方も声かけて! https://www.tam-tam.co.jp/