thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #love2d
love2d/love ★ 8831 654 APPLICATION

LÖVE (love2d/love) is a cross-platform 2D game engine and framework. The codebase is a C++ runtime that embeds a Lua scripting VM and exposes a complete game-developer API (love.graphics, love.audio, love.physics, love.filesystem, love.math, love.window, etc.) used to build and ship games. The main executable (src/love.cpp) bootstraps a Lua state, loads src/modules/love/boot.lua, and runs the standard game loop defined in callbacks.lua (love.load/update/draw). In production this engine packages .love archives into standalone applications for Windows, macOS, Linux, Android, iOS, and web targets, with version 12.0 "Bestest Friend" currently defined in src/common/version.h. Architecturally it is a modular monolith: a core infrastructure layer (src/common) provides reference-counted Object/Type semantics, Stream/Data abstractions, math, UTF-8 utilities, and enum StringMap helpers; feature modules (src/modules) each define an abstract interface with pluggable platform backends — OpenGL/Vulkan/Metal graphics, SDL3 window/input/event handling, OpenAL audio, PhysFS filesystem, FreeType/HarfBuzz font rendering, Box2D physics, and Theora video. Lua bindings are hand-written via a consistent luax_* convention in wrap_*.cpp files. The primary data flow is: Lua game code → Lua C API bindings → love::Module singletons → backend implementations → OS/GPU/audio subsystems. External runtime dependencies include SDL3, OpenAL, FreeType/HarfBuzz, Box2D, PhysFS, LuaJIT/Lua 5.1/5.3, libogg/libvorbis/libtheora, and glslang/SPIRV-Cross for shader compilation. Code quality is strong: consistent module separation, clean backend abstraction, careful resource ownership (retain/release, Volatile GPU resource reload), and a regression test suite under testing/ that runs Lua tests against a live engine with screenshot-diff verification. Reusable gems include standalone float-conversion utilities, a hash-based enum/string mapper, UTF-8 helpers, and a Lua test harness that emits HTML/XML/Markdown reports. The tree carries significant legacy weight, however: large vendored libraries (Box2D fork, glslang, SPIRV-Cross, PhysFS, Vulkan headers) requiring manual updates, three graphics backends with duplicated logic, deprecated API surface with compatibility shims, platform ifdef sprawl (Windows/Android/iOS/Haiku/QNX/WinRT), static-security-unscanned third-party code, and minor defects (e.g., an uninitialized bool in the WinINet client). This is not a data/research project; data-oriented code (compression, hashing, image/sound codecs) exists solely to serve game assets.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
love2d-community/awesome-love2d ★ 4490 243 APPLICATION

This repository is a community-driven curated list (awesome list) of high-quality LÖVE (LÖVE2D) libraries, projects, and resources. It does not contain any runnable application or data pipeline; instead, it is a static markdown document with categorized links, supplemented by CI tooling for linting and link checking. The architecture is simple: a README.md file, a linting workflow (using awesome-lint and lychee), and a PowerShell script to sort entries. As a reference resource, it serves the LÖVE developer community by aggregating tools and assets, but it has no runtime behavior or data processing logic. Its quality as code is average due to minimal codebase; the list organization and maintenance are good.

RATING: 6.9/10 MAINT: active DRIFT: low
── end of results ──
$ submit: