DEV Community

Mrs. Th
Mrs. Th

Posted on

Lessons from Open-Source Game Projects

Tutorials are an excellent way to learn the basics of game development and become familiar with your chosen framework or engine. They provide a guided path, allowing you to follow along and practice the concepts being taught. However, tutorials often have a limited scope, focusing on specific tasks or features rather than the bigger picture.

When you're ready to tackle your first major project, you'll likely find yourself facing various architectural decisions. To make these choices wisely, it's crucial to study good practices and see how successful projects have been implemented in the past. One of the best ways to do this is by examining open-source games.

Open-source games offer a wealth of knowledge, as they allow you to see how experienced developers have approached various challenges and solved common problems. By studying these games, you can gain insights into best practices, efficient coding techniques, and innovative solutions.

Here is a list of open-source games that you can study to improve your game development skills:

Open-Source Games by Genre

Action

  • Unvanquished - FPS arena game with some RTS elements. C++, libRocket
  • Bemuse - Web-based rhythm game. Typescript, Javascript, React, Redux, PixiJS
  • Ikemen-GO - Remake of the IKEMEN (open-source fighting games engine that supports M.U.G.E.N resources). GO, GLFW, OpenGL
  • Carnage3D - GTA 1 clone. C++, C, GLFW, GLEW, Box2D
  • RE3 - GTA 3 clone. C++, DX9, OpenGL
  • San Andreas Unity - GTA San Andreas clone in Unity. C#
  • donut - Simpson's Hit & Run clone. C++, OpenGL, SDL2
  • OpenMB - Mount & Blade clone. C#, Oger3D
  • OpenTomb - Tomb Raider 1-5 clone. C++, C, Lua, OpenGL, SDL2
  • Rigel Engine - Duke Nukem 2 clone. C++, C, OpenGL, SDL2
  • Doom Retro - Doom source port for Windows. C, SDL2

Platformer

Adventure

  • Zelda3 - Zelda 3 clone. C, SDL2
  • ZQuest Classic - Engine to play and create games like the original Zelda. C++, OpenGL
  • ScummVM - Engine to run DOS Point & Click Adventure games. C++, SDL2, OpenGL
  • raw(gl) - Another World clone. C++, SDL2

Text-based Games

  • Angband - Roguelike Dungeon Crawler. C
  • A Dark Room - Text Adventure with survival and city-building elements. JavaScript
  • Ravenier - MUD server (text-based MMORPG). Javascript, Node.js
  • Evennia - MUD server (text-based MMORPG). Python
  • CoffeeMud - MUD server (text-based MMORPG). Java
  • Mudlet - Client to connect to a MUD server, scriptable. C++, Lua

Visual novel

  • Ren'Py - Visual Novel Engine. Python, Cython, C
  • Learn to Code RPG - Visual Novel that teaches you to code, created with Ren'Py. Ren'Py, Python
  • Bathory - Visual Novel created with Ren'Py. Ren'Py
  • The Parallax Door - Visual Novel created with Ren'Py. Ren'Py

RPG

  • Flare Engine - ARPG Engine inspired by Diablo 2. C++, SDL2
  • Flare Game - ARPG, the Flare engine was created for. Plain Text, Python
  • OpenMW - The Elder Scrolls Morrowind clone. C++, OpenGL
  • OpenDiablo2 - Diablo 2 clone. Go
  • OpenEnroth - Might&Magic VI-VIII clone. C++, OpenGL
  • OpenGothic - Gothic 2 clone. C++, DX12, Vulkan, Metal
  • OpenVIII - Final Fantasy VIII clone. C#, MonoGame
  • Riiablo - Diablo 2 clone. Java, LibGDX, OpenGL

Massively Multiplayer Online Role-Playing Game (MMORPG)

  • CMangos Classic - World of Warcraft: Classic server emulation. C++
  • Azerothcore - World of Warcraft: Wrath of the Lich King server emulation. C++
  • Open RSC - RuneScape Classic clone. Java
  • Runelite - Open Source old-school RuneScape client. Java
  • Ryzom - Commercial MMORPG available on Steam went open source. C++

Simulation and Management Games

  • OpenTTD - Open source simulation game based upon Transport Tycoon Deluxe. C++, SDL2
  • Rogs of Rods - Soft-body physics simulator mainly targeted at simulating vehicle physics. C++, OpenGL
  • FreeSO - The Sims Online and The Sims 1 clone. C#
  • OpenRCT2 - Roller Coster Tycoon 2 clone. C++, SDL2, OpenGL
  • Librelancer - Freelancer clone. C#, OpenGL
  • fs2open - FreeSpace 2 clone. C++, SDL2
  • CrosixTH - Theme Hospital clone. Lua, C++
  • Keeper FX - Dungeon Keeper clone. C
  • KeeperRL - Dungeon Keeper inspired, available on Steam. C++

Strategy and City Building

Sandbox

Racing

  • SuperTuxKart - Mario Kart inspired racing game. C++, C, OpenGL, SDL2
  • DreeReally - Death Really clone. C, SDL
  • Vangers - Racing Game with Role-Playing elements, available on Steam. C++, C, SDL2

Card, Board and Puzzle Games

  • PokerTH - Poker Game. C++, QT5
  • Lichess - Online Chess Server. Scala, TypeScript
  • Enigma - Puzzle Game. C++, C, SDL2

Top comments (2)

Collapse
 
michaeltharrington profile image
Michael Tharrington

Nice comprehensive list here!

Collapse
 
marcelomsc profile image
Marcelo

Complete list of games.