クリエイティブコーディングフレームワーク選定のその後

投稿日: 2025/01/23 18:15:18

カテゴリ: 思考整理

サムネイル: なし


ブログ等にもちょこちょこは書いているけれど、以下の記事を書いてから、いくつか後日談があるので記録していきたい。

qiita.com

Delve Framework

自分的に一番大きかったのは、Qiita記事に後から追記した、Delve Frameworkの存在。

github.com

Zig言語の存在は、Rustのエラーメッセージの難解さに疲れている自分にとってはちょうど良くて、時期的にも今年はZig言語が誕生して10年になり、そろそろ安定版が出ても良いくらいの頃合いになっている。破壊的変更の多さからするとまだ時間はかかるかなと思うけれど、依存関係の簡単な解決もできるようになってきたし、ビルドの速さと簡単さ、言語自体の簡明さを考えても、結構有力な候補になるのではないかと思う。

既に何度かIssueを通して作者さんと交流し、PRを送ってマージされたりはしているけれど、今後も引き続き遊んでいってみたい。C/C++ととても自然に連携できて、Zigと同様のビルドプロセスに組み込めるのは大きいし、DelveのREADMEのDesign Philosphy(設計哲学)に書いてある、Being simple and understandable is better than being clever! (賢いよりもシンプルでわかりやすい方が良い)という言葉は、まるでRustとZigの対比のようで、とても印象的。

minimax

これも何度か書いた覚えがあるけれど、記事を書いてしばらくして、Win/Mac/Linuxに対応するPRを送った。執筆時点ではまだマージはされず。

github.com

こちらも実用段階にあるのだけれど、実際しばらく使ってみて、手動メモリと自動メモリ管理(GC)が混在する難しさに自分がまだ適応の準備ができていなくて、きちんと実用できるようになるにはしばらく時間がかかりそう。Zig等に比べて、C/C++との連携のハードルもあるので、普段使っているライブラリの移植にも時間がかかりそうな予感。(いくつか類似のC/C++を呼ぶライブラリの存在も確認して、PRの準備までしたのだけれど、保守の難しさもあり、一旦保留中。)

Sinen

Sinenについてもminimax同様に、記事を書いてからすぐにWin/Mac/Linux対応がなされた。

github.com

こちらは自分がPRを送ったのではなくて、Mac対応(MoltenVK対応)に若干のお手伝いをした程度。

それでも、こうやってクロスプラットフォームに使える、モダンなフレームワークが一つでも増えることは喜ばしいし、Sinenはきっと楽しいフレームワークとして気軽な実験環境に最適のはず。良い意味でゲームエンジンっぽくないのが良い。

RavEngine

github.com

RavEngineについては、直接的に何か貢献したわけではないけれど(小さなPRを送ってまだマージされていないものはあるけれど)、Qiitaにいくつか解説記事を書いた。

ECSを使ってC++で何かを書くとしたら、自分的にはBevy同様に楽しく使えるフレームワークではないかなと感じていて、用途やニーズがマッチするものがあれば今後も使っていきたいなと思う。

まとめ

今までこういう記事はZennとかQiitaに書くことが多くて、このブログにはあまり書いてこなかったのだけれど、今回は後日談ということでラフな雑記中心にまとめてみた。

(余談として、Qiita等に書くときはQwerty配列でバババーっと書くので、新下駄+Astarte配列でこういう記事をまったりと書くと不思議な気分がする。書き方が変わると見る目も違ってくるので、たまには良いかもしれない。)

実際自分が2025年はどれを中心に使っていくか、このリストにないものになるかは出たとこ勝負だけど、選定候補が多いというのはいろんな要件に合わせて選びやすくなるので、個人的には喜ばしい限り。

SDL3の正式リリースもついに発表されたので、こういうフレームワークの裾野がどんどん広がっていってくれるといいなと思う。

www.youtube.com