Ветки Super Mario Bros. X

Super Mario Bros. X - (в основном известный как "SMBX"', см. основную статью) это фанатская игра о Марио, написанная Эндрю Спинксом "Redigit" в 2009-м году. Игра была написана на Visual Basic 6 (VB6). С тех пор, как разработка игры прекратилась, множество людей, независимых друг от друга, начали свои попытки воссоздать игру.

Основные ветки
Это основные ветки игры: те ветки, которые находятся в активной разработке и активно поддерживаются (за исключением лишь первоначальной ветки Redigit-а, брошенной в 2011м году).

Super Mario Bros. X 1.3


(Также известна как ванилька) Это главная и первая ветка игры, являющаяся основой для всех других веток. Игра была выпущена в 2009м году и поддерживалась вплоть до 2011го года (последняя версия игры вышла в октябре 2010го года). Данная игра определяет стандарт SMBX64, который описывает слой совместимости между различными ветками SMBX. До 2 февраля 2020го года, исходный код SMBX был закрытым. В течении времени, игра привлекала к себе различных моддеров и хакеров, разрабатывающих расширения и модификации исполняемого файла игры. Наиболее известной из подобных модификаций является библиотека LunaDLL, созданная пользователем Kil и опубликованная на форуме в сообществе Talkhaus. Спустя время, библиотека LunaDLL была улучшена и расширена разработчиком Kevsoft, который впервые интегрировал в неё скриптовую систему на языке lua. Начиная с этого момента, библиотека была переименована в LunaLua. Позже, данная библиотека стала основой для проекта SMBX2.

Platform Game Engine Project


Moondust / Platform Game Engine project - проект Wohlstandа, созданный в феврале 2014-го года после завершения первого шага в виде исследования для выведения стандарта SMBX64. Это игровой движок и набор разработки к нему. Это первый проект приемника SMBX, который предоставляет наиболее полную совместимость с ресурсами оригинальной SMBX-игры и может работать со специфичными данными SMBX штатно: с помощью PGE-Редактора вы можете открывать, править, играть уровни и эпизоды SMBX на TheXTech, либо на экспериментальном PGE-движке, вы можете изменять и создавать новые уровни, карты мира, НиП-конфигурации, а также использовать всё это в оригинальном SMBX. Сам проект сосредоточен на создании новых игр с нуля, используя возможности движка, вместо того, чтобы создать очередной клон SMBX-игры. В отличие от предыдущих приемников SMBX, Moondust написал на С++ и является кросс-платформенным: поддерживаются системы Linux, Windows, macOS, и затем Android. В отличии от SMBX, Moondust является мульти-компонентной системой, включающей Редактор, Движок и вспомогательные утилиты. Пока движок проекта находится в разработке, редактор широко используется сообществом в качестве более продвинутого альтернативного инструментария для работы с уровнями и эпизодами SMBX.

Super Mario Bros. X by 38A


SMBX-38A, также известный как SMBX 1.4 - фанатская игра о Марио, созданная китайским разработчиком 5438A38A в качестве неофициального продолжения оригинальной игры Super Mario Bros. X. Была создана с нуля в качестве клона SMBX с добавлением в него новых различных фич. До недавнего времени игра была известна как очередная подделка. 13 сентября 2015го года, пользователь форума SMBX, Snoopy Tour, опубликовал пост со ссылкой на Baidu, где был опубликован "неофицальный SMBX 1.4.1", однако, люди ему не поверили. Затем, Kevsoft попытася найти ссылку на скачивание, и наконец нашёл, скачал свежайшую сборку с диска Baidu Pan, однако он не смог её запустить на Windows 7 x64. Затем, он передал сборку Wohlstand-у, который затем нашёл способ запустить игру на Windows XP, запущенной на VirtualBox. Позже, Wohlstand связался с автором игры и скооперировался с ним. В проекте добавлено большое множество внутриигровых элементов, значительно расширен функционал карт мира, а также игра имеет собственный скриптовой движок, который называется TeaScript, использующий язык, похожий на VisualBasic.

Super Mario Bros. X2


Super Mario Bros. X2 (SMBX2) - это мод-расширение над SMBX 1.3, созданный в результате совмещения фрэймворка LunaLua, набора разработки PGE (первым делом ради PGE-Редактора), а также совершенно нового загрузчика, созданного на Qt с использованием движка WebKit (позже заменённый на QWebEngine). Проект создан пользователем Horikawa Otane в декабре 2015го года (до этого момента шли ранние подготовительные работы, проходящие в тайне). Его позиционируют в качестве основного SMBX, который делает оригинальный движок SMBX устаревшим, даже не смотря на тот факт, что он до сих пор используется в качестве основого ядра, даже когда он был взломан, расширен, а также модифицирован с помощью фрэймворка LunaLua. С тех пор, как был основан SMBX2, LunaLua больше не поддерживается в качестве независмого фрэймворка, так как был влит в разработку SMBX2 как его основная составляющая часть. Данный проект предоставляет множество новых внутри-игровых элементов, а также мощную и гибкую скриптовую систему на lua, предоставляющую ширкие творческие возможности.

TheXTech


TheXTech - это игровой движок игр-платформеров, написанный на C++. Это полный порт исходного кода SMBX 1.3, изначально написанного на Visual Basic 6. Создан разработчиком Wohlstand через месяц после публикации исходных кодов оригинальной игры, и был впервые опубликован 14 марта 2020го года. У проекта имеются две цели: Предоставление максильно-точной реализации SMBX-движка в виде кросс-платформенного свободного программного обеспечения, чтобы можно было играть в старые уровни и эпизоды, созданные для оригинальной игры, с тем же поведением, что и оригинал; создание более удобной исследовательской модели для разрбаотки PGE-движка. Также, в игре имеется множество функциональных расширений и улучшений, таких как поддержка PNG, встроенная запись GIF-роликов, поддержка форматов LVLX и WLDX, использование аудио-библиотеки MixerX, поддержка файлов sounds.ini и music.ini, поддержка заменённых калибровок игровых персонажей, исправление группы багов старой игры с возможностью включить из обратно, если это нужно, и т.п. В отличие от первоначальной реализации SMBX, эта игра поддерживает другие платформы и операционные системы, отличные от Windows, например Linux, macOS, Haiku, Emscripten и Android. Также предоставляются сборки под Windowx x86_64 и ARM64.

Super Mario ReInvent


Super Mario ReInvent (ранее известный как New Super Mario Bros. X) это фанатская игра о Марио с открытым исходным кодом, созданная разработчиком Core. Это форк C++-порта оригинальной игры, TheXTech.

Совместимость эпизодов
Большинство веток имеет свой собственный набор несовместимых с другими ветками функций. Однако, эпизоды, созданные по стандарту SMBX64, должны будут корректно работать на каждой из веток. Из-за несовместимости между ветками, необходимо использовать тот движок, под который был заточен конкретный эпизод. Попытка сыграть в эпизод на несовместимом движке может спровоцировать неожиданное поведение игрового процесса и внезапное появление неожиданных элементов (Например, SMBX2 и SMBX-38A имеют принципиально разные наборы элементов, совершенно несовместимые между собой; в то же время PGE-движок способен использовать различные конфигурационные пакеты, которые представляют разные и несовместимые наборы элементов, чтобы играть в каждый уровень и эпизод так, как это было задумано).


 * * В первом эпизоде из серии "Вторжение" (The Invasion), будут глюки на водных уровнях (один из фоновых объектов должен отображаться на переднем плане, однако, отображается на заднем), а также будет невозможно завершить битву с Боузером из-за того, что в SMBX 1.3 был выпелен код, отвечавший за расширение секции. Данный код был восстановлен в TheXTech, чтобы восстановить работоспособность старых эпизодов, сохранённых в формате SMBX8 и ниже.
 * ** Версии SMBX старее, чем 1.3, имели множество багов, которые были позже исправлены. Вероятно, существуют некоторые эпизоды, основанные на подобных багах, из-за чего они могут не рбаотать вовсе, либо работать не корректно при игре на SMBX 1.3 или на TheXTech.
 * *** TheXTech не поддерживает скриптовую систему TeaScript, а также не поддерживает огромную часть функционала SMBX-38A, однако, некоторые уровни и эпизоды, сохранённые в формате SMBX-38A, будут работоспособными при условии, что они соответствуют стандарту SMBX64 за исключением формата файлов.
 * **** TheXTech не поддерживает lua-скрипты, а также не содержит тонну новодобавленных элементов (все элементы за пределами SMBX64 при открытии уровня превратятся в гумб, либо в блоки-пустышки). Однако, TheXTech поддерживает некоторый набор возможностей PGE-движка и SMBX2.

Отменённые ветки
Здесь представлены известные проекты, которые были ранними попытками воссоздать игру, однако, были отменены или брошены своими разработчиками.

Super Mario Bros: Remastered


Super Mario Bros: Remastered (изначально New Super Mario Bros. X, NSMBX, также известный как Super Mario Bros. X Remastered, SMB:R и SMBX:R) был одной из первых попыток продолжить SMBX с тех пор, как Redigit бросил его. Проект имел наибольшую огласку с июня по сентябрь 2011го года. В итоге, даже не смортя на то, что проект не достиг видимого прогресса в разработке, он поспособствовал возникновению наиболее широкого сообщества, состоявшего из маленьких ответвлённых форумов, позже объединённых с форумом пользователя Cloud. К сожалению, проект был отменён в январе 2012го года, и его дальнейшая разработка прекратилась. Форум проекта, называемый "форумом NSMBX" (NSMBX Forums), был сохранён в качестве резервной площадки для обсуждений, которая периодически использовалась во время возникавших неполадках на официальном сервере форумов SMBX.

Visual Super Mario Bros. X


Visual Super Mario Bros. X - проект пользователя Aero (также AeroMatter или GhostHawk), созданный в марте-апреле 2012-го года. Проект был создан с помощью VisualBasic.NET на платформе .NET Framework 4. У VSMBX была цель сперва воссоздать SMBX, и затем добавлять в него новые функции и контент, расширяя тем самым гибкость. 25 декабря 2014го года, были опубликованы исходные коды VSMBX для всеобщего пользования. 4 августа 2016-го года, в официальном обсуждении проекта, автором было объявлено о прекращении разработки VSMBX.