ネイティブ・ブラウザ両対応の新しいゲームエンジンを作り始めました

UWE published on
2 min, 372 words

Categories: Lab

ネイティブとブラウザの両方の環境に対応した新しいゲームエンジンを作り始めました。描画の基本的な機能を使えるようになったので、お披露目しようと思います。

デモ

↑chrome (chromium)では問題なく動作していると思います。

firefoxではnightly版でのみ実行可能です。

使用している技術など

開発言語はc++です。rustが流行っていますが、私の経験値の少なさや、windows-rsなどrust向けのライブラリのインターフェイスの不安定さ、最近のc++の安全性への取り組みなどを考慮し、c++で開発することにしました。

グラフィックスの抽象化にWebGPUを使っており、ネイティブ版ではdawn、ブラウザ版ではemscriptenがc++に公開しているライブラリを使っています。

開発状況

やったこと

  • WebGPUでの各種バッファを扱えるようになる。
  • 開発者がスクリプトを実行したり、そのデバッグをしたりできる。
  • キーボード入力

これからやること

  • Unityで言うところのsceneやgameobjectなどの実装
  • エディタ
  • 描画機能いろいろ(カメラ、メッシュ、マテリアル、etc)
  • (その他無限にある様々)

まだゲームエンジンと呼べる代物では到底ないですが、これから機能を充実させていきます。