Post your build ideas
LocalASO Track App Store keyword ranks in every countryFind your vibe. Find you job which is just for you and your dataDealtab Brand Deal Tracker That Does The Work For YouIs Major Cooked? Free AI risk score + roast for your college majorWiral.Social LinkedIn, Scheduler, Scheduling Tool, Ghostwriter
Solo Era solo activities, solo maxxing, sidequests, challengeCadentiq daily routine, wellbeing, self care, healthy habitsTexeva Your businessKeepsake Project Management, Freelancers, DesignersOrvyx AI You create

Game development ideas: 12 small 2D and indie games, with the engine for each

The best game development ideas are small games built around one mechanic you can test in the first hour: tight platformer movement, a daily puzzle, a Sokoban level editor, a card battler or a rhythm game. Pick a 2D game, one free engine such as Godot or LÖVE, and a first version playable in a weekend. Below are twelve 2D and indie game ideas, each with an engine, the skills it teaches, a first version, a stretch goal and a time estimate.

What makes a good game development idea for a first or small game?

A good small game has one mechanic, one screen and a way to tell in the first hour whether it is fun. Most unfinished games fail because the scope was a world, not a mechanic. The ideas here each pick a single system to get right, such as movement feel, an undo stack or a seeded generator, and leave everything else plain.

Two checks help. First, can you describe the core loop in one sentence, such as "push crates onto targets in as few moves as possible"? Second, can you build a rough version using only rectangles and no sound? If the rectangle version is not fun, art will not fix it. The same advice applies if an AI tool writes the code; see how to make a game with AI and vibe coding project ideas for that workflow.

One-page game brief: fill it in before you open an engine
GAME: <working title>
CORE LOOP (one sentence): <what the player does over and over>
PLAYER GOAL: <how they win or improve>
CONTROLS: <keys or buttons, no more than four>
WHAT MAKES IT DIFFICULT: <one thing>
RECTANGLE TEST: the game is playable with squares and no sound by <date>
FIRST VERSION: <one screen, one level or one round>
CUT LIST (what I will NOT build): <menus, settings, multiple characters, story, online play>
DONE WHEN: a friend plays for five minutes without me explaining anything.

Which game engine should you use for a 2D or indie game?

Pick the engine by the language you already know and the platform you want, not by what is popular. All of the following are free to start with, as of October 2026; read each license before you sell a game.

Engines and frameworks used in this list
EngineLanguageFacts from the official site
GodotGDScript or C#Free and open source under the MIT license, 2D and 3D, exports to desktop, mobile and web
LÖVELuaA free, open-source framework for 2D games on Windows, macOS, Linux, Android and iOS
PhaserJavaScriptA free 2D framework for HTML5 games in desktop and mobile browsers, Canvas and WebGL
raylibC, with 60+ bindingsNo external dependencies, written in plain C99, free and open source
MonoGameC#Free and open source framework under the Microsoft Public License; its showcase includes Celeste and Stardew Valley
DefoldLuaDescribed by its makers as a free, small and cross-platform game engine
GameMakerGML or visualFree for non-commercial use; a commercial license costs USD 99.99, as of October 2026
BevyRustA data-driven engine built on an entity component system, free and open source

Unity is the other engine most people name. It has a free Personal plan with a revenue and funding limit, so check Unity's current plans before you rely on it for a commercial game. If you are unsure, use Godot for general 2D, LÖVE or Phaser for the lightest start, and raylib if you want to learn C.

Which 2D game ideas can you finish in a weekend?

These four fit a game jam weekend. Each has one system worth polishing and almost no content to produce.

01 Platformer with coyote time and jump buffering

A one-level platformer whose entire purpose is movement that feels forgiving: you can jump a moment after leaving a ledge, and a jump pressed just before landing still counts.

Engine
Godot with GDScript.
Teaches
Fixed time steps, state machines, variable jump height, tuning numbers in an inspector.
Time
10 to 16 hours.

First version: run, jump, collide with rectangles, and one level made of platforms. Stretch goal: coyote time of roughly 100 milliseconds, a jump buffer of the same order, variable jump height when the button is released early, and a debug overlay showing the timers. Record yourself playing with and without each trick; the difference is the lesson.

02 Seeded daily puzzle

A short puzzle where everyone gets the same board on the same date, played in a browser, with a shareable result.

Engine
Phaser, or plain JavaScript and canvas.
Teaches
Seeded random number generators, date handling in UTC, generating puzzles with a guaranteed solution, a share string.
Time
12 to 20 hours.

