Каталог open-source клонов игр

Всем


Open Source Game Clones - каталог репозиториев

Учебные главы раздела (движок, языки, Unity, скрипты Unity в Lab) объясняют принципы. Open Source Game Clones — живой указатель на сотни реальных репозиториев, где энтузиасты воссоздают или переосмысляют известные игры. Сайт ведётся сообществом; исходный список и правила добавления — в репозитории opengaming/osgameclones на GitHub.

Каталог удобен, когда нужен конкретный пример кода под задачу — pathfinding в RTS, сетевой lockstep, UI инвентаря, физика гонок, порт старой adventure на современный движок. Это дополнение к Minecraft, командам и datapack в Lab и к инструментам для игр, а не замена им.


Как устроен osgameclones.com

Для каждой оригинальной игры перечислены проекты-клоны или ремейки. У записи обычно есть:

Поле Что означает
type Clone — своя реализация по мотивам; Remake — часто ближе к оригиналу или порт движка
status Playable, Semi-Playable, Unplayable — насколько проект пригоден для запуска
development Very Active, Sporadic, Halted, Complete — жив ли репозиторий
langs C, C++, C#, JavaScript, Rust и др. — по чему фильтровать при изучении стека
frameworks SDL, Godot, Unity, OpenGL, .NET — связь с видами движков
content Open, Free, Commercial, Swappable — откуда берутся ассеты (важно юридически)
licenses MIT, GPL, Apache и т.д. — можно ли использовать код в своём проекте

На сайте есть поиск и фильтры; исходные данные каталога лежат в репозитории opengaming/osgameclones (имена файлов со временем меняются — ориентир README репозитория).

Юридические рамки

Каталог описывает учебные и фанатские проекты.

Названия коммерческих игр принадлежат правообладателям.

Исходники в репозитории — это чужой код под их лицензией; ассеты с пометкой `Commercial` нельзя просто перенести в свой релиз.

Для портфолио и обучения клонируйте механику и архитектуру; для публикации в store — свой арт, звук и бренд.

Подробнее о моддинге и границах — в Minecraft и тестировании.


Что можно делать с каталогом

