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
Godot Game EngineでGUI作成
Search
Yoshiki Shibukawa
August 28, 2020
Technology
5.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Godot Game EngineでGUI作成
Yoshiki Shibukawa
August 28, 2020
More Decks by Yoshiki Shibukawa
See All by Yoshiki Shibukawa
あなたはContextの挙動を説明できますか?
shibukawa
0
1.8k
妄想Real World HTTP第二版
shibukawa
0
4.5k
Other Decks in Technology
See All in Technology
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
130
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
170
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
470
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
220
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.9k
現場のトークンマネジメント
dak2
1
190
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
310
5分でわかるDuckDB Quack
chanyou0311
3
250
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
The World Runs on Bad Software
bkeepers
PRO
72
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Docker and Python
trallard
47
3.9k
A Tale of Four Properties
chriscoyier
163
24k
How STYLIGHT went responsive
nonsquared
100
6.2k
Odyssey Design
rkendrick25
PRO
2
710
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The Curse of the Amulet
leimatthew05
2
13k
GraphQLとの向き合い方2022年版
quramy
50
15k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
Transcript
GodotでGUIアプリ作成 LT大会#10 Future Tech Summer! TIG 渋川よしき ゴドーと読みます
2 お前誰よ 渋川よしき 本田技術研究所:〜 2010年12月 DeNA:〜2017年8月 フューチャー(株):2017年9月〜 三女の父 著書 つまみぐい勉強法(共著)、
Real World HTTP第2版、Mithril、 Goならわかるシステムプログラミング 翻訳 エキスパートPythonプログラミング、 ソフトウェア開発スクラム、 ポモドーロテクニック入門、 アート・オブ・コミュニティ etc 好きな言語 JavaScript® / Go / Python プログラミング以外 インラインスケート@光が丘公園 アカウント github.com/shibukawa twitter.com/shibu_jp
3 今日、PyCon.jp 2020で発表してきました
ゲームエンジンと私 • 前職でngCoreというUSの会社が作ったゲームエンジン用にゲームのライブラリを 開発したり、ゲーム開発ツールを作ったり • 前々職で研修の自由研究で、pygameで有限要素法のシミュレーションを 実装してみたり • 趣味でUnreal Engineを触ったり
https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b ゲームエンジンでGUIアプ リケーション作るのが未来 というブログ
いま個人的に注目している4大ゲームエンジン Pros Cons Unreal Engine 4/5 写実的なグラフィックス CADや外部ツール連携最強 ノンゲームでは今のところライセンス料不 要
強力な開発環境必須(CPU/GPU) モバイルはUnityの方が強い Unity 3D モバイルの安定度No.1 アセットストア充実 うちの規模だとライセンス購入必須 Egret Engine HTML5ゲームが盛んな中国でシェア No.1で小さいランタイム BSD 英語・日本語情報少ない TypeScriptでパフォーマンス弱め Godot Game Engine MITで企業バックがない中では安定して 機能も多い 比較的小さいランタイムで、WASMで HTML対応も 外部ツール連携は弱い 他にも、EbitenとかDefoldとか
キーワード:ノンゲーム • ゲームエンジンだけどゲーム以外の用途 ◦ 映像制作 ◦ マンションの内覧のデジタル化(含む VR) ◦ 自動車などのデジタルカタログ
• ゲームエンジンのイベントには必ずセッションが作られるようになってきた
プレイアブル広告 • 最近増えてきた形態 • 全画面占拠し、ちょっとゲームを体験 ◦ 漫画を読ませるパターンも今週初めて見た • 動画広告の最後にこれに移行する組み合わせパターンも •
容量1MBでJSも画像や音もbase64で1ファイルのHTMLに全部押し 込む必要あり(Facebook広告の場合) ◦ HTML5専用ゲームエンジンの出番
エンプラ視点でみる用途別の選択 • それぞれ主力環境が異なる ◦ 50インチ超のモニターで見せる展示用の リアルタイムCGならUnreal Engine ▪ WebRTCストリーミング配信もできる! ◦
VR/ARやモバイルが主軸、一般コンシューマー にアプリ配布もあるなら Unity 3D ↑ ◦ Godot Game Engineはこの間ぐらい ↓ ◦ とにかくファイルサイズを小さくしたい、 1MB以下でプレイアブル広告での配信 ブラウザでの利用がメインなら Egret
Godot Game Engine
Godot Game Engine • OSSで開発されていて、MITで公開されているゲームエンジン ◦ 内部構造やAPIはよくあるプロ向けのゲームエンジンと同じようなアーキテクチャ ◦ 2Dも3Dも両方対応しており、 2D利用時のパフォーマンスが良い
◦ 4.0が近々リリースで、3Dの表現力も相当高まる予定 • 実装の言語選択は柔軟 ◦ PythonっぽいGDScriptがメインだが、Visual Scriptもあり ◦ 公式でC#対応のバイナリも配布しているのと、 C++APIがあり各種言語のバインディングも • IDEもGodot Game Engineを使って作られている ◦ 開発環境、ランタイム一式のダウンロードのサイズが 30MBほど ◦ ゲーム用のオブジェクトだけではなく、 IDEで使うようなUI部品も多数提供されている
https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b Godotのお話 もともと気になってい たが、GUIサポートが 手厚いのを知って今回 触って見た
プログラミングモデル • シーンを作り、それをインスタンス化 ◦ シーン=Javaでいうところのクラスのようなもの ◦ シーンはいくつかのノードが木構造になっている ◦ Javaと異なり、シーンエディタで最初からインスタンス化させておくことも可能 •
シーンやノードにスクリプト(GDScript、ビジュアルスクリプト)を付与 • シグナルでやライフサイクルメソッドでスクリプトを起動 ◦ 衝突、タイマー、GUIのボタンなどもシグナル ◦ スクリプトから他のノードの変数やメソッドにアクセス このあたりの仕組みはだいたいどのゲームエンジンも共通
普通のモバイルアプリっぽい機能 • GUIを作る機能は豊富に揃っている ◦ ツリービューやテーブルに使えそうなものも ◦ 日付のピッカーとウェブビューはない • 通信機能も ◦
HTTPRequest、WebSocket、WebRTC
ということで、作ってみました
某居酒屋注文タブレット風: 実質1.5日ぐらい(子供が寝たあと時間で)
JSONでメニュー情報流し 込んで表示 あと数行書けばウェブサー バーからメニュー配信もで きそう
オーダーリストをスライドイ ンアニメーションで もうちょい頑張ればオー ダーをサーバーへ送信する などもできそう
UI操作をビジュアル言語でカスタ マイズするのは楽しい 割り勘計算をやっています 偉い人と若い人で傾斜をつける 計算は要件の煮詰めが必要
ウェブに対するゲームエンジンの利点 • ブラウザ以外にも、Android/iOSネイティブ化、PCなどにも展開できる • スクロールの滑らかさ、応答性の良さ、タイミング、 うごきの滑らかさにフォーカスしてチューニングしやすい • (Godotは弱いが)外部のオーサリングツール(Digital Content Creation
Tool)で 作ったグラフィックやアニメーションをAs Isで取り込んでそのまま再生 • 秒間60フレームを超える描画も可能 ◦ iPad Proのような120フレームの機体ならそれにあわせて設定を向上できる
ビジュアル言語 • おもちゃのように見えるが、ゲーム業界でビジュアル言語は15年以上、実用的に使 われている ◦ プログラマー、アーティストという役職を分けるのではなく、全員がコミットできるようにするという設 計思想で、非プログラマーも使える言語として利用されている ◦ Unreal Engine
4では専業プログラマーであってもビジュアル言語だけで十分という人も増えている
学び方 • Packt Publishingから書籍1、ビデオ2が販売中 ◦ 書籍: Godot Engine Game Development
Project: 良い設計指標が盛り込まれている ◦ 動画: Game Development Project with Godot (3時間) ◦ 動画: Ultimate Godot Game Developer Projects (6.8時間) - 書籍の内容そのまま 3時間動画で学んだ後に 書籍を読むとよさそう • 個別のトピックは検索すると チュートリアル動画が出てくる
アフターコロナのニューノーマルの時代 • 直接販売のみでは販売機会が激減 • ECサイトは静的な写真のみ ◦ 小さいスマホの画面や PCの画面で伝わる情報量を増やす ◦ ゲームエンジンが行ってきたようなリアルへのこだわりをプラスで新たな付加価値を
◦ スクロールの気持ち良さなど操作性でも一歩先へ
例えばこういう演出 • パーティクル(粒子)エンジンで演出を強調 ◦ 光の効果、湯気 • ノーマル(法線)マップで光沢を強調→リアルタイムに動かす • バーテックス(頂点)モーフィングで柔らかさを強調 •
フォトグラメトリーを利用して3Dモデル化 ◦ 写真から3Dモデルを作る技法も最近増えてきた
まとめ • ゲームエンジンはエンプラとまったく違う進化をしてきたテクノロジー • Godot Game Engineで今までにないアプリ体験を ◦ 動きのあるデモ的な画面を素早く作ってみるとか ◦
動きのある実装は楽しい ◦ ゲームならではのオーバーリアル表現もプラスできる • 配布形態もさまざま ◦ Godotならモバイルアプリとしてはランタイムも小さく、 B2B2Cでも活用可能。WebAssemblyで配信 もできる ◦ 他のゲームエンジンならさらに多様( WebRTCで動画配信、ウェブ広告) • ビジュアル言語は何かオリジナルのを作ってみたいところ ◦ いろいろ業務でアイディアとか蓄積されてきたので今意欲が高まっている