First version: a generator that takes a date string as the seed and always produces the same puzzle, plus a screen to play it. Stretch goal: a solver that proves each generated board is solvable and rates its difficulty, a streak counter kept on the device, and a result like a row of colored squares that you can paste into a message. Test that two devices on the same date get the same board.

03 Sokoban with a level editor and unlimited undo

The crate-pushing puzzle, where the interesting part is the editor you build for your own levels and the undo stack behind every move.

Engine
Defold or LÖVE, both with Lua.
Teaches
Grid movement, undo as a stack of state changes, saving and loading level files, input handling.
Time
12 to 20 hours.

First version: one hard-coded level, grid movement, pushing a crate, a win check. Stretch goal: load levels from text files, an in-game editor that places walls, crates and targets, undo and redo to the start of the level, and a move counter that stores your best. Build five levels and ask a friend which one is the worst.

04 Falling-sand physics toy

A sandbox where you paint sand, water and stone and watch them settle by simple local rules.

Engine
raylib in C or C++, or any framework that lets you set pixels.
Teaches
Cellular automata, update order, double buffering, performance on a grid of tens of thousands of cells.
Time
8 to 14 hours.

First version: one material, sand, that falls and piles up, drawn with the mouse. Stretch goal: water that spreads sideways, stone that stays, a rule for fire turning wood to ash, and a frame-time display. Bias which side you scan first on alternating frames, or the sand will lean to one side.

Which indie game ideas teach a core game system?

These four are bigger, with one clear system each: an economy, audio timing, pathfinding and data-driven rules. They suit a month of evenings. They also make a better portfolio piece than a clone with everything done halfway; see portfolio project ideas.

01 Idle game with offline progress

A clicker-style game where resources keep growing while the game is closed, with generators, upgrades and a balanced cost curve.

Engine
Godot, or Phaser for a browser version.
Teaches
Big-number handling, exponential cost curves, saving state, computing elapsed time safely on return.
Time
15 to 25 hours.

First version: one currency, one generator, a buy button, and the number going up every second. Stretch goal: five generators with costs that grow by a fixed ratio, an offline calculation that uses the saved timestamp (and caps it so a changed system clock cannot hand out years of income), and a spreadsheet of your cost curve before you code it.

02 Rhythm game from a beat map

A falling-notes game where you hit keys in time with a song, with notes loaded from a small map file.

Engine
LÖVE with Lua.
Teaches
Audio clock versus frame clock, hit windows, input latency, a file format for charts.
Time
20 to 30 hours.

First version: four lanes, notes scroll down, a key press within a window of the note's time scores a hit. Stretch goal: judge by the audio playback position and not the frame count, a calibration screen for latency, and a simple editor that records your key presses into a map. Use music you made or are licensed to use.

03 Tower defense with pathfinding

A map where waves of enemies walk to an exit and you place towers that change the path they take.

Engine
Godot.
Teaches
A* search on a grid, recomputing paths when the map changes, targeting rules, wave data.
Time
25 to 40 hours.

First version: a fixed path, one tower type, five waves loaded from a data file. Stretch goal: open ground where towers act as walls, enemies recompute their path with A*, a rule that forbids a placement that fully blocks the exit, and two tower types with different targeting. Watch what happens with 200 enemies on screen, and optimize only what the profiler shows.

04 Deckbuilder with data-driven cards

A small card battler in which every card is a row of data, and adding a new card never needs new code.

Engine
Godot, with cards stored as resources.
Teaches
Effects as data, turn order, a stack for resolving effects, balance by simulation.
Time
30 to 45 hours.

First version: ten cards with damage and block, one enemy, a hand of five, three energy per turn. Stretch goal: statuses such as poison, a card reward screen after each fight, and a script that plays 10,000 random games to find the card that wins too often. Put the card definitions in files a non-programmer could edit.

Which 2D game ideas are bigger projects with multiplayer or generation?

These four need more than one session to finish. Pick one if you have shipped a smaller game already. Cut features ruthlessly, and ship a version someone else can download or open.

01 Seeded roguelike in Rust

A turn-based dungeon crawler where one seed generates the same dungeon every time, built on an entity component system.

Engine
Bevy with Rust.
Teaches
Entities, components and systems, procedural generation, field of view, saving a seed.
Time
40 to 60 hours.

Bevy's site describes components as Rust structs and systems as Rust functions. First version: one generated floor of rooms and corridors, a player who moves and bumps into walls, and a seed printed on screen. Stretch goal: monsters with simple chase behavior, field of view, items, stairs to a second floor, and a test that the same seed gives the same map. Rust beginners may want the Rust project ideas first.

