きゅぶろぐ

きゅぶんずの ぶろぐができて べんりだな

きゅぶんずの考えた最強のゲームエンジン・・・のプロトタイプ版、Aprot構想メモ

ぼくのかんがえたさいきょうのゲームエンジンについて語ります。
まだ何も動いていません。
ここに書いてあることは全て妄想です。

ちなみに、ゲームエンジンって言ってますが、描画とかのことはあまり興味ないのでUnity上で動かす予定。
Unity上で動くフレームワークとでも言ったほうが良いのだろうか、まあ細かいことは気にせずに。

リポジトリだけはあります。

百聞は一見にしかず

Aprotのプロトタイプ版、Aprotprotの動画です。
(今はこのコードは全て消し去って1から書き直しています。理由はこのあたりのツイート

コンセプト

コードを書いてから挙動確認までをとにかく素早く回せるフレームワーク

RE ENGINEの発表の言葉を借りると、ラピッドイテレーションというやつです。
動画からわかる通り「コードを保存してから、実機で実行されるまで1秒未満」を目指しています。
そのためなら、実行速度を犠牲にしてもやむなし。というのが商用エンジンには出来ない利点でしょうか。
重いゲームは作れません。
割り切りが重要。

自分は今まで、なんやかんや色んな言語でゲームを作ってきました。
そして、「ああ、10年後のPCスペックなら一瞬でビルド終わって、コード書いてから確認までの時間が短くなるんだろうなぁ」と思っていました。

が、ゲーム作り始めて10年経っても、コード書いてから確認までの時間は一向に短くなりません。
不思議ですね。

この世界、基本的に遅すぎるんですよね、なんでみんな耐えれるんだろう。という話は長くなるのでまた今度。

Aprot 名前の意味

はじめに書いたとおり、「最強のゲームエンジンのプロトタイプ版」なのでプロトタイプのProtが付いています。
そんな高級にする予定もないので「プロトタイプを作るのにちょうど良いエンジン」の意味もこもっています。
最初から完璧を求めると完成しないのはよく知っているので、まずはプロトタイプから。

頭のAは、「速さを求めている」ので、アルファベットの中で一番早いAをつけています。
後から、AcceleratedのAってことにしました。(GitHubのDescriptionに書いてある。)

なにが出来るの?

以下、妄想です。実現出来るかは知りません。

  • コードを書き換えてから実機に反映されるまでが1秒未満
  • 状態を維持したまま、コードのホットリロードが可能
  • フレームの状態をセーブ/ロード可能
    • エラーを吐いた1フレ前の状況を保存しておいて、コード治したらすぐ再現出来る
    • 穴に落ちちゃったから5秒前の状態に戻ろう、が出来る
    • いつでも前のフレームに戻れる
    • ぶっちゃけこれがめちゃくちゃ便利だと思う。いつでも好きな状態を保存して、いつでも引き出せる、メモリがある限り出来る。
    • switchのファミコンソフトの巻き戻し機能みたいなイメージ
  • 個人的にめちゃくちゃデカイのは、ビルドが速いのに型がちゃんとあるところ
  • 他、思い出したら書く

プレイモードから抜けずにゲームが完成する

いつでもコードが状態を維持したままホットリロード出来て、
いつでも状態をセーブ/ロード出来れば、
プレイモードから抜けずにゲームが完成するんじゃないの?というのが夢。

ちなみに、RPGツクールアドバンスでは実現されてました。
なんで後発のツクールには乗ってないんですかね、めっちゃ好きだったんですけど。

いつ出来るの?

わかりません。

が、自分はモチベーションが長く続くタイプではないので、短くパッとすぐ出来るか、途中で飽きてやめるかの二択です。

既に、このAprotを使って作りたいゲームのネタも浮かんでるので、さっさと作りたい!!!!
応援メッセージお待ちしております。

05/19追記メモ

  • 本当はjsで動かしたいけど、前の結果からUnity上でまともな速度でjsを動かすのは現実的でないことが分かっている。悲しい。
  • なぜjsが良いか、Haxeでやるにもコンパイルが速いし、v言語もjsをはける、本当はvが良かった。