Цель Как использовать каталог
Разобрать движок и цикл игры Выберите жанр, найдите Playable + ваш язык (например C# + Godot). Соберите проект локально, поставьте breakpoint в Update / главном цикле — см. игровой цикл.
Изучить AI, pathfinding, сеть RTS / roguelike / MMO-клоны: ищите multiplayer, C++, активную разработку. Сопоставьте с архитектурой гонок и главой про языки.
Вписаться в open source Фильтр Very Active, откройте Issues / "good first issue" в репозитории. Полезная практика перед командой в студии.
Моды и плагины Смотрите проекты с content: Swappable или отдельные движки вроде ScummVM (много классических adventure) — паттерн "ядро + данные игрока".
Новые механики, NPC, транспорт Найдите клон жанра (симулятор, тактика, аркада) и выпишите 2–3 файла: спавн, FSM, таблица оружия. Переносите идею, не копируйте файлы целиком.
Эксперименты с графикой (Unity, RTX, VR) Фильтр frameworks: Unity или OpenGL / Vulkan; сравните с оптимизацией и платформами PCМобильные игры.

Примеры направлений (отправные точки)

Ниже — иллюстрации типов проектов в каталоге (названия оригиналов — ориентир при поиске на сайте):

Жанр / тема Зачем смотреть Типичный стек в каталоге
Классические adventure Скрипты, диалоги, сцены ScummVM (C++), ремейки на SDL
Головоломки (2048, Tetris) Минимальный game loop, чистая логика C, JavaScript, Python — быстрый вход после гейм-дизайна
RTS / 4X / транспорт Экономика, карта, AI C++, C#, иногда Java
Шутеры / Quake-линейка Рендер, сеть, моды C, OpenGL, GPL-семейство
Ретро-консоли Ограничения железа Assembly, эмуляторы, порты

Конкретный репозиторий всегда проверяйте по status и дате коммитов: Halted годами назад всё равно полезен как снимок идеи, но для контрибуции лучше Very Active.


Подборка по стекам

Ниже — стартовые точки под ваш трек в энциклопедии. Статусы (Playable, Very Active) сверяйте на osgameclones.com: каталог обновляется, репозитории иногда замирают. Ссылки ведут на GitHub; на сайте клонов у каждой записи есть кнопка repo.

Ассеты

Часть проектов требует файлы оригинальной игры (особенно RPG и adventure). В README обычно написано, что можно скачать бесплатно, а что нужно купить. Без легальных ассетов сборка может собраться, но мир останется пустым.


Unity (редактор Unity, C#)

Проект Оригинал Что разбирать в коде Каталог
Daggerfall Unity The Elder Scrolls II: Daggerfall Огромный мир, квесты, UI, моды, типичные паттерны Unity (MonoBehaviour, сцены, ScriptableObject) Playable, Complete
unitystation Space Station 13 Мультиплеер, взаимодействие предметов, "живой" уровень, сетевые рассинхроны Very Active
osu! osu! Точный тайминг, UI, аудио, производительность 2D без тяжёлого 3D — хороший C# после Unity Very Active

Первое задание: форк → собрать по README → найти один gameplay-скрипт (движение, инвентарь, тик симуляции) и нарисовать схему "кто кого вызывает за один кадр".

C# без Unity (если Unity уже знаком, а хочется другой архитектуры): OpenRA (RTS, C# + Lua), Space Station 14 (свой движок Robust, зато эталон сетевого геймплея и контент-пайплайна).


Unreal Engine и "родственный" C++

В каталоге мало живых проектов именно на UE5/Blueprint — чаще встречаются самописные C++ движки с теми же задачами, что и в Unreal — рендер, физика, AI, сеть. Их разбирают параллельно с Unreal Engine и Справочник по Unreal Engine.

Проект Оригинал Что разбирать Каталог
OpenMW Morrowind Открытый мир, скрипты, сохранения, моддинг Very Active
0 A.D. Age of Empires (по духу) RTS: юниты, pathfinding, экономика Active
OpenXcom X-COM Пошаговый бой, FSM AI, тактическая сетка Active
OpenSpades Ace of Spades Воксели, FPS, сеть с низкой задержкой Sporadic
OpenLoco Locomotion / Tycoon-линейка Логистика, pathfinding на карте Very Active

Первое задание: в OpenMW или OpenXcom найти цикл обновления мира и один файл с AI/боевым решением; сопоставить с Actor/Component в UE.

Официальные sample-проекты Epic дополняют каталог: там готовый редактор и Blueprint, здесь — "голый" C++ без оболочки маркетплейса.


C++ (нативные движки, SDL, свой рендер)

Подходит и для трека Unreal (C++), и для языков игр в разделе C++.

Проект Оригинал Что разбирать Каталог
OpenTTD Transport Tycoon Pathfinding, экономика, мультиплеер, долгие сессии Very Active
OpenRCT2 RollerCoaster Tycoon 2 Симуляция гостей, микро-AI, сохранения Very Active
Endless Sky Escape Velocity Космос, торговля, бои, квесты в 2D Very Active
ScummVM десятки adventure Движок "ядро + данные игры", скрипты, порты Very Active
SuperTux Super Mario (по духу) 2D физика, тайлы, простой game loop Very Active
Widelands The Settlers RTS на карте, экономика, Lua для данных Very Active

Первое задание: в OpenTTD или OpenRCT2 — как ищут путь и как сериализуют мир в сейв.


Godot (GDScript / C#)

Проект Оригинал Что разбирать Каталог
OpenCiv3 Civilization III Godot 4 + C#, 4X, моды, UI, AI в C7Engine Very Active, Semi-Playable
SuperTux Classic платформер Чистый GDScript, 2D, уровни Active

См. Виды движков и Godot в полезных инструментах.

Первое задание: в OpenCiv3 открыть сцену главного меню и один модуль в C7Engine с логикой хода AI.


Roblox (Luau) и близкие по идее

Прямых "клонов Roblox" в каталоге почти нет; зато есть проекты с скриптовым слоем поверх движка — как Luau в Roblox.

Проект Оригинал Что разбирать Каталог
Minetest Minecraft (по духу) Lua-моды, сервер/клиент, блочный мир Very Active
OpenRA Command & Conquer Правила и миссии на Lua, данные юнитов Very Active
Widelands The Settlers Lua-карты и сценарии поверх C++ Very Active

Первое задание: в Minetest включить один mod из документации и проследить, как Lua вызывает API движка; сопоставить с RemoteEvent / ModuleScript в Roblox.

Для UGC и экономики в Roblox — Внутриигровая экономика Roblox; для блочного мира — Minecraft и практика команд / datapack.


Сводка — один вопрос — один репозиторий

Вопрос Куда смотреть первым
Как устроен игровой цикл в Unity? Daggerfall Unity, osu!
Мультиплеер и авторитет сервера? unitystation, Space Station 14
Pathfinding и очереди юнитов? OpenTTD, 0 A.D., OpenRA
Пошаговый AI? OpenXcom
Открытый мир + квесты? OpenMW, Daggerfall Unity
Моды и скрипты? Minetest, ScummVM, OpenCiv3
2D платформер? SuperTux, SuperTux Classic
Godot + C#? OpenCiv3

Если проект не собирается за вечер — возьмите соседний из той же строки; цель разбора — один подсистемный ответ, а не прохождение всей игры.


Рабочий порядок "разбор по винтикам"

  1. Сформулируйте вопрос — например: "как хранят состояние юнита" или "как синхронизируют ход в сети".
  2. Отфильтруйте на osgameclones.com по языку/движку, который вы уже учите (Языки программирования игр).
  3. Соберите и запустите один Playable проект — без запуска легко ошибиться в оценке сложности.
  4. Найдите узелgrep по репозиторию — pathfind, inventory, spawn, SaveGame.
  5. Зафиксируйте вывод в своём GDD или конспекте (процесс разработки) — одна схема или псевдокод, не копипаста сотен строк.

Такой разбор хорошо сочетается с дорожной картой геймдева: после базового курса по Unity или Unreal каталог даёт "экскурсии" в чужие кодовые базы без NDA студийных проектов.


Связанные материалы в энциклопедии


См. также