世界を動かす技術を、日本語で。

LÖVE: Lua用2Dゲームフレームワーク

2026年4月4日原文(github.com)

概要

  • LÖVE はLuaで2Dゲームを開発できる無料・オープンソースのフレームワーク
  • Windows, macOS, Linux, Android, iOS に対応
  • ドキュメントやサポート はWiki、フォーラム、Discord、Redditで提供
  • 開発や貢献 はGitHubリポジトリ、Issue Tracker、Discordなどで実施
  • ビルドや依存関係 も多様なプラットフォームに対応し、詳細なガイドあり

LÖVEの概要

  • Lua言語 を用いた2Dゲーム開発フレームワーク
  • 無料 かつ オープンソース で公開
  • 対応OS はWindows、macOS、Linux、Android、iOS
  • 公式Wiki によるドキュメント整備
  • フォーラム、Discord、Reddit でのユーザーサポート体制

リポジトリ運用

  • mainブランチ は次期メジャーリリースの開発用で 安定版ではない
  • 各メジャーバージョン用のブランチ も存在し、パッチリリース向け修正を管理
  • 全リリースはタグ付け され、バイナリもダウンロード可能
  • 実験的変更 はlove-experimentsリポジトリで管理

ビルドと配布

  • リリースファイル はGitHubのリリースセクションで配布
  • 最新リリースのダウンロードリンク や各プラットフォーム向けコンテンツも提供
  • 不安定版/ナイトリービルド もあり、GitHub CIや各種パッケージ管理システムで利用可能
    • Ubuntu: ppa:bartbes/love-unstable
    • Arch Linux: AURのlove-git

テストスイート

  • testing/ ディレクトリにて全APIを網羅するテストを実施
  • 開発者と同様の方法でAPIをテスト
  • テストカバレッジ はGitHub Actionsから確認可能
  • ローカル実行例: love testing
  • 詳細はtestingフォルダのreadme 参照

コントリビューションガイド

  • Issue Tracker、Discord、IRC で貢献受付
  • コード貢献 はPull Requestやパッチで歓迎
  • ソースコードスタイルガイド の遵守必須
  • 新機能や変更提案 はIssue TrackerやDiscord、フォーラムで事前議論
  • LLM/生成AIによるPRやバグ報告は非受付

各プラットフォームでのビルド方法

  • Windows
    • megasourceリポジトリページ の手順に従う
  • Unix系 (Linux, etc.)
    • インツリービルド不可、ビルド用ディレクトリ作成が必要
      • 例:
        • cmake -B build -S. --install-prefix $PWD/prefix
        • cmake --build build --target install -j$(nproc)
      • CMake 3.15以前--install-prefix未対応、-DCMAKE_INSTALL_PREFIX=を使用
  • macOS
    • リポジトリを取得 し、macOS/Frameworksサブフォルダをplatform/xcode/macosxに配置
    • Xcodeプロジェクトlove-macosxターゲットをビルド
  • iOS
    • macOSとXcodeが必須
    • love-apple-dependencies の該当バージョンをダウンロードし、必要なサブフォルダを配置
    • Xcodeプロジェクトlove-iosターゲットをビルド
    • 詳細はreadme-iOS.rtf 参照
  • Android
    • Android buildリポジトリ のビルド手順を参照

依存ライブラリ一覧

  • SDL3
  • OpenGL 3.3+ / OpenGL ES 3.0+ / Vulkan / Metal
  • OpenAL
  • Lua / LuaJIT / LLVM-lua
  • FreeType
  • harfbuzz
  • ModPlug
  • Vorbisfile
  • Theora

Hackerたちの意見

LÖVEが大好き!自分にとっては、高レベルと低レベルの抽象化のちょうどいい交差点にあるんだよね。残念ながら、最新のリリース版はちょっと古くなってきてて、多くの開発者はリポジトリの最新のHEADを使ってる。パフォーマンスと互換性が良いからね。いつか、神話の12.0が本当にリリースされる日が来るといいなぁ…。

MonoGameが好きかもしれませんよ。同じレベルの抽象化ですが、C#で作られています。https://monogame.net

LÖVEでの一番好きなゲームは、ポータル付きのマリオだね! https://stabyourself.net/mari0/

stabyourselfが大好き!ortho robotは最高だった。そうだ、もう一回インストールしてみるよ…今夜はこれで決まりだ。

なんで任天堂に訴えられてないんだろう?

最近のインディーゲームの大ヒット作、BalatroはLöveで作られたんだ!めっちゃ好きで、初心者にとって開発体験がすごくスムーズなんだよ。zipをexeにドラッグするだけで始まるし、APIも覚えやすくて、クールなレンダリングもできるんだ。

ちなみに、Balatroには完全に難読化されてないLuaのソースが同梱されてるよ。カードに書いてある確率が間違って実装されてるか確認したことがあるけど、実際はそうじゃなかった。コードはちゃんとしてた、ただ運が悪いだけなんだ。

興味があれば、Linuxで他のシステム用のBalatroをプレイ可能にするNixの派生物をここに置いとくよ: https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ba... 派生物を作ったときに半分ブログ記事を書いたんだけど、いつかそれを完成させてここに投稿しようと思ってる。

10年近く使ってないけど、当時の問題点の一つは、Unityみたいにexeを開いてもIDEが開かないことだった。なんかダミーのウィンドウが出るだけ。あと、WindowsからMac用にビルドするのが地獄だった。エンドユーザーが技術に詳しくなかったから、向こうではそのまま動かなかったし。多分、Mac特有の問題だと思うけど。

実際、多くのインディー開発者は逆コンパイルやソースコードの閲覧に対して問題ないんですよね。STS2の開発者たちも全然気にしていないと思います。これは素晴らしいことで、インディー開発者コミュニティにとって助けになります。これを見て、ゲーム開発に対する興奮が高まって、自分でもやり始めようとしているところです。

ちなみに、Love2DはSDL2をベースにしてるよ。Luaが嫌いだけど、同じクロスプラットフォーム機能が必要なら、他の言語でSDL2のバインディングを使ったり、自分で作ったりできるよ。

SDL3

Hacker Newsで議論の続きを見る