Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Godot Game EngineでGUI作成

Godot Game EngineでGUI作成

Yoshiki Shibukawa

August 28, 2020
Tweet

More Decks by Yoshiki Shibukawa

Other Decks in Technology

Transcript

  1. 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
  2. いま個人的に注目している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とか
  3. プレイアブル広告 • 最近増えてきた形態 • 全画面占拠し、ちょっとゲームを体験 ◦ 漫画を読ませるパターンも今週初めて見た • 動画広告の最後にこれに移行する組み合わせパターンも •

    容量1MBでJSも画像や音もbase64で1ファイルのHTMLに全部押し 込む必要あり(Facebook広告の場合) ◦ HTML5専用ゲームエンジンの出番
  4. エンプラ視点でみる用途別の選択 • それぞれ主力環境が異なる ◦ 50インチ超のモニターで見せる展示用の リアルタイムCGならUnreal Engine ▪ WebRTCストリーミング配信もできる! ◦

    VR/ARやモバイルが主軸、一般コンシューマー にアプリ配布もあるなら Unity 3D ↑ ◦ Godot Game Engineはこの間ぐらい ↓ ◦ とにかくファイルサイズを小さくしたい、 1MB以下でプレイアブル広告での配信 ブラウザでの利用がメインなら Egret
  5. 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部品も多数提供されている
  6. プログラミングモデル • シーンを作り、それをインスタンス化 ◦ シーン=Javaでいうところのクラスのようなもの ◦ シーンはいくつかのノードが木構造になっている ◦ Javaと異なり、シーンエディタで最初からインスタンス化させておくことも可能 •

    シーンやノードにスクリプト(GDScript、ビジュアルスクリプト)を付与 • シグナルでやライフサイクルメソッドでスクリプトを起動 ◦ 衝突、タイマー、GUIのボタンなどもシグナル ◦ スクリプトから他のノードの変数やメソッドにアクセス このあたりの仕組みはだいたいどのゲームエンジンも共通
  7. ウェブに対するゲームエンジンの利点 • ブラウザ以外にも、Android/iOSネイティブ化、PCなどにも展開できる • スクロールの滑らかさ、応答性の良さ、タイミング、 うごきの滑らかさにフォーカスしてチューニングしやすい • (Godotは弱いが)外部のオーサリングツール(Digital Content Creation

    Tool)で 作ったグラフィックやアニメーションをAs Isで取り込んでそのまま再生 • 秒間60フレームを超える描画も可能 ◦ iPad Proのような120フレームの機体ならそれにあわせて設定を向上できる
  8. 学び方 • Packt Publishingから書籍1、ビデオ2が販売中 ◦ 書籍: Godot Engine Game Development

    Project: 良い設計指標が盛り込まれている ◦ 動画: Game Development Project with Godot (3時間) ◦ 動画: Ultimate Godot Game Developer Projects (6.8時間) - 書籍の内容そのまま 3時間動画で学んだ後に 書籍を読むとよさそう • 個別のトピックは検索すると チュートリアル動画が出てくる
  9. まとめ • ゲームエンジンはエンプラとまったく違う進化をしてきたテクノロジー • Godot Game Engineで今までにないアプリ体験を ◦ 動きのあるデモ的な画面を素早く作ってみるとか ◦

    動きのある実装は楽しい ◦ ゲームならではのオーバーリアル表現もプラスできる • 配布形態もさまざま ◦ Godotならモバイルアプリとしてはランタイムも小さく、 B2B2Cでも活用可能。WebAssemblyで配信 もできる ◦ 他のゲームエンジンならさらに多様( WebRTCで動画配信、ウェブ広告) • ビジュアル言語は何かオリジナルのを作ってみたいところ ◦ いろいろ業務でアイディアとか蓄積されてきたので今意欲が高まっている