Lua is an easy language in which you can already assemble your first prototype today. Let's analyze two popular paths: Roblox (online worlds) and LÖVE2D / Love2D (freedom for 2D games).

Why Lua is a convenient start 🚀
Pros
📝 Minimum syntax — faster to the result.
⚡ High speed and small runtime.
🔌 Integrates into engines and frameworks.
What the first week will be enough for
Objects and simple collision logic.
Score counter and basic UI.
Saving progress and simple levels.
Roblox: you make your world — players come 🌍
Roblox Studio provides a visual editor, an out-of-the-box network part, and monetization. You focus on the gameplay, and the infrastructure is already ready.
🎯 Mini-example: creating a platform in the world
-- Script в Roblox Studio
local platform = Instance.new("Part")
platform.Size = Vector3.new(12, 1, 12)
platform.Position = Vector3.new(0, 10, 0)
platform.Anchored = true
platform.Material = Enum.Material.Metal
platform.Color = Color3.fromRGB(60, 120, 255)
platform.Parent = workspace
Idea for practice: add a timer — the platform disappears and appears every 3 seconds.
LÖVE2D (Love2D): freedom in 2D 🎨
Love2D is a lightweight framework: you draw sprites, process input and physics yourself. Full control over the game cycle and object behavior.
🧩 Mini-example: a ball and control
-- main.lua
local x, y, r = 200, 200, 20
local speed = 220
function love.update(dt)
if love.keyboard.isDown("left") then x = x - speed * dt end
if love.keyboard.isDown("right") then x = x + speed * dt end
if love.keyboard.isDown("up") then y = y - speed * dt end
if love.keyboard.isDown("down") then y = y + speed * dt end
end
function love.draw()
love.graphics.setLineWidth(2)
love.graphics.circle("line", x, y, r)
love.graphics.print("Arrows move the ball", 16, 16)
end
Idea for practice: add window borders and bounces.

Roblox vs LÖVE2D — which one to choose? 🤔
Criterion | Roblox | LÖVE2D |
|---|---|---|
Type of projects | Online worlds, co-op, UGC | 2D platformers, arcades, puzzles |
Start speed | Very fast - a lot of ready-made | Medium - write more yourself |
Monetization | Built-in ecosystem | Independently (itch.io, Steam, etc.) |
Control and freedom | Part is limited by platform rules | Almost unlimited |
Typical mistakes of beginners 🧯
⏭️ Immediately "big game". Start with one mechanic.
🔄 No frame rate in calculations. Always consider
dtin Love2D and events/timers in Roblox.📦 Chaos in files. Split the code into modules and folders (assets, scripts, ui).
🧪 No tests/runs. Every change is a short test run.
In the attachment Kodik — programming training There are mini-projects, step-by-step tasks and code analysis: from the first scripts to the publication of the prototype. The format is "let's do it together", without overloading with theory.
📢 And we also have Telegram channel!
There we discuss new articles, share vacancies, collect feedback and just communicate with developers.
If you want to be in the know, study with others and learn about new features, be sure to check it out.
Cozy, businesslike and without spam 😊
