Общие вопросы
Что значит название CadEditor?
Это сокращение от Chip and Dale Editor, потому что изначально редактор предназначался для редактирования уровней этой игры.
Для чего нужен редактор CadEditor?
Прямое предназначение - смотреть и редактировать уровни из игр.
Однако также редактор и утилиты, разработанные при его создании, могут быть полезны для изучения устройства игр - в репозитории редактора есть различные программы для разбора форматов уровней игр (они не поставляются в дистрибутиве редактора в данный момент). Сами конфиги для игр также являются документацией - в них записаны адреса хранения данных в играх, а также форматы описания уровней.
Частично составленный конфиг помогает лучше разобраться с ещё не изученной частью игры - можно попробовать что-то изменить в игре, чтобы проверить, правильно ли отразится изменение в ROM-файле, и как именно игра отреагирует на изменение. Наконец, можно просто экспортировать данные из игры и использовать их так, как хочется, хоть распечатать карту уровня на футболке или повесить в рамочке на стенку.
Почему редактор уже версии 5.0, а многие фичи реализованы не до конца или вообще не реализованы?
Такая версия нумерации была выбрана в начале разработки, версия 1.0 умела только редактировать все уровни и объекты в игре Chip and Dale: Rescue Rangers, все последующие версии добавлялись поверх неё. Справедливее было бы считать текущую версию версией 0.50.
Почему для некоторых игр доступно редактирование только одного уровня?
Один уровень добавлен, чтобы проверить и показать описательные возможности редактора для разных игр и платформ.
Можно ли создать модификацию игры, используя только редактор CadEditor
В принципе, возможно. Но стоит помнить, что NES и другие платформы имеют множество ограничений, следует хотя бы примерно ознакомиться с архитектурой целевой платформы, чтобы представлять, возможно ли в принципе реализовать на ней задуманную модификацию.
Также стоит помнить, что редактор CadEditor предназначен для модификации уровней игры, а также списков объектов на уровнях. Для изменения графики, поведения врагов, музыки, редактирования кода игры, текста, и для решения других задач, если предполагаются такие изменения, следует использовать подходящие инструменты.
Знания особенностей движка конкретной игры также приветствуются, чтобы понимать возможности и ограничения, которые предлагает конкретная игра. Но возможно и изменение уровней вообще без понимания устройства игры.
Где документация к редактору?
В процессе написания...
Редактор поддерживает так много игр, почему так мало созданных новых уровней на нём?
Для создания полноценного хака необходима возможность редактировать не только блоки и игровые экраны, но также и списки врагов и остальные поддерживаемые игрой особенности. В данный момент такая поддержка есть всего для 12 игр (для некоторых - с ограничениями).
Для остальных чаще всего поддерживается редактирование блоков и экранов для всех уровней, что позволяет делать мелкие изменения, изучать карты уровней, экспортировать карты и блоки в бинарные файлы и продолжать исследовать игру более детально, создавая небольшие тестовые зоны.
Какие конкретно игры поддерживаются и что в них можно редактировать?
Список игр с кратким указанием, есть ли конфиг для одного уровня или для всех основных, здесь (постоянно обновляется). Когда-нибудь будет более детальное описание списка поддерживаемых уровней и сцен для каждой конкретной игры и особенностей редактирования.
Какие игры будут добавлены в редактор?
Сейчас возможно относительно лёгкое добавление в редактор любых игр для NES с блочной архитектурой. Таких большинство и любая может быть добавлена в редактор. Некоторые игры, однако, имеют формат уровней, серьёзно ограничивающий удобное редактирование игры (сжатые уровни, кодирование физических свойств блока нестандартным образом, задание дополнительных слоёв описание физики и атрибутов - поддержка таких возможностей реализована лишь частично).
Если же игра подходит для удобного добавления в редактор - рано или поздно она будет добавлена. Предпочтение отдаётся классическим играм, для которых не существует редакторов уровней.
Будет ли поддержка игр для других платформ?
В режиме построения уровней из блоков с заготовленными картинками - поддержка любых платформ есть и сейчас. Но основное направление пока что - игры для NES, для их исследования созданы удобные инструменты. Также возможно добавление игр для Sega Mega Drive. Для остальных платформ необходимо создание плагинов отрисовки тайлов графики. В перспективе - будет.
Как отредактировать уровень в игре X?
В простейшем случае необходимо скачать ROM-файл с игрой (они не идут в комплекте с редактором, так как распространение ROM-файлов есть пиратство), запустить редактор, указать конфиг для открытия игры из комплекта идущих в поставке с редактором, и путь к скачанному ROM-файлу.
Всё - можно приступать к редактированию. Дальше - нажать кнопку "Save", открыть ROM-файл в эмуляторе и радоваться результату. В более сложных случаях следует уточнить, как перепаковать уровень в ROM-файл, какие дополнительные ограничения нужно соблюдать (бывает, что движок игры не поддерживает то, что пользователь может сделать в редакторе. Например, необходимо не только расставить объекты, но и убедиться, что они соответствуют банку графики, используемому на уровне, и указать правильный порядок появления объектов на экране).
Тонкости редактирования каждой конкретной игры будут добавляться к документации, сейчас проще всего уточнить их на форуме, посвящённом редактору:
https://www.emu-land.net/forum/index.php/board,78.0.html
Основные проблемы при редактировании описаны далее в этом FAQ.
Как добавить в редактор игру X?
Проще всего - найти среди конфигов уже добавленных в редактор игр (их более 100) такую, которая бы совпадала по формату с необходимой и скопировать конфиг из неё. Тогда останется только изменить адреса хранения данных.
В более сложных случаях можно скомбинировать функции из несколько конфигов. Когда будет готова документация - в ней будет описание всех функций, которые можно переопределить в собственном конфиге игры.
Пока что можно изучить список всех доступных для перегрузки функций с помощью утилиты ConfigViewer и обратиться к исходникам редактора для изучения особенностей работы редактора с этими функциями. Для этого понадобится хотя бы минимальное знание языка C#.
Как помочь развитию редактора?
Можно сделать денежное пожертвование, список кошельков указан в самом редакторе (и вообще, где только можно).
Зачем собирать пожертвования? Разработчик редактора жадный, бедный, или хочет заработать на пользователях?
Нет, разработчик с удовольствием занимается разработкой редактора и выкладывает результаты разработки бесплатно. Однако свободное время, которое можно выделить на разработку, ограничено. А количество игр, которые можно подключить к редактору - невероятно большое.
Пожертвования - приятный бонус к мотивации заниматься проектом, и один из способов пользователей поблагодарить разработчика за выполненную работу. Основная мотивация подобных проектов - порадовать эго разработчика, а ничто так не радует эго, как благодарность пользователей (финансовая или любая другая). Также иногда пожертвования используются для передачи другим пользователям, которые активно помогают в разработке редактора.
Не хочу отдавать деньги, как ещё я могу помочь в разработке редактора?
Разными способами - использовать редактор в своих проектах, писать отзывы о найденных ошибках и необходимых функциях, помогать в подключении к редактору новых игр (создавать конфиги), помогать создавать модули редактора, документацию. Также было бы отлично помочь перевести материалы по редактору на английский язык и подготовить спрайты объектов для различных игр. Проект масштабный, и любая помощь будет полезна.
Часто возникающие проблемы
Редактор не запускается.
Изучить сообщение об ошибке, чаще всего причина описана в нём
- Проверить наличие в системе установленного .Net Framework. В настоящий момент редактор использует .Net Framework 4.0, уже установленный вместе с современными версиями ОС Windows.
- В системе может быть заблокирован запуск dll-библиотек, скачанных из интернета. Обсуждение разблокировки файлов на форуме Microsoft'а тут. Необходимо разблокировать все dll-файлы в папке с редактором.
При открытии игры редактор выдаёт ошибку.
Снова же - изучить сообщение об ошибке, причина может быть описана в нём. Также проверить, что выбраны правильные файлы для редактирования.
- Проверить, что вы открываете правильную версию ROM-файла. Используемая версия ROM указана здесь (названия ромов взяты из реестра GoodNES. Чаще всего используется американская региональная версия ROM-файла, но возможны исключения)
- Проверить, что указаны правильный ROM-файл и дамп карты уровня, если для редактирования игры используются дампы карт (если конфиг игры использует дампы карт уровней, после выбора конфига в диалоге открытия файла поле Dump file name становится активным - в этом случае нужно указать дамп карты, они идут в комплекте с редактором и находятся в той же папке, что и конфиги игры).
После сохранения карты в редакторе нет изменений в игре.
Необходимо убедиться, что изменения сохранены в ROM-файл, если был отредактирован дамп карты.
Также сравнить ROM-файл до и после сохранения, возможно операционная система или другая программа блокируются запись в файл.
После сохранения изменений в игре перестали появляться враги.
Скорее всего, игра требует определённых правил расстановки врагов (например, сортировки в правильном порядке), которые были нарушены при расстановке объектов в редакторе.
Необходимо вернуться в редактор объектов и отменять выполненные изменения вручную до тех пор, пока враги в игре снова не начнут появляться.
После сохранения изменений в одном уровне другой уровень превратился в "кашу" из тайлов.
Некоторые игры используют один и тот же набор блоков для нескольких уровней, причём используют разные банки графики для отображения блоков в другом виде. При этом блоки другого уровня сложно распознать - необходимо уточнить, не используются ли "мусорные" на вид блоки где-либо ещё в игре.
Версия ROM-файла правильная, конфиг открыт верный, но все равно редактор выдаёт ошибки.
Возможно, ошибка в самом конфиге игры. В данный момент в редакторе почти 1000 конфигов для открытия разных уровней игр, некоторые из них могут содержать ошибки