プログラミング
LittleJSが2Dと3Dに対応
LittleJS is 2D and 3D now (frankforce.com)
要約
軽量で依存関係のないHTML5ゲームエンジンLittleJSが、大幅なアップデートにより2Dと3Dの両方をサポートするようになりました。同じキャンバス上で2Dと3Dのゲームを自由に組み合わせられるほか、内蔵レベルエディタ、パーティクルエフェクトライブラリ、高速化されたコア、AI開発ツールなどが追加されました。これにより、より野心的で多様なゲーム開発が可能になります。
全文翻訳
LittleJSが2Dと3Dに対応
LittleJSが、ローンチ以来最大のアップデートを迎えました。これまで通り、小さく高速で依存関係のないHTML5ゲームエンジンでありながら、今ではフル3Dレンダラーも備え、2Dゲームとキャンバスを共有します。さらに、内蔵レベルエディタ、既製のパーティクルエフェクトライブラリ、はるかに高速化されたコア、そしてAIを使ったゲーム作成のための新ツールも追加されました。
同じエンジンで2Dと3D
これが一番の目玉です!メッシュとシェイプビルダー、コリジョンを備えた地形とボクセルマップ、シャドウマップ、カラーライトとスポットライト、フォグ、リフレクション、パーティクル、トレイル、カメラ、そしてあらゆるオブジェクトに対するカスタムシェーダー。3Dオブジェクトは、2Dと同じ物理演算、子要素、タイマーを持つ通常のLittleJSオブジェクトなので、両者は自由に混在します。例えば、3Dシーンの上に2D UIを配置したり、3Dワールドの中に2Dゲームを組み込んだりできます。レンダリングにThree.jsを好む場合でも、プラグインがあります!
2Dも充実しました。新しいダイナミックライティングシステム、一方通行プラットフォーム、スイープ弾衝突、パララックスレイヤー、そしてオブジェクト衝突パフォーマンスの改善が含まれます。
新ツール
レベルエディタ、2Dおよび3Dの両方がエンジンに組み込まれています。デバッグビルドでEscapeキーを押すとゲームが一時停止し、元に戻す機能、自動保存、プレハブ機能を使ってインプレイスでレベルを編集し、その後プレイできます。エディタガイドでは、独自ゲームのエディタとしてそれらを作成する方法を示しています。2DレベルはTiled JSONとしてロード・保存されます。
パーティクルエフェクトライブラリ。火、煙、火花、爆発、雨など、それぞれが1行で表現できます。particleEffect('fire', pos)。2Dでも3Dでも。各エフェクトはスケール、色相、彩度を取り、パーティクルデザイナーがそれらを微調整したり、新しいものを作成したりします。ほとんどのゲームではこれ以上のものは必要ないでしょう。
サンプルブラウザには100以上の短いサンプルがあり、それぞれが単一のファイルで、何を示しているか、どのように機能するかを説明しており、ライブ編集と共有ボタンが付いています。これはエンジンを学ぶのに最適な場所です。
さらに高速に
レンダリングコアが再構築されました。WebGL2でのバッチ処理2Dスプライト、インスタンシング3D描画、そして描画ごとのオーバーヘッドが大幅に削減されました。測定するために、WebGL Engine Benchを構築しました。これは、LittleJS、PixiJS、Three.js、PlayCanvas、Phaser、Babylon.jsを通して、同じ2つのシーン(移動するスプライトとライト付きキューブ)を60fpsで実行し、各エンジンが保持できるオブジェクト数を報告します。私のマシンでは、LittleJSは他のエンジンの最速パスに匹敵し、いくつかの点でそれらを上回りました。これは1台のマシンと2つのワークロードなので、ご自身のマシンでも実行してみてください。インストール不要でブラウザで動作し、他のエンジンメンテナーからの結果やシーンの改善も歓迎します。
AIのために作られた
LittleJSは、小さく、よく文書化されたAPIを持ち、全体が1つのリファレンスファイルに収まっています。これはコーディングAIが得意とするところであり、人間が読みやすいのと同じ理由です。そのため、現在は最優先事項となっています。LittleJS AIツールキット:あらゆるコーディングAI(Claude Code、Copilot、Codex、Cursor)向けのスターターテンプレート、ヘルパーモジュール、エージェント指示。Claude Codeプラグインは2つのコマンドでインストールされます。ゲームをリクエストすると、エンジンを含んだ完全でプレイ可能なプロジェクトが得られ、サーバーもnpmインストールも不要なファイルから開くことができます。エンジンがすでにレンダリング、入力、物理演算、オーディオを行っているため、AIの労力はゲームに注がれます。LittleJS GPTは、コードなしでChatGPT内でゲームを作成します。LittleJS Arcade:このようにして作成された50以上の小さなゲームはすべてオープンソースで、スターターとして利用可能です。
なぜか?
LittleJSは常に汎用エンジンとして、私がすべてのゲームに使用できることを意図していました。コアを小さくシンプルに保つことが、エンジンを学びやすく、実行を速くすることになるため、意図的に小さく始めました。js13kがその証明の場でした。それ以降のすべてのものは、そのコアの上に構築されてきました。人々はそれを使ってますます野心的なものを作りたいと思うようになり、彼らが最も求めていたのは3Dとツールでした。3D側が2D側と全く同じように感じられるようにしたかったのです。同じオブジェクト、同じループ、同じ小さなAPIで、後から付け足された別のフレームワークではありません。
もう一つの理由はコミュニティです。LittleJSはもはや一人だけのプロジェクトではありません。エンジンの修正、プラグイン、サンプル、そして多くのゲームが他の人々から来ており、エンジンを前進させる最良の方法は、人々がそれを使って何かを作ることです。第3回LittleJS Game Jamが現在(10月2日から11月2日まで)開催中です。ぜひ何か作りに来てください!
試してみてください!
サンプル
ドキュメント
GitHub
Discord
新しいウェブサイトlittlejsengine.comは、これらのすべてをデモしています。エンジン上で実行される、すべての機能を巡る列車旅行です。読んでくれてありがとう!プロジェクトが気に入ったら、GitHubでスターを付けてください。🚂
共有:
Xで共有 (新規ウィンドウで開く) X
Facebookで共有 (新規ウィンドウで開く) Facebook
Redditで共有 (新規ウィンドウで開く) Reddit
LinkedInで共有 (新規ウィンドウで開く) LinkedIn
いいね:
いいね
読み込み中…
関連
Frank 10.12.26
ゲーム開発
javascript, littlejs
コメントを残す返信をキャンセル
このサイトはスパムを減らすためにAkismetを使用しています。コメントデータの処理方法を学ぶ。
前