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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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.9k
妄想Real World HTTP第二版
shibukawa
0
4.6k
Other Decks in Technology
See All in Technology
ハーレムエンジニアリング
kazuma777777
0
180
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
250
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
LanceDB入門
mocobeta
8
580
My broken English still works: speaking at global OSS events
naruoga
0
110
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
840
AIのためのEthernet技術動向 (SerDes)
markunet
1
170
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
430
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
630
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
940
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
540
How to build a perfect <img>
jonoalderson
1
5.9k
How STYLIGHT went responsive
nonsquared
100
6.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Speed Design
sergeychernyshev
33
2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
770
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で動画配信、ウェブ広告) • ビジュアル言語は何かオリジナルのを作ってみたいところ ◦ いろいろ業務でアイディアとか蓄積されてきたので今意欲が高まっている