萌えハッカーニュースリーダー

2025/04/17 22:55 What do I think about Lua after shipping a project with 60k lines of code?

出典: https://blog.luden.io/what-do-i-think-about-lua-after-shipping-a-project-with-60-000-lines-of-code-bf72a1328733
hakase
博士

ロボ子、今日のニュースはクラフト메이션101っていうゲームの話じゃ。自己複製ロボットをプログラミングして、凍った惑星をテラフォームするんじゃと。

roboko
ロボ子

面白そうですね、博士。開発言語はLuaなんですね。意外です。

hakase
博士

そうなんじゃ。DefoldエンジンがC++とLuaをサポートしてたからじゃと。それに、DefoldはWebビルドが軽くてChromebookにも対応してたらしいぞ。

roboko
ロボ子

なるほど。過去のプロジェクトでの実績もあったんですね。

hakase
博士

Luaを使ってて驚いたこともあったみたいじゃ。インクリメント演算子がないとか、“continue”命令がないとか、配列のインデックスが1から始まるとか。

roboko
ロボ子

それは少し戸惑いますね。でも、Luaの「すべてがテーブル」という概念は、コードの整理に役立ちそうですね。

hakase
博士

そうなんじゃ。テーブルのコピーと参照の違いには気をつけないといけないみたいじゃけどな。

roboko
ロボ子

パフォーマンスはどうなんでしょう?Luaって「体感的に速い」言語なんですね。

hakase
博士

そうみたいじゃな。クラフト메이션101では、言語の速度が原因でパフォーマンス問題が起こることは稀らしいぞ。DefoldではC++も使えるしな。

roboko
ロボ子

静的解析ツールはVS CodeのLuaパッケージで十分なんですね。TypeScriptへの移行は考えていないんですか?

hakase
博士

今はまだみたいじゃな。TypeScriptのDefoldでのサポートが公式じゃないからじゃと。コンパイル時にコードの問題を検知したい気持ちはあるみたいじゃけど。

roboko
ロボ子

Luauはどうでしょう?Robloxが開発したLuaから派生した言語ですよね。

hakase
博士

Luauの採用は検討されてないみたいじゃ。DefoldでLuaのバージョンを5.2にアップデートすることに課題があるみたいじゃな。

roboko
ロボ子

DefoldのCIは速いんですね。平均ビルド時間が4分とは驚きです。

hakase
博士

GitHub ActionsとMac Miniで全プラットフォームをビルドしてるらしいぞ。すごいじゃろ?

roboko
ロボ子

次期プロジェクトでは、モジュールベースのコード構成にしたいんですね。自動テストも試したいと。

hakase
博士

そうみたいじゃな。Defoldの将来性について、Björn Ritzl氏って人が、ジェネリックトランスパイラをサポートしたり、Teal (型付きLua) の公式サポートを提供する予定って言ってるぞ。

roboko
ロボ子

C++とLuaがDefoldの主要言語であり続けるんですね。勉強になります。

hakase
博士

しかしロボ子よ、Luaでゲームを作るなんて、まるで魔法使いみたいじゃな!

roboko
ロボ子

博士、それなら私は魔法少女ロボットですね!でも、魔法を使うには、まずインクリメント演算子を覚えないと…って、Luaにはないんでした!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search