>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Security
Python

Where to Find Source Code for Your Favorite Games — osgameclones Project Overview

2,969 stars

Sometimes you want to take a break from work tasks, spin up an old-school project locally, and see how it works under the hood. But finding the source code for legendary titles is no easy feat. Most of them are protected by copyright, and their internals are locked away in corporate vaults. However, the community has been creating clones, remakes, and open-source engines for decades, making it possible to run classics on modern systems.

The osgameclones repository is arguably the most comprehensive database of such projects. It's not just a list of links, but a structured catalog maintained by the community for over ten years.

Build and Deploy

Why This Is Useful for Developers

For gamedev, this repository is like an anatomy textbook. If you're writing your own engine or just want to understand how economy is implemented in strategy games like Settlers or physics in platformers, you can find working examples in C++, Python, Rust, and even JavaScript.

Beyond learning, the project is useful for those who want to contribute to Open Source but don't know where to start. The database has hundreds of games: from simple arcade games to massive RPGs, and many of them constantly need helping hands for bug fixes or porting to new platforms.

How the Database Is Organized

The project authors took a thorough approach. Instead of dumping everything into one massive README, they use YAML files to store data. The repository has two main folders:

  • originals — contains information about original commercial games.
  • games — holds descriptions of clones and remakes with links to repositories, official sites, and development status.

Interestingly, the project has a strict data validation schema via schema/games.yaml. This ensures there are no broken links or garbage in the database. If you want to add a game, your PR will go through automated checks via GitHub Actions.

What's Inside the Catalog

The database has practically everything:

  1. Open-source engines for running original assets (for example, OpenMW for Morrowind or OpenRA for Command & Conquer).
  2. Complete clones with their own graphics and sound.
  3. Technical demos that showcase only part of the mechanics.

Sorting is alphabetical, but there's an exception for ScummVM. It makes sense: ScummVM hosts so many adventure games that they would simply overwhelm the main list.

How to Run the Project Site Locally

If you're not comfortable reading YAML files through the GitHub interface, you can deploy the project locally. It uses poetry for dependency management and good old make for building.

For containerization enthusiasts, Docker is available. The startup procedure is standard: first build the image, then run the server.

make docker-build
make docker-run PORT=3000

After that, the catalog will be accessible at localhost:3000. Inside the container, a static site runs, generated from those YAML files.

How to Help the Project

The project lives on contributors. If you know a cool clone of Diablo or Dwarf Fortress that's not yet on the list, the authors suggest two paths: filling out a form on the website or creating an Issue from a template. But the best way for a developer is to directly edit the files in the games or originals folders and send a Pull Request.

By the way, the project actively participates in Hacktoberfest, so it's a great chance to earn an achievement for your profile while doing something useful.

The osgameclones repository is a goldmine for those who love retro games and want to dig into their code. There's no complex architecture in the project itself (it's just a Python static site generator), but the value of the content makes up for everything.

Who should take a look:

  • Aspiring game designers and game developers for studying mechanics.
  • Those looking for an interesting Open Source project to contribute to.
  • Video game history enthusiasts.

The project isn't trying to "kill" commercial games, but rather helps preserve their legacy through open source. It's nice to see the database being kept up to date for many years.

Related projects