23 Must‑Try Open‑Source Game Projects on GitHub to Boost Your Coding Skills
This article curates 23 open‑source game projects hosted on GitHub—ranging from Vim plugins and JavaScript Tetris clones to Python, Go, and web‑based multiplayer titles—providing installation steps, feature highlights, code snippets, and live demo links so developers can learn, experiment, and have fun during breaks.
The article introduces a collection of 23 open‑source game projects hosted on GitHub, covering a wide range of genres and technologies, and explains how each can be used for learning and entertainment.
Games on GitHub
This repository aggregates many open‑source games and related tools, including educational, browser‑based, and engine projects.
vim-game-code-break
A Vim plugin that turns the editor into a "break the beans" style game. Plug 'johngrib/vim-game-code-break' After installing, run :source % and :PlugInstall, then start the game with :VimGameCodeBreak.
h / l – move left/right
space – launch ball
` – cheat
] – god mode, [ – human mode
q – quit game, Q – exit Vim
GitHub: https://github.com/johngrib/vim-game-code-break
javascript-tetris
A simple JavaScript Tetris implementation using HTML5, with full source and a live demo.
GitHub: https://github.com/jakesgordon/javascript-tetris Online demo: https://codeincomplete.com/games/tetris/
react-tetris
A React‑Redux version of Tetris that also demonstrates Immutable.js for state management.
GitHub: https://github.com/chvin/react-tetris Online demo: https://chvin.github.io/react-tetris/
sshtron
A multiplayer Lightcycle game playable over SSH. # ssh sshtron.zachlatta.com W/A/S/D – move (avoid arrow keys)
Ctrl+C – quit
GitHub: https://github.com/zachlatta/sshtron
battle-city
A React recreation of the classic tank battle game, using SVG for pixel‑style graphics, Immutable.js for data structures, and Redux‑Saga for game logic.
GitHub: https://github.com/shinima/battle-city Online demo: http://shinima.pw/battle-city/
pacman
An HTML5 implementation of Pac‑Man with clean, commented source code, ideal for beginners.
GitHub: https://github.com/mumuy/pacman Online demo: http://passer-by.com/pacman/
ratel
A command‑line Dou Dizhu (Chinese card game) built on Netty, supporting both client and server modes.
GitHub: https://github.com/ainilili/ratel
lila
An open‑source, ad‑free, multilingual online chess platform written in Scala.
GitHub: https://github.com/ornicar/lila Online: https://lichess.org/
star-battle
A JavaScript ES6 Canvas space‑shooter game.
W/A/S/D – control ship, Space – fire
Fuel starts at 15, decreases 1 per second, game ends at 0
Collect fuel bottles (+15, max 30)
Hit enemies (+5), planets (+10 after two hits), friendly fire –10
Collisions affect fuel and score, negative scores allowed
P – pause, M – mute
GitHub: https://github.com/gd4Ark/star-battle Online demo: https://4ark.me/star-battle/
PythonPlantsVsZombies
A Python recreation of the classic Plants vs. Zombies game.
Supports Sunflower, Peashooter, Ice Shooter, Nut, Cherry Bomb, etc.
Includes various zombie types such as regular, whiplash, conehead, buckethead, newspaper zombies.
Level data stored in JSON (positions, timing, background).
Allows plant card selection before each level.
Day/night modes and adjustable wall‑nut bowling speed.
# python main.py
import pygame as pg
from source.main import main
if __name__ == '__main__':
main()
pg.quit()GitHub: https://github.com/marblexu/PythonPlantsVsZombies
HueJumper2k
A 2 KB JavaScript 3D racing game.
Mouse – steer
Click – brake
Double‑click – jump
R – restart
1 – toggle screen view
GitHub: https://github.com/KilledByAPixel/HueJumper2k Online demo: https://killedbyapixel.itch.io/hue-jumper
free-python-games
A collection of beginner‑friendly Python games (snake, maze, Pong, word guess, etc.) with simple, readable code.
GitHub: https://github.com/grantjenks/free-python-games
css-sweeper
A Minesweeper clone built entirely with HTML and CSS.
GitHub: https://github.com/propjockey/css-sweeper Online demo: https://propjockey.github.io/css-sweeper/
emoji-minesweeper
A Minesweeper game that uses emoji symbols.
Left‑click – reveal a cell
Right‑click – flag as bomb
Double‑click – reveal surrounding cells (excluding flagged bombs)
GitHub: https://github.com/muan/emoji-minesweeper Online demo: http://muan.github.io/emoji-minesweeper/
MazeBattles.com
An online multiplayer maze game built with Node.js and Socket.io; move with WASD.
GitHub: https://github.com/HenryDavidZhu/MazeBattles.com Online demo: http://www.mazebattles.com/
flexboxfroggy
An interactive game that teaches CSS Flexbox concepts across 24 levels, available in multiple languages.
GitHub: https://github.com/thomaspark/flexboxfroggy Online demo: https://flexboxfroggy.com/
gorched
A terminal‑based Scorched Earth clone written in Go.
← → – adjust cannon angle
Space – charge and fire
Ctrl+C – exit
Ctrl+R – restart round
Ctrl+N – next round
S – show score
A – show player stats
H – help
GitHub: https://github.com/zladovan/gorched Online demo: https://repl.it/@zladovan/gorched
Mindustry
A free, Java‑based sandbox tower‑defense game supporting Windows, Linux, macOS, and Android.
GitHub: https://github.com/Anuken/Mindustry
AIDungeon
A machine‑learning‑powered text adventure game.
GitHub: https://github.com/Latitude-Archives/AIDungeon Online demo: https://play.aidungeon.io/main/landing
OpenEmu
A macOS emulator that runs dozens of retro console games (Nintendo, PSP, Sega 32X, etc.) and supports external controllers and screen mirroring.
GitHub: https://github.com/OpenEmu/OpenEmu
gameboy.live
A terminal‑based Game Boy emulator with cloud‑gaming support via sockets.
CPU instruction emulation
Timers and interrupts
Supports ROM, MBC1, MBC2, MBC3
Audio and graphics simulation
Cloud gaming and cartridge‑level save/restore
GitHub: https://github.com/HFO4/gameboy.live
cxk-ball
A JavaScript basketball game featuring the Chinese pop star CXK.
Simple
Normal
Hard
Extreme
Non‑human
GitHub: https://github.com/kasuganosoras/cxk-ball Online demo: https://cxk.ssrr.one/
The list above provides developers with a diverse set of open‑source games to explore, modify, and learn from across many programming languages and platforms.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
