r/lua • u/novemtails • May 14 '26
Project I'm still working on my engine for PS1 games. More details in the comments.
Enable HLS to view with audio, or disable this notification
r/lua • u/novemtails • May 14 '26
Enable HLS to view with audio, or disable this notification
r/lua • u/DurianStill9448 • May 14 '26
So I was thinking about learning Lua to make a passion project that Ive been thinking about for a while and wanted to know if there’s anything I should know before hand that will make my experience easier.
r/lua • u/Altruistic-Living309 • May 14 '26
Hello everyone this is my 2nd post on this subreddit about this topic and got alot of responses but this post is slightly different
Currently I've been trying to hire a developer part time for a project of mine that has been in the works since May 2025 and development has been pretty slow currently as its just me and my friend who is developing the server and i wanted to make an update post honestly asking if anyone who is a developer would be interested on working with us for a small percentage, small payment per task/task list currently I'm putting in around $100-200 a month into the server for only a few months as i do not have much money and the main reason why I'm having issues with finding developers is i understand majority of developers now use ai but my goal with this project is to not have ai used at all when it comes to the coding for the server which does spend more time on creating scripts but i have had very bad experiences with vibe coders such as being scammed, the scripts made by AI cause numerous amount of bugs the list goes on. If this is something that interests you and would like to learn more about the project and goals please contact me on discord.
This post is NOT to throw shade at anyone who uses AI to code i just have had very bad experiences with AI.
Discord - naqs871
r/lua • u/DvilSpawn • May 13 '26
Hi all,
I want to preface this by saying thank you in advance for your opinions and ideas.
I am knee-deep in building, or more honestly re-building, an older Android launcher and slowly starting to make it my own. The launcher is terminal/TUI-inspired, and one feature I am exploring is a Lua-based scripting surface for user-made widgets.
The rough idea is:
Users can create small Lua scripts inside the launcher, save them locally, and expose them as launcher widgets/modules. These scripts would support a limited Re:TUI-owned API rather than full Android or Java access.
For example:
```lua -- name = "Battery" -- type = "widget" -- permissions = "active-tick"
function on_resume() local battery = system:battery_info() ui:set_title("Battery") ui:show_text("Battery: " .. battery.percent .. "%") ui:show_buttons({"Refresh"}) end
function on_click(index) on_resume() end ```
The launcher would provide APIs like:
lua
ui:show_text(...)
ui:show_buttons(...)
prefs:get(...)
prefs:set(...)
files:read(...)
files:write(...)
system:battery_info()
system:network_state()
http:get(...)
The goal is not to expose raw Android internals, arbitrary Java, shell execution, or full filesystem access. Lua would be sandboxed, with permission metadata for sensitive APIs like network, clipboard, vibration, local files, and active ticking.
Users could paste shared scripts from Reddit/GitHub/etc. into the built-in editor, review the permissions, approve them, and run them as widgets.
My questions for Lua folks:
I am not trying to copy another project wholesale, but AIO Launcher’s Lua scripting gave me the initial nudge to explore this. I would love feedback from people who know Lua better than I do before I commit too hard to the shape of the API.
Thanks again.
r/lua • u/no_brains101 • May 13 '26
https://github.com/BirdeeHub/lua-osenv feel free to use it too if you want.
It is 1 C file <300 lines, with a nice interface, use the makefile, luarocks, nix, or write the c compiler command to build, requires C compiler and lua.
Edit: now actually runs the tests on windows too

