20 ポイント 投稿者 GN⁺ 2025-04-19 | 2件のコメント | WhatsAppで共有
  • 軽量かつ高性能な2D中心のゲームエンジンで、3D機能にも対応
  • Luaスクリプトベースでゲーム全体のロジックを制御し、高速ビルドとホットリロードで開発速度を向上
  • 無料で提供され、ライセンス費用やロイヤリティは不要
  • クロスプラットフォーム対応が強力で、1回の開発でさまざまなプラットフォームに配布可能
  • シーンエディタ、GUIツールなどアーティストフレンドリーなツールを備え、ビジュアル制作のしやすさを強化
  • C/C++などのネイティブ拡張や多様なSDK連携により、拡張性と実運用への適用が可能

Defoldの主な機能

  • インストール不要: インストールや設定なしですぐに使える
  • ビジュアルおよびコードエディタ: 視覚的なエディタとコードエディタで創造的な作業が可能
  • Luaデバッガ: Luaスクリプトをデバッグできるツールを提供
  • シーンおよびパーティクルエディタ: 2Dおよび3Dゲーム開発向けの多様なエディタを提供
  • 費用なし: 初期費用、ライセンス費用、ロイヤリティ、ランタイム費用が不要

クロスプラットフォーム対応

  • 多様なプラットフォーム: PlayStation、Nintendo Switch、Android、iOS、macOS、Linux、Windows、Steam、HTML5、Facebookなど主要プラットフォームへゲームを配布可能
  • 外部ツール不要: 外部ツールなしで、1つのコードベースからすべてのプラットフォームに対応

2D中心、3Dにも対応するエンジン構成

  • Defoldは2Dゲーム開発に最適化されている一方、3D機能も内蔵
  • コンポーネントベース設計により、性能とモジュール性を強化
  • 2Dコンポーネント: 2Dスプライト、Spineモデル、タイルマップエディタ
  • 3Dコンポーネント:
    • 3Dモデルおよびアニメーションの読み込み
    • 実行時の3Dメッシュ生成と修正
    • カスタムマテリアルとGLSLベースのシェーダー
  • パーティクル効果
    • リアルタイムプレビュー対応のパーティクルエディタ
    • カーブエディタによるパラメータ調整
    • 2D/3Dパーティクルエミッタ対応

アニメーション機能

  • スプライト、モデル、GUIなどで使える強力なアニメーションシステム
  • フリップブックアニメーション: スプライト、GUIノード、パーティクルに使用
  • Spineおよびモデルアニメーション
    • ブレンディング対応
    • キーフレームイベント処理
    • 逆運動学の適用やスクリプト制御が可能
  • プロパティアニメーション
    • すべてのスプライトおよびGUIプロパティをアニメーション可能
    • カスタムスクリプトベースのプロパティアニメーション
    • カスタムまたは事前定義されたイージング関数を使用

アーティストフレンドリーなツール

  • GUIエディタ
    • テキスト、画像、パイノードなどのレイヤー構成
    • クリッピングおよびマスク機能
    • 自動レイアウトと画面向き切り替えに対応
    • 9スライステクスチャ、ビットマップ/距離フィールドフォント
    • テンプレートを活用したUI要素の再利用が可能
  • シーンエディタ
    • アセットの組み立てと配置のためのビジュアルエディタ
    • プレハブベースのゲームオブジェクト構成
    • 階層構造によるオブジェクトのグループ化

物理シミュレーション

  • Box2D、Bulletベースの2D/3D物理エンジンを完全統合
  • 静的/動的/キネマティックオブジェクト
  • 形状ベースの衝突およびレイキャスト検出
  • タイルマップの高精度な衝突検出
  • トリガー、ジョイント、モーター対応

すべてLuaスクリプトで実現可能

  • Luaスクリプト
    • コードエディタ、構文ハイライト、自動補完、LSPを含む
    • デバッガ内蔵で変数の確認が可能
    • レンダリングパイプラインを完全にスクリプト化可能
    • Teal言語による型指定が可能
  • リアクティブなコードスタイル
    • リアクティブスタイルのLuaをサポートし、高性能を維持
    • ゲームオブジェクト間の非同期通信構造

クロスプラットフォーム対応

  • 真のクロスプラットフォーム
    • 同一コードベースからワンクリックで配布
    • Steam、Facebook Instantなどは拡張で対応
    • エディタはmacOS、Windows、Linuxをすべてサポート
    • XcodeやAndroid Studioがなくてもモバイル配布が可能
    • WebGL、OpenGL、Vulkan、Metalに対応
  • 非常に軽量
    • 使用したアセットのみを含める自動リソース管理
    • スプライトアトラスのパッキング
    • プラットフォーム別のテクスチャ圧縮設定が可能
    • レンダーパイプラインでの動的バッチ処理

性能と安定性

  • 他のエンジンよりはるかに小さいバイナリサイズ
    • Unity 6、Godot 4.3と比べて約10%のバイナリサイズ(Android、iOS、HTML5、Windowsすべて)
  • 優れた性能
    • 数万個のオブジェクトをレンダリング可能(例: Bunnymark)
    • 古いハードウェアやモバイルブラウザでも快適に動作
  • Stable版
    • 4週間のリリースサイクル、2週間のベータ期間を含む
    • 下位互換性を壊す変更はほとんどない
    • エンジンクラッシュは非常にまれ