02 Two-player arena brawler on one keyboard

A fast duel in one room for two people at one computer, with dodge, attack and a round counter.

Engine
MonoGame with C#.
Teaches
Input from two sets of keys or gamepads, hitboxes, hit stop and screen shake, round flow.
Time
25 to 40 hours.

First version: two squares, movement, an attack that removes health from the other, first to three rounds. Stretch goal: gamepad support, a dodge with invulnerability frames, three arenas and a few frames of hit stop when an attack lands. This is the cheapest multiplayer to build and to test, because both players sit next to you.

03 Bullet-hell shooter with a pattern editor

A vertical shooter where enemy bullet patterns are described in a small text format that you edit while the game runs.

Engine
GameMaker.
Teaches
Object pooling, trigonometry for spawn patterns, hitbox design, a small scripting format.
Time
30 to 50 hours.

GameMaker is free to download for non-commercial use, and a commercial license is needed if you want to make money from your game. First version: a ship, one enemy that fires a ring of bullets, a small hitbox for the ship. Stretch goal: patterns defined in a text file with spawn rate, angle, speed and spiral parameters, reloaded with a key, and three bosses built only from pattern files.

04 Turn-based multiplayer board game with server-checked moves

An online two-player game, such as a small abstract board game, where the server decides whether each move is legal.

Engine
Phaser in the browser, Node.js with WebSockets on the server.
Teaches
Client versus server authority, game state as data, reconnecting, why a client cannot be trusted.
Time
35 to 55 hours.

First version: two browser windows join a room, take turns, and the server rejects an illegal move. Stretch goal: reconnect to a game in progress, a move history, a resign button and a timer. Keep the rules in one module used by both sides so you cannot create a disagreement. Turn-based play avoids the hardest netcode problems, which is why it is the sensible first online game.

Where can you find game ideas other people want?

The board at Post your build ideas has a gaming category of ideas people will not build themselves. Two posted there: a game where you work out and fight monsters, which makes reps the damage in a small game, and a tool that answers which of my friends already owns this game. Browse all ideas for mechanics hidden in other categories, such as a chore board that pays pocket money, which is a quest log in plain clothes. Every idea has a generated build prompt, and you can post your own with no account.

How do you finish a game instead of starting five?

  1. Set a deadline of two weeks for the first version, and a day by which a stranger can play it.
  2. Build with rectangles first. Replace them with art only after the loop is fun.
  3. Cut features by name in your brief. If it is on the cut list, it stays there until the game is released.
  4. Test with someone who has not seen it, and do not explain anything.
  5. Ship the small version. A published 20-minute game teaches more than an unfinished big one.

See also coding project ideas for non-game builds that use the same skills, and C++ project ideas if you want to write your own engine pieces.

Frequently asked questions

What are good 2D game ideas for beginners?

A platformer with tuned movement, a Sokoban puzzle with undo, a daily seeded puzzle or a falling-sand toy. Each has one mechanic, one screen and almost no content. Use free engines such as Godot or LÖVE and build with rectangles before you add art or sound.

What are good indie game ideas for a solo developer?

Pick a mechanic you can make feel good alone: a card battler with data-driven cards, a rhythm game, a tower defense with pathfinding or a short roguelike. Avoid anything needing large amounts of art, story or live servers. Scope to a game a stranger can finish in twenty minutes.

Which game engine is best for a first 2D game?

Godot suits most beginners because it is free, open source and made for 2D and 3D. LÖVE and Phaser are lighter if you prefer Lua or JavaScript, and GameMaker has a visual option. Choose the language you already know, and finish one small game before you switch engines.

How long does it take to make a small indie game?

A one-mechanic game can reach a playable first version in 10 to 20 hours, a weekend of work. Systems-heavy games take 25 to 45 hours, and multiplayer or generated games 35 to 60 or more. Polish, bug fixes and publishing often take as long as the first version.

Can I make a game with an AI coding tool?

Yes. Describe one mechanic, the controls and a done condition, and ask for a rectangle version first. Read the movement and rules code yourself, because game feel comes from numbers you must tune by hand. AI tools are less reliable with engine-specific scene files, so test often.

Where can I find game development ideas other people want?

Browse the gaming category on the Post your build ideas board, where people post ideas they will never build. Each has a generated build prompt that you can adapt to your engine. Mechanics also hide in other categories, like fitness and chores.

Created with AI assistance and edited for this site. Examples are illustrative and do not represent customer research. About the publisher.