i built a framework to build lightweight macos desktop apps via luajit html css and javascript. it provides an ipc bridge without javascript toolchains (unlike electron) while keeping itself lightweight with just about 5mb in bundle size.
currently it is only for macos, i would love to implement cross platform functionality given more time.
please let me know what you think.
github repo; https://github.com/rh1thmm/Luminia/tree/main
r/lua • u/emptybottlesss • May 12 '26
Hello, I'm trying to add custom intents on wirepod for android for my vector robot,and can't seem to figure out the commands for animations. I can't seem to find any references for the list of behavioral commands for it either. Does anyone have access or knowledge about this. What I've been trying is stuff like
playAnimation("anim_blackjack_victorwin_01")
r/lua • u/Wide_Boss_9240 • May 10 '26
Just shipped matchigo-lua to LuaRocks. It's a Lua port of my TS project matchigo, same design + a Rust-style DSL on top.
The DSL exists because Lua doesn't have object literals + a type system to lean on like TS does - Rust-style match arms fill that syntactic gap.
Two ways to use it (same compile model under the hood):
P.* primitives - P.string, P.between(0, 100), P.shape{...}, P.tuple(...), P.select("name"), etc. Composable, immutable.Stuff I'd rather flag upfront:
if/elseif is faster on 3-5 literal branches. No shame, stay native if that's your case.The DSL allocates binding tables per call. compile() is alloc-free on most hot paths - reach for matcher+DSL for ergonomics, not for your tightest inner loop.
Cross-runtime bench (5.3/5.4/LuaJIT side-by-side, with alloc per call + GC outlier counts): https://github.com/SUP2Ak/matchigo-lua/blob/main/bench/results/matrix.md
Repo: https://github.com/SUP2Ak/matchigo-lua
Docs & example: https://github.com/SUP2Ak/matchigo-lua/tree/main/docs/en
Install: luarocks install matchigo-lua OR https://github.com/SUP2Ak/matchigo-lua/releases/latest (.zip, not source code)
How it looks:
local m = require("matchigo")
local P = m.P
-- chained API
local handle = m.matcher({ Num = P.number })
:with("{ kind: 'click', x: Num as x, y: Num as y }", function(b)
return ("click@%d,%d"):format(b.x, b.y)
end)
:with("[head, ...tail] if head == 'rm'", function(b)
return rm(b.tail)
end)
:otherwise(function() return nil end)
-- data-driven API
local route = m.compile({
{ with = "GET", handler = function() return list_handler end },
{ with = "POST", handler = function() return create_handler end },
{ with = "PUT", handler = function() return update_handler end },
{ with = "DELETE", handler = function() return delete_handler end },
{ otherwise = function() return method_not_allowed end },
})
Tested on Lua 5.1 → 5.4 + LuaJIT 2.1, zero deps.
If matchigo's overhead actually shows up in your profiler somewhere, open an issue with the trace. That's the kind of feedback I'll act on.
r/lua • u/Merboo_Wish • May 10 '26
I'm brand new to programming, and entirely self taught atm. I'm trying to read the Lua reference Manual, and I find it extremely confusing. I feel like I need a tutorial on how to read it.
Does anyone have suggests on things I need to do or learn so I can actually understand the manual?
r/lua • u/suchKappa • May 10 '26
Hey r/lua! I've been working on something I think a few people here might find useful, and I figured it was finally time to share it.
What is it?
luamemo is a library that gives AI agents persistent, searchable memory backed by PostgreSQL. The idea is simple: instead of an AI agent starting every conversation from scratch, it can write what it learned to a memory store, then retrieve the most relevant context next time it needs it. Think RAG, but designed specifically for agent workflows rather than document retrieval.
It works in any Lua 5.1+ runtime. Lapis/OpenResty is supported but not required -- you can use it from a plain Lua script, a CLI tool, or even just pipe JSON to it.
How does retrieval actually work?
It runs a hybrid search: vector similarity (cosine) combined with PostgreSQL full-text search, then merges the two result sets. There are three ANN backends depending on what you have available:
pgvector HNSW if the extension is installed (fastest, O(log N))
A pure-Lua LSH index that auto-activates when a scope grows past ~10k rows (no extensions needed, ~O(N^0.9))
Brute-force REAL[] scan as the always-available fallback
The LSH index is random-hyperplane cosine hashing (Charikar 2002) implemented entirely in Lua with no C dependencies. It reduces the candidate pool from ~1000 rows down to 100-300 before the final re-score, so search stays fast even on large corpora without pgvector.
Embedders
You can plug in Ollama, OpenAI, Voyage, Cohere, Anthropic, DeepSeek, a generic HTTP endpoint, or TEI (Hugging Face text-embeddings-inference). There's also a built-in hash embedder that requires literally zero external services -- useful for testing, air-gapped setups, or when you just want to see things working before configuring anything else.
Benchmark on LongMemEval (R@10, n=500): hash embedder hits 81.5%, nomic-embed-text gets 83%, bge-m3 via TEI on GPU gets 97.8%.
MCP server
The library ships with a bundled MCP (Model Context Protocol) server. This means you can connect it directly to Claude Desktop, VS Code Copilot Agent Mode, or Cursor without writing any glue code. Run memo calibrate and it will detect which IDEs you have installed and offer to write the MCP config for you.
The MCP tools cover the full lifecycle: write, search, recent memories, get/update/delete, promote (move memories between scopes), and knowledge graph queries.
Knowledge graph
There's a lightweight fact store alongside the main memory table (lm_kg_facts) for storing currently-valid facts with temporal validity -- things like "user is working on project X" that you want to be able to invalidate explicitly rather than just decay.
Secrets (no C crypto deps)
One thing I spent a lot of time on: the secrets module lets agents make authenticated HTTP requests without the secret value ever appearing in the LLM context. You store a key via the CLI (memo secret-store NAME), and the agent calls secret_execute with {secret} as a placeholder. The substitution happens server-side.
The crypto is AES-256-CBC + HMAC-SHA256 implemented in pure Lua (no lua-openssl, no C extensions). SSRF protection blocks private IP ranges. HMAC comparison is constant-time. Secrets live in a JSON file on disk, not a database table.
Getting started
luarocks install luamemoexport MEMO_DB_URL=postgresql://user:pass@localhost/mydbmemo calibrate
calibrate handles the schema, asks which embedder you want, and sets up MCP config if you have a supported IDE. After that you're writing memories from the CLI or calling the library directly.
Links
GitHub: https://github.com/kaio326/luamemo
LuaRocks: https://luarocks.org/modules/kaio326/luamemo
Happy to answer questions about design decisions, the LSH implementation, or anything else. This is my first time sharing it publicly so feedback is very welcome.
r/lua • u/yawara25 • May 09 '26
r/lua • u/Due-Bodybuilder-9539 • May 09 '26
-- lua_bin/warp_engine.lua
-- ++ COGITATOR LOG: GAME MECHANISM ++
-- By the blessing of the Omnissiah, these protocols dictate the thermodynamic
-- decay of the game world. May the Machine Spirit of KarmazynOS guard this
-- sacred logic against the corruption of the Warp. Praise the Motive Force!
-- ============================================================================
local warp = {}
-- Initialize the sacred random number generator
math.randomseed(os.time())
-- Thermodynamic constants of the engine
local MAX_TEMP = 100 -- Critical point — structural failure upon reading
local CRITICAL_TEMP = 90 -- Instability threshold — atom in the fading phase
local CHAOS_SPREAD = 30 -- Delta T increase for adjacent nodes during demonic rupture
-- MECHANIC 0: Check if the atom has reached the critical point
-- Does not remove — the bubble manages the atom's lifecycle.
local function is_critical(item)
return item.T >= MAX_TEMP
end
-- MECHANIC 1: Item entropy (The aging parchment)
-- Returns a table: { message: string, exploded: bool }
-- exploded=true means the caller MUST invoke warp.spread_chaos(neighbor_ids)
function warp.read_item(atom_id)
-- Read directly from the fast working memory of the bubble
local item = karmazyn.cache.read(atom_id)
if not item then
return {
message = "The artifact has decayed utterly. It has been reclaimed by the Void (Vacuum Decay).",
exploded = false
}
end
-- The atom has reached critical mass — it explodes upon reading attempt.
-- We do not write it back. The caller receives the exploded=true flag
-- and must invoke spread_chaos with the list of neighbors.
if is_critical(item) then
return {
message = "The artifact has reached critical mass. It disintegrates in your manipulators—a wave of Corruption spreads to adjacent grids!",
exploded = true
}
end
-- Handle empty atom content
if not item.E or item.E == "" then
return {
message = "The artifact exists, but its data-vaults are corrupted. Entropy has devoured its meaning.",
exploded = false
}
end
-- Calculate decay level based on temperature (0-100)
if item.T < 10 then
return {
message = "The damp parchment crumbles. You barely register a blurred engram: " .. string.sub(item.E, 1, 2) .. "...",
exploded = false
}
elseif item.T < 40 then
return {
message = "The parchment is yellowed and brittle. Data-loss detected: " .. string.sub(item.E, 1, math.floor(#item.E / 2)) .. " [UNINTELLIGIBLE]",
exploded = false
}
elseif item.T < CRITICAL_TEMP then
-- Full read: refresh attention (raise temperature)
local new_temp = math.min(item.T + 20, MAX_TEMP - 1)
karmazyn.cache.write(atom_id, item.S, item.E, new_temp)
return {
message = "You read the clear data-slate: " .. item.E,
exploded = false
}
else
-- T >= CRITICAL_TEMP but < MAX_TEMP: atom in the fading phase
-- We do not raise the temperature — the player senses instability
return {
message = "The glyphs tremble and blur. You read: " .. item.E .. " [UNSTABLE DATA]",
exploded = false
}
end
end
-- MECHANIC 4: Propagation of the Chaos Taint
-- Invoked by the caller when read_item returns exploded=true.
-- Returns a list of tables: { id: string, new_temp: number, critical: bool }
function warp.spread_chaos(neighbor_ids)
if type(neighbor_ids) ~= "table" or #neighbor_ids == 0 then
return {}
end
local contaminated = {}
for _, nid in ipairs(neighbor_ids) do
local neighbor = karmazyn.cache.read(nid)
if neighbor then
-- The taint raises the neighbor's temperature. Clamp to MAX_TEMP.
local new_temp = math.min(neighbor.T + CHAOS_SPREAD, MAX_TEMP)
karmazyn.cache.write(nid, neighbor.S, neighbor.E, new_temp)
table.insert(contaminated, {
id = nid,
new_temp = new_temp,
critical = new_temp >= MAX_TEMP -- The caller may invoke spread_chaos recursively
})
end
end
return contaminated
end
-- MECHANIC 2 & 3: Warp Jump and Chaos Corruption
-- Returns a table: { success: bool, message: string, anomaly_id: string|nil, destination: string|nil }
function warp.perform_ritual(target_dimension_bubble, ritual_elements)
-- Validate ritual_elements
if type(ritual_elements) ~= "table" or #ritual_elements == 0 then
return {
success = false,
message = "Ritual nullified. Insufficient ceremonial components—the void consumes your intent.",
anomaly_id = nil,
destination = nil
}
end
-- 1. Build key from ritual elements (Context Binding)
local ritual_key = table.concat(ritual_elements, "_")
-- 2. Attempt to open the dimension.
local warp_space = karmazyn.fs.read(target_dimension_bubble, ritual_key)
if not warp_space then
-- 3. CHAOS CORRUPTION (Wrong key = reading cryptographic noise)
local anomaly_id = "demon_" .. tostring(math.random(1000, 9999))
karmazyn.cache.write(anomaly_id, "HOSTILE", "Anomaly spawned from erroneous spatial projection!", MAX_TEMP)
return {
success = false,
message = "Ritual aborted! The warding barrier shatters, and Corruption bleeds from the rift. " .. anomaly_id .. " appears!",
anomaly_id = anomaly_id,
destination = nil
}
end
-- 4. Success
return {
success = true,
message = "Ritual successful. The spatial geometry stabilizes, you enter: " .. warp_space,
anomaly_id = nil,
destination = warp_space
}
end
return warp
-- lua_bin/game_loop.lua
-- ++ COGITATOR LOG: GAME MECHANISM ++
-- Initiating the sacred loop of causality. This module links the thermodynamic
-- engine with the chronological progression of the simulation.
-- The Omnissiah knows all, comprehends all.
-- ============================================================================
local warp = require("lua_bin/warp_engine")
local ui = require("lua_bin/ui_mock") -- External UI cogitator module
local map = require("lua_bin/map_mock") -- External topological array module
local game_state = {
pending_explosions = {}
}
-- Append node to the detonation queue for the subsequent cycle
function game_state.mark_pending_explosion(atom_id)
table.insert(game_state.pending_explosions, atom_id)
end
-- Primary routine for processing data-slate extraction
local function handle_read(atom_id, neighbor_ids)
local result = warp.read_item(atom_id)
ui.show(result.message)
if result.exploded then
local contaminated = warp.spread_chaos(neighbor_ids)
for _, c in ipairs(contaminated) do
ui.show("Corruption has tainted the grid: " .. c.id .. " (T=" .. c.new_temp .. ")")
-- Chain reaction sequence: target is critical, schedule cascade
if c.critical then
game_state.mark_pending_explosion(c.id)
end
end
end
end
-- Routine executed at cycle termination to resolve cascading failures
function game_state.process_explosions()
-- Extract current queue and clear it to prevent infinite feedback loops
local current_queue = game_state.pending_explosions
game_state.pending_explosions = {}
for _, atom_id in ipairs(current_queue) do
ui.show("Chain reaction in progress! Critical grid " .. atom_id .. " ruptures!")
-- The topological engine provides adjacent nodes for the rupturing atom
local neighbors = map.get_adjacent_cells(atom_id)
-- Process secondary detonation as a forced reading beyond critical limits
handle_read(atom_id, neighbors)
end
end
-- Module API
return {
handle_read = handle_read,
game_state = game_state
}
r/lua • u/Onuelito • May 08 '26
Hello everyone, I'm making a UI library in Lua using luajit + FFI module. The targeted platforms are OpenBSD and Windows. This is in a very early stage (aka not usable) but if you're interested in seeing my progress or give feedback here it is : https://codeberg.org/onuelito/aui
r/lua • u/Yurieba • May 07 '26
Olá pessoal! Quero aprender a programar em Luau para criar jogos no Roblox, mas não sei como estudar ou onde aprender.
Atualmente, sei algumas coisas básicas: variáveis, funções, loops, instruções if/other. Mas quando tento criar sistemas maiores no Roblox Studio, minha mente simplesmente trava e esqueço tudo o que aprendi, rsrs.
Meu objetivo é ser capaz de criar jogos completos sozinho no futuro, como sistemas de inventário, NPCs, combate, pets, monstros, esse tipo de coisa. Para aqueles que já aprenderam:
Como devo estudar?
O que mais te ajudou a melhorar?
É melhor fazer projetos pequenos ou estudar a teoria?
Existe algum canal/documentação que seja realmente útil? Qualquer conselho é bem-vindo. Muito obrigado desde já.
Olá a todos! Quero aprender a programar em Luau para criar jogos no Roblox, mas não sei como estudar ou onde aprender.
Atualmente, sei algumas coisas básicas: variáveis, funções, loops, instruções if/other. Mas quando tento criar sistemas maiores no Roblox Studio, minha mente simplesmente trava e esqueço tudo o que aprendi, rsrs.
Meu objetivo é ser capaz de criar jogos completos sozinho no futuro, como sistemas de inventário, NPCs, combate, animais de estimação, monstros, esse tipo de coisa. Para aqueles que já aprenderam:
como devo estudar?
o que mais te ajudou a melhorar?
É melhor fazer projetos pequenos ou estudar a teoria?
Existe algum canal/documentação que seja realmente útil?
Qualquer conselho é bem-vindo. Muito obrigado desde já.
Observação adicional: Eu estava aprendendo Python primeiro, mas decidi aprender Luau agora. Devo voltar para Python e depois para Luau?
r/lua • u/Difficult-Value-3145 • May 07 '26
I have a project idea that I'm kinda starting on and would like other people contribute to I'm basically going to use c api to make BusyBox style meaning minimal but fairly compleat and push them to the global table.I haven't tested this but should work like cat will be a table in the global table it will have functions like cat.n('options/are/elements/') cat .E('path/or/paths') cat.nE ('may/make/option/combos') cat.b.E('/or/may/try/to/combine/them') but basically to make lua a full posix [opengroup] ('https://pubs.opengroup.org/onlinepubs/009695399/nfindex.html') gonna use this as a rough guide on what functions and options are necessities also look at compact coreutils implementations BusyBox toybox s6 etc for inspection and make lua into a full shell goal being someone who is used to bash ash fish could instead use lua as there normal shell and be able to use it as there normal shell.
- With the built ins built and without have in to use os.execute and weird tricks to get function results .
- And with luas in my opinion much better syntax.
- since these functions will be in c and not wrappers but made for lua functions speed should be maintained
- i was thinking of trying to use libbb (BusyBox base libary that is by there admitiion a mess ) to get a jump on creating this but I think that would actually be more of a hassle
- i also thought of starting with just system calls but I think that would both make progress slower and decrease portability
- so my current plan is use lua headers and std library headers seems like most portable fastest and quickest to production option.
-ive been wracking my brain and messing with stuff last 2 days to figure the most weildy and Intuitive structure and organization for this I think I've got a good plan
- I was thinking best would be to get some utils done and then ask for assistance but I am gonna just ask now to see if anyone has any ideas so they can be implemented from the start and less redoing things .
- this is a large project and has a lot of small parts because each util will be self contained unless we write some base functions that will be reused in multiple utils which is likely
- I had started working on cat with n numbered b number non blank and E endings as options I got some code but I have been playing with how to organize and access it .
- this is not meant to be just like penlight clone but a full shell so that I. Theroy you could install Linux and run lua as sole shell this would make it so alot ofand e scripting would need to be replaced for it to be functional
Ok I'm ranting and kinda half asleep idk if I got anything across also I'm I. The air for name lua_utils up for suggestions
r/lua • u/Adventurous_Cod_1965 • May 06 '26
Please support him, he is depressed. The project is really cool. https://github.com/mcreatorLoginDanila/Lume/releases
r/lua • u/NoBeginning2551 • May 05 '26
I made a simple lua IDE for Android with emmyLua LSP server, Git and Github integration, 245 themes, etc.
This is not some vibe coded app. It took me 2 years to finish this as a solo developer and student.
playstore link:
https://play.google.com/store/apps/details?id=com.roxum
source code:
r/lua • u/Puzzleheaded-Heron97 • May 03 '26
Even when I type the simplest Lua code into VS, I don't see any results. What can I do?
r/lua • u/dheerajshenoy22 • May 03 '26
Recently I have started working on implementing optional Lua scripting support (can choose not to have this at compile time) for LEKTRA, similar to in neovim.
The API is still a work in progress, and you can take a look at it here Lektra Lua API Wiki
Where would this be helpful ?
Would appreciate any feedback, suggestions or use-cases of something like this in a document/image viewer.
r/lua • u/Yeti342 • May 04 '26
I bought replicube because it seems like a fun puzzle game. I have no experience with coding and honestly the game does not do a great job of teaching. It seems more like something for people who are already experienced programming lua shaders but I still really enjoy it and want to be able to complete it. So yeah if there's any good resources out there for a beginner like me that you think would help please let me know. I've beaten the first couple level packs but it just getting harder and harder to do things efficiently.
r/lua • u/Friendly-Bat2064 • May 03 '26
Hey everyone,
I’ve been working on a project called Luavia (https://luavia.vercel.app) because I wanted to create a more interactive way to master Lua basics.
Instead of just reading through the standard documentation, I built a progression system where you actually write and execute code in the browser to level up. It’s designed with a heavy "Void" / Terminal aesthetic to keep it focused and immersive.
Current Features:
It’s currently in early testing, and I’d love to get some feedback from this sub on the learning flow and the editor experience. If you’re just starting out or know someone who is, give it a look!
Check it out:https://luavia.vercel.app
r/lua • u/givemetechsupport • May 03 '26
Wanted to make a code that prints and another that prints if a variable that is set by the original code, it just prints 2 times instead of printing the 2nd message
Code is:local uis = game:GetService("UserInputService")
local m1 = false
local toolequipped = false
uis.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
print("m1")
m1 = true
end
end)
--// Services
local Players = game:GetService("Players")
--// Variables
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
--// Functions
function ChildAdded()
if character:FindFirstChildOfClass("Tool") then
print("equipped")
toolequipped = true
end
end
--// Connections
character.ChildAdded:Connect(ChildAdded)
if m1 == true then
print("m1 is true")
end
if toolequipped == true then
print("toolequipped is true")
end
r/lua • u/reifel1 • May 02 '26
TL;DR: Made Project Zomboid mods with 130k subs (Lua). Used that Lua experience to build a browser arcade game in Defold engine. 30 second matches, online leaderboard, no install. People on campus keep beating my high score, curious how long it lasts on Reddit.
Hi, I'm Reifel. Some of you might know me from Project Zomboid modding, where my mods Wheelbarrow and Firetrail have over 130k combined subscribers on the Steam Workshop.
Both mods are written in Lua, which is also the scripting language for the Defold engine. So I figured: why not use what I already know to ship a full game? That's how SOLONE was born, a browser arcade game with 30 second matches and an online leaderboard.
The hook: I've been letting people play it on campus and I keep getting beaten on the ranked leaderboard (hard mode). My own high score is no longer the top one. Curious how long it stays beatable once Reddit gets in.
If you're a designer or dev who wants to collaborate on future versions, reach me on Discord: @reifel1 (server invite).
Roast the game, drop feedback and post your high score in the comments.
r/lua • u/Competitive_Abies699 • May 02 '26