Ветки 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.

Moondust Project


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

Super Mario Bros. X by 38A


SMBX-38A, также известный как SMBX 1.4 - альтернативная реализация SMBX-движка, созданная китайским разработчиком 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, набора разработки Moondust (первым делом ради его редактора), а также совершенно нового загрузчика, созданного на Qt с использованием движка WebKit (позже заменённый на QWebEngine). Проект основан пользователем Horikawa Otane в декабре 2015го года (до этого момента шли ранние подготовительные работы, проходящие в тайне). Проект был создан, чтобы представить пользователям готовый и удобный в использовании комплект игры, а также, с целью навести порядок вокруг разрозненного набор дополнений к LunaLua, и набора разработки PGE Project (позже переименованный в Moondust Project), который нужно было устанавливать отдельно. Его стали позиционировать в качестве основной ветки SMBX, благодаря которой, оригинальный движок SMBX признаётся устаревшим, даже не смотря на тот факт, что он до сих пор используется в качестве основого ядра, и даже когда он был взломан, расширен, а также модифицирован с помощью фрэймворка LunaLua. С тех пор, как был основан SMBX2, LunaLua больше не поддерживается в качестве самостоятельного проекта, так как был влит в объединённую разработку SMBX2 как его основная составляющая часть. Данный проект предоставляет множество новых внутри-игровых элементов, а также мощную и гибкую скриптовую систему на lua, предоставляющую ширкие творческие возможности.

TheXTech


TheXTech - это игровой движок игр-платформеров, написанный на C++. Это полный порт исходного кода SMBX 1.3, изначально написанного на Visual Basic 6. Создан разработчиком Wohlstand через месяц после публикации исходных кодов оригинальной игры, и был впервые опубликован 14 марта 2020го года. У проекта имеются две цели: Предоставление максимально-точной реализации SMBX-движка в виде кросс-платформенного свободного программного обеспечения, чтобы можно было играть в старые уровни и эпизоды, созданные для оригинальной игры, с тем же поведением, что и оригинал; создание более удобной исследовательской модели для разрбаотки Moondust-движка. Также, в игре имеется множество функциональных расширений и улучшений, таких как поддержка 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. Ныне, проект постепенно переводится на lua, используя движок LÖVE 2D

Совместимость эпизодов
Большинство веток имеет свой собственный набор несовместимых с другими ветками функций. Однако, эпизоды, созданные по стандарту 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 поддерживает некоторый набор возможностей движка Moondust и 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. 18 сентября 2016, владелец форума NSMBX объявил о закрытии площадки и о консервации текущего состояния для чтения.

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.

Прочие проекты
Помимо выше указанных проектов, существовали и другие, менее значимые.
 * Super Mario Bros. X 1.4 (Не путать с SMBX-38A) - Поддельный проект, созданный пользователем DuckJohnn в качестве шутки, широко известный на YouTube. С помощью MS-Paint, он создал набор поддельных скриншотов, которые он затем опубликовал в SMBX-группе на Facebook где-то в 2011 году. Из-за этого проекта, люди стали более скептично относится к любым другим будущим попыткам создать наследника SMBX, до тех пор, пока некоторые крупные проекты не достигли успеха спустя несколько лет.
 * Radish Engine от warioeagle - Проект ремейка SMBX-движка, анонсированный 3 июня 2011го года пользователем warioeagle на форуме Talkhaus. Предполагалось реализовать проект с помощью языка C# и библиотеки XNA, однако позже было решено использовать Game Maker 8.1, либо Java. Обсуждение длилось вплоть до 2012го года, однако, никаких работоспособных результатов представлено так и не было. Позже, 5 июля 2015-го года, warioeagle предложил Wohlstand-у, создателю проекта Moondust (ранее известным как PGE Project), скооперироваться, однако, беседа продлилась недолго, после чего, warioeagle перестал появляться на связи.
 * SMBX Rebuild от SkyBlueYoshi - Небольшая дэмка, выпущенная пользователем SkyBlueYoshi на форуме SMBX 11 февраля 2015-го года. Игра была реализована на движке Clickteam Fusion 2.5.
 * Super Mario Bros. X Java Edition - Ранее запланированный проект, анонсированный пользователем Chanceux на YouTube с обещанием выпустить его к апрелю 2021го года. Однако, проект был отменён. Никаких рабочих прототипов представлено не было. Автор объяснил отмену проекта наличием сложностей в использовании Java.