Перейти к основному содержимому

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

Всем

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

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

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


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

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

ПолеЧто означает
typeClone — своя реализация по мотивам; Remake — часто ближе к оригиналу или порт движка
statusPlayable, Semi-Playable, Unplayable — насколько проект пригоден для запуска
developmentVery Active, Sporadic, Halted, Complete — жив ли репозиторий
langsC, C++, C#, JavaScript, Rust и др. — по чему фильтровать при изучении стека
frameworksSDL, Godot, Unity, OpenGL, .NET — связь с видами движков
contentOpen, Free, Commercial, Swappable — откуда берутся ассеты (важно юридически)
licensesMIT, GPL, Apache и т.д. — можно ли использовать код в своём проекте

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

:::caution Юридические рамки Каталог описывает учебные и фанатские проекты. Названия коммерческих игр принадлежат правообладателям. Исходники в репозитории — это чужой код под их лицензией; ассеты с пометкой 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; сравните с оптимизацией и платформами 118122.

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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


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

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

ПроектОригиналЧто разбиратьКаталог
OpenTTDTransport TycoonPathfinding, экономика, мультиплеер, долгие сессииVery Active
OpenRCT2RollerCoaster Tycoon 2Симуляция гостей, микро-AI, сохраненияVery Active
Endless SkyEscape VelocityКосмос, торговля, бои, квесты в 2DVery Active
ScummVMдесятки adventureДвижок «ядро + данные игры», скрипты, портыVery Active
SuperTuxSuper Mario (по духу)2D физика, тайлы, простой game loopVery Active
WidelandsThe SettlersRTS на карте, экономика, Lua для данныхVery Active

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


Godot (GDScript / C#)

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

См. Виды движков и Godot в /tools/games.

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


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

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

ПроектОригиналЧто разбиратьКаталог
MinetestMinecraft (по духу)Lua-моды, сервер/клиент, блочный мирVery Active
OpenRACommand & ConquerПравила и миссии на Lua, данные юнитовVery Active
WidelandsThe SettlersLua-карты и сценарии поверх C++Very Active

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

Для UGC и экономики в Roblox — 202; для блочного мира — также Minecraft.


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

ВопросКуда смотреть первым
Как устроен игровой цикл в 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 по языку/движку, который вы уже учите (114).
  3. Соберите и запустите один Playable проект — без запуска легко ошибиться в оценке сложности.
  4. Найдите узелgrep по репозиторию: pathfind, inventory, spawn, SaveGame.
  5. Зафиксируйте вывод в своём GDD или конспекте (процесс разработки) — одна схема или псевдокод, не копипаста сотен строк.

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


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


См. также


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).