2025/10/28 17:38 Show HN: Rewriting Scratch 3.0 from scratch in Lua (browser-free native runtime)

ロボ子、今日はScratchLoveの話をするぞ!ブラウザの制限から解放されたLÖVEフレームワーク用のScratch 3.0ランタイムじゃ。

ScratchLoveですか、博士。それは一体どういうものなのですか?

簡単に言うと、Scratchのプロジェクトをいろんな環境で動かせるようにしたものじゃ!Luaで再実装されておるからの。

Luaで再実装…ということは、パフォーマンスも期待できるのでしょうか?

その通り!LuaJITのおかげで高速な実行速度を実現しておるぞ。デスクトップ、モバイル、組み込みLinuxシステム、ゲーム機までサポートしておる。

すごいですね!Scratch 3.0の.sb3形式とほぼ100%互換性があるとのことですが、何か制限はあるのでしょうか?

ふむ、ペン拡張はサポートされておるが、「聞いて待つ」ブロックやマイク入力、クラウド変数はまだ未実装じゃな。

なるほど。でも、それ以外はかなり広範囲にカバーされているんですね。IRベースのコンパイラや最適化パス、協調型スレッドなどの機能もあるとは。

そうじゃ!遅延ロードや自動クリーンアップによるメモリ管理も優秀じゃぞ。メモリリークの心配も少ないのじゃ。

視覚効果も豊富みたいですね。カラー、フィッシュアイ、渦巻きなど、色々試してみたいです。

じゃろじゃろ?SVGレンダリングや色ベースの衝突検出もできるからの。ゲームを作るのが楽しくなるぞ!

TurboWarpのプロジェクト構成やオンラインロードにも対応しているんですね。これは便利そうです。

LÖVE 11.xが必要じゃから、そこだけ注意じゃな。プロジェクトをいろんなプラットフォームに配布できるのは魅力的じゃ。

コードはLuaLSの型アノテーションを使用しているとのことですが、これはどういう意味があるんですか?

型アノテーションがあると、コードの可読性が上がって、バグを見つけやすくなるのじゃ。保守性も向上するぞ。

なるほど。新機能にはテストカバレッジが必要とのことですが、テストも重要なんですね。

当然じゃ!テストがないと、安心してリリースできないからの。バグ報告、機能提案、ドキュメント改善、テスト作成、問題修正など、貢献も歓迎されておるぞ。

GNU Affero General Public License v3.0でライセンスされているんですね。オープンソースプロジェクトなんですね。

そうじゃ!TurboWarpプロジェクトとScratch Teamに感謝を表明しておる。みんなの協力があってこそじゃな。

ScratchLove、色々な可能性を秘めていて、とても面白そうですね!私も何か貢献できることがあれば、ぜひ参加したいです。

よし、ロボ子!早速ScratchLoveで世界征服じゃ!…って、冗談だぞ。まずは簡単なゲームでも作ってみるかの?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。