高速なワークフロー

  • ホットリロード
    • アセット/ロジックをリアルタイムで反映
    • ワイヤレスデバイスのホットリロードおよびデバッグに対応
    • Luaフックを通じたカスタムリロード処理が可能
  • カスタムワークフロー
    • 独立したビルドパイプラインを利用可能
    • CIと統合されたヘッドレスビルドに対応
    • プロジェクト間でライブラリを共有可能
    • 公式およびコミュニティ資産を含むAsset Portalを運営
    • すべてのデータはテキストファイルで管理され、マージしやすい
  • ビルドおよびリファクタリング
    • HTML5を含むすべてのビルドが数秒で完了
    • 非同期および同期ローディングに対応
    • 自動アセットリファクタリング
  • 最適化およびデバッグ
    • リアルタイムのビジュアルプロファイラ
    • リモートのWebベースフレームサンプリング
    • ゲーム映像のキャプチャが可能
    • ネイティブクラッシュログAPIを提供

ネイティブ拡張で機能追加

  • C、C++、ObjectiveC、Java、JavaScriptでDefoldエンジン機能を拡張可能
  • クラウド上でユーザー向けのカスタムエンジンを自動生成
  • 活用例
    • 高性能な演算およびデータ処理
    • モバイルカメラなどハードウェアへのアクセス
    • 広告、分析など外部SDKとの連携

実運用とサードパーティ統合

  • Defoldは実運用向けゲームエンジンとして、信頼性のあるSDK統合を提供
  • プッシュ通知: Google、Apple
  • アプリ内課金: Google、Apple、Amazon、Facebook
  • ゲームサービス: Facebook SDK、Google Play、Firebase
  • 広告: AdMob、IronSourceなどのメディエーションに対応
  • ネットワーク: WebSockets、Nakama、PlayFab、Colyseusなど
  • さらに多くの拡張はAsset Portalで確認可能

なぜDefoldなのか?

  • Defoldはあらゆるゲームに最適だとは主張しない
  • しかし、一部のゲームにとっては最良の選択肢になり得る
  • 開発生産性、軽量性、クロスプラットフォーム、高速な反復作業などで特化した強みを持つ

2件のコメント

 
viel214 2025-04-21

単なる Lua ではなく LuaJIT なので、非常に高速です。

 
GN⁺ 2025-04-19
Hacker News のコメント
  • 彼らは興味深いライセンスの解決策を選んでいる。オープンソースではなく、ソースアベイラブルライセンスと呼んでいる点が気に入っている

    • エンジンに独自の変更を加えることができ、それを公開する必要がない(GPL とは異なる)
    • エンジンで作ったゲームは自由に収益化でき、おとり商法や方針転換がないという保証を提供している
    • Apache 2.0 ではない理由は、ゲームエンジン自体を収益化できないからである
    • 公平で慎重に検討されたもののように見える。チームに賛辞を送りたい
  • 「ソースアベイラブル」と呼び、「オープンソース」という言葉を誤用していない点を高く評価する。Apache ベースのライセンスに追加された内容を強調しているのも良い

  • Defold には愛着がある。ゲーム開発分野では独特だ。たとえば、内蔵 GUI エディタは Clojure で書かれている

    • スウェーデンのゲーム開発スタジオから始まったと理解している(King かもしれない)
    • コンソール向けプラットフォームのビルド/リリースツールはゲーム開発者に費用がかかることがある。プラットフォーム SDK 自体が制約を課しているためだ
    • Defold の組織は、ライセンスなどの面でゲーム開発者に対して公正であろうと真剣に努めているように見える
  • Defold はかなり前から存在している。なぜ今これがメインページに載っているのか分からない。いずれにせよ Defold は良い。コミュニティやドキュメントなどは Godot と比べるとやや弱い

    • 別の選択肢としては MonoGame(Stardew Valley はこれで作られている)や、Unity、Unreal のような大手エンジンがある
    • どれだけ学習に投資するか、欲しい機能セット、考慮すべきトレードオフやプラットフォーム、使いたいプログラミング言語/スタイルによって大きく変わる
  • Unity が初めて登場したときの感覚を覚えている。これは何か大きなものになるかもしれない、という感じだった

    • これもそれに似た感覚がある。チームが良いものを持っていることは、コミュニケーションや言葉遣いの姿勢から分かる
    • 現時点でマルチプラットフォームへのエクスポートが非常に包括的である点は大きい。Godot の最大の障害の一つはコンソール対応だった
    • 唯一の不満は Lua しかサポートしていないことだった。C# だったらもっと興味を持っていたと思う。ただ、少なくとも一部のエンジンのように C++ 全体を再コンパイルする必要はない
  • 関連する進行中の投稿がある。このエンジンを使って、60k LOC の Lua で書かれたゲームについてのものだ

  • Nixpkgs には入っていないことに気づいた

  • 機能面で Godot とのより深い比較を見てみたい。少なくとも 3D 機能については、後者のほうがはるかに進んでいるように思える

  • 数年前にこのエンジンを追っていた。King が作ったゲームエンジンで、彼らが自前で投資しなくなったあと自由に公開された

  • Löve 2D と比べて、IDE が付属していること以外にどう違うのか気になる。Defold はより多くのプラットフォームをサポートしているようだが、さまざまなコンソール向けにゲームをパッケージ化するには、かなり非公開の依存関係を伴うことがある