Онлайн-редактор тайловых карт — бесплатная браузерная альтернатива Tiled
Создайте свой онлайн-редактор тайловых карт
Tiled — отличный бесплатный настольный редактор уровней. Если вам нужен редактор тайловых карт, который работает онлайн, не требует установки и позволяет войти внутрь вашей карты — вот он, бесплатно.
Редактор тайловых карт — это программа, которая собирает уровень из небольшого набора повторяющихся изображений-тайлов вместо одной большой нарисованной вручную подложки. Tiled, настольное приложение с mapeditor.org, — эталонная реализация этой идеи: бесплатное, работающее офлайн, гибкое в отношении типов сетки и достаточно старое, чтобы множество выпущенных проектов до сих пор несли файлы .tmx. Эта страница посвящена случаю, когда вы хотите тот же процесс рисования без установки чего-либо и хотите нажать «Играть» и пройтись по только что нарисованной карте.
Neta Studio запускает редактор во вкладке браузера. Вы импортируете тайлсет, задаёте размер тайла, закрашиваете слой земли и слой деталей, помечаете коллизии, а затем играете. Сетка становится 3D-миром, отрисованным с помощью Three.js, с управляемым персонажем и настоящими коллизиями. Ничего не нужно скачивать, нет папки проекта, которую нужно синхронизировать между машинами, и есть ссылка, которую можно передать другому, чтобы он открыл ту же карту.
Tiled против онлайн-редактора тайловых карт
Tiled с mapeditor.org умеет многое. Он бесплатный и с открытым исходным кодом, работает офлайн и годами поддерживает ортогональную, изометрическую, ступенчатую и шестиугольную сетки. Слои, слои объектов с прямоугольниками, эллипсами, многоугольниками и ломаными, пользовательские свойства, шаблоны, анимации тайлов, фигуры коллизий и наборы рельефа/Wang — всё это в нём есть. Он читает и записывает XML в форматах TMX/TSX, а также варианты JSON, и формат достаточно стар, чтобы для большинства движков существовали экспортёры. Если ваш конвейер уже принимает .tmx, Tiled — самое безопасное место для его создания.
Трение вызывает не само редактирование, а всё вокруг него. Tiled — настольное приложение, поэтому на каждой машине, которая касается проекта, нужна установка. Тайлсеты обычно подключаются как внешние файлы .tsx с относительными путями, и они ломаются в тот момент, когда папка перемещается или у коллеги проект лежит на другой глубине. Кнопки воспроизведения нет: вы экспортируете, а затем открываете вторую программу, чтобы узнать, работает ли карта. Поделиться означает заархивировать проект и надеяться, что пути совпадут на другом конце.
Онлайн-редактор тайловых карт меняет эти три вещи и ничего больше. Никакой установки, потому что редактор поставляется вместе со страницей. Никакой жонглировки файлами, потому что тайлсет и слои живут в одном проекте, который можно снова открыть. И никакого цикла «экспорт — проверка», потому что по карте можно играть во вкладке, где вы её рисовали. От чего вы отказываетесь — это реально: нет нативных плагинов, нет карт со скриптами, а очень большие проекты в браузере тяжелее, чем на настольной системе. Для карты, которую нужно увидеть и пройти, а не отправить в скомпилированный движок, этот компромисс того стоит.
Что такое тайловая карта (и почему это название всех путает)
Это слово выполняет две задачи, и они сталкиваются. Tiled с большой буквы — это название продукта. Тайловая карта, со строчной, — это любая карта, построенная из повторяющихся тайлов. Вы можете сделать тайловую карту в Tiled, но можете сделать её и в узлах TileMap в Godot, в системе Tilemap в Unity, в Phaser, в собственном импортёре или здесь — ни разу не открыв Tiled.
Именно из-за этого разделения поисковые запросы про редактор тайловых карт попадают в два разных места. Половина людей хочет конкретное настольное приложение и его форматы файлов. Другая половина хочет построить карту на тайлах, и ей не важно, какой инструмент это сделает. И то, и другое разумно. Если вы во второй группе, вопрос не в том, у какого редактора длиннее список возможностей, а в том, какой из них быстрее даёт играбельный результат.
Механически тайловая карта — это небольшие данные. Изображение тайлсета, ширина и высота тайла, размер сетки в тайлах, а затем один массив идентификаторов тайлов на каждый слой, где ноль означает пусто. Сверх этого: необязательный слой объектов, хранящий прямоугольники и ломаные, и таблица свойств из строк «ключ/значение». Вот и вся структура. Редактор — это хороший интерфейс для редактирования этих массивов, и только поэтому форматы вообще переходят между инструментами.
Нарисуйте свою первую тайловую карту онлайн
Первый экран состоит из трёх областей: панель тайлсета слева, холст карты посередине, список слоёв справа. Начните с создания карты. Выберите ортогональную сетку, задайте сетку 40 на 30 тайлов и установите размер тайла точно под ваш тайлсет. При 32 на 32 пикселя это холст 1280 на 960 пикселей — разумный рабочий размер, который остаётся отзывчивым во время рисования.
Затем импортируйте изображение тайлсета. Две настройки, которые ломают импорт, — это отступ и промежуток. Отступ — это пустая рамка вокруг всего листа; промежуток — это зазор между тайлами. Если ваш лист был экспортирован с тем или другим, введите число. Если пропустить его, каждый столбец сместится на пиксель или два, и карта будет выглядеть тонко и до бешенства неправильно. После этого рисование есть рисование: заполните слой земли, затем добавьте детали на слой выше.
01
Создайте новую ортогональную карту. Задайте сетку 40 на 30 тайлов и размер тайла 32 на 32 или тот, который реально использует ваш тайлсет.
02
Импортируйте изображение тайлсета. Введите ширину и высоту тайла, затем отступ и промежуток, если у листа есть рамка или зазоры.
03
Сначала закрасьте слой земли. Используйте заливку для больших областей и кисть для краёв, затем остановитесь. Детали — потом.
04
Добавьте второй слой над землёй и рисуйте там стены, предметы и переходы. Разделение рельефа и деталей позволяет скрыть или переупорядочить любой из них.
05
Добавьте слой коллизий или пометьте коллизии прямо на тех тайлах, которые должны блокировать движение. Стены, вода и обрывы — сюда.
06
Нажмите «Играть». Сетка становится 3D-миром; ударьтесь в стену и убедитесь, что коллизии совпадают с тем, что вы нарисовали.
07
Исправьте то, что сломалось. В девяти случаях из десяти это несовпадение размера тайла или отступа, а не настройка коллизий.
Примеры тайловых карт — карты, которые можно открыть прямо сейчас
Шесть сцен поставляются как играбельные карты, а не как скриншоты. Каждая открывается в браузере, и по ней можно провести персонажа — это единственный надёжный способ проверить, работает ли тайловая карта.
Три из них — полноценные проекты. Остальные — небольшие демонстрационные карты внутри редактора, существующие, чтобы показать по одному механизму каждая. Откройте их, когда хотите увидеть, как настроены слои, коллизии и размер тайла, а не прочитать об этом.
- Остров ЦиклопаКарта острова, построенная из тайлсета рельефа с водной границей и краями обрывов. Полезна, чтобы увидеть, как слой земли, слой деталей и слой коллизий делят работу и как большой участок суши остаётся читаемым, когда он весь состоит из повторяющихся тайлов.
- Mini WorldНамеренно маленькая сетка. Хороша для проверки высоты камеры, масштаба тайла и размера персонажа, прежде чем вы зафиксируете планировку. Проблемы масштаба проявляются здесь за секунды, а не после дня рисования.
- Agent Sprite ForgeПерсонажная сторона того же конвейера. Как только карта становится играбельной, именно здесь собираются спрайты и анимации для всего, что по ней ходит.
- Демо: лесная полянаКарта на одном тайлсете с тропой, прорубленной сквозь деревья. Показывает, как мало нужно различных тайлов, чтобы карта перестала выглядеть тайловой.
- Демо: полоса платформераКарта с видом сбоку, где дизайн уровня делает коллизия тайлов. Гравитация и поведение стен зависят только от того, какие тайлы помечены твёрдыми, и ни от чего больше.
- Демо: изометрический дворТа же тайловая сетка в изометрической проекции — чтобы показать, что данные планировки не меняются вместе с камерой.
Импорт TMX / тайлсета в браузер
Импорт — это парсер, а не конвертер. Мы читаем элемент map для получения ориентации, ширины, высоты, ширины и высоты тайла, затем записи тайлсетов с их firstgid и либо встроенным изображением, либо ссылкой на внешний .tsx. Затем каждый слой по порядку с его данными тайлов. Кодировки, которые имеют значение, — это CSV и base64, со сжатием gzip или zlib или без него. Если файл использует кодировку, которую мы не декодируем, импорт останавливается и называет её, а не загружает пустую сетку.
Что выживает — это структурная часть. Ссылка на тайлсет перенаправляется на загруженное изображение, поэтому внешний путь .tsx из вашего настольного проекта заменяется, а не используется. Размер тайла, отступ и промежуток переносятся. Порядок слоёв, видимость и прозрачность переносятся. Идентификаторы тайлов сохраняют свои относительные позиции внутри каждого слоя, и именно это заставляет карту выглядеть одинаково после импорта. Слои объектов приходят как прямоугольники и многоугольники с их свойствами, сведёнными к строкам «ключ/значение». Объявленные анимации тайлов сохраняются.
Что не выживает — это всё, что было кодом. Tiled поддерживает расширения на JavaScript, пользовательские классы свойств и плагины на C++, и ни одно из них не работает во вкладке браузера. Карта, созданная скриптом, здесь — просто её выходные тайлы. Пользовательские типы свойств вырождаются в строки. Бесконечные карты с блочным хранением сплющиваются в фиксированную сетку, что меняет поведение памяти на очень больших картах. А тайлсет-коллекция изображений, где каждый тайл — отдельный PNG, работает, но стоит одного запроса изображения на тайл. Если ваша карта зависит от плагина, продолжайте создавать её в Tiled.
| Возможность TMX / TSX | После импорта в браузере |
|---|---|
| Ссылка на тайлсет (внешний .tsx или встроенное изображение) | Сохраняется; .tsx перенаправляется на загруженное изображение, а путь не используется |
| Размер тайла, отступ, промежуток | Сохраняется |
| Данные слоя тайлов в CSV или base64, с gzip или zlib | Декодируются, идентификаторы тайлов сохраняются |
| Порядок слоёв, видимость, прозрачность | Сохраняется |
| Прямоугольники и многоугольники слоя объектов | Сохраняются |
| Свойства объектов и тайлов | Сохраняются как строки «ключ/значение» |
| Анимации тайлов | Сохраняются |
| Пользовательские классы свойств | Сводятся к строкам |
| Расширения на JavaScript и карты со скриптами | Не выполняются |
| Нативные плагины и пользовательские форматы карт | Не поддерживаются |
| Блоки бесконечной карты | Сплющиваются в фиксированную сетку |
| Тайлсеты-коллекции изображений (один PNG на тайл) | Сохраняются, но каждый тайл — отдельный запрос изображения |
Tiled бесплатный против платного Tiled
Tiled бесплатен. Это настольное программное обеспечение с открытым исходным кодом, и с ним нечего сравнивать в виде платного уровня, поэтому страница, описывающая бесплатный и платный Tiled, описывает что-то другое — обычно коммерческий набор тайлсетов или редактор, встроенный в движок. Мы не утверждаем, что Tiled стоит денег, потому что это не так.
Настоящее разделение — это установка против отсутствия установки. Tiled требует загрузки на каждой машине, хранит тайлсеты как относительные пути, которые ломаются при перемещении папок, и не предлагает встроенной проверки в игре, поэтому вы экспортируете и открываете другую программу. Браузерный редактор требует вкладки, хранит проект в одном месте и запускает карту в том же окне. Таков компромисс, и он не имеет никакого отношения к цене.
Есть вещи, в которых выигрывает настольная версия. Плагины, карты со скриптами, работа вообще без сети и очень большие карты со множеством слоёв — всё это преимущества настольной версии, и притворяться иначе было бы нечестно. Если ваш конвейер уже принимает .tmx и у вас есть люди, которые его поддерживают, оставайтесь в Tiled. Используйте браузерный редактор, когда карту нужно увидеть, передать по ссылке или когда по ней должен пройти тот, кто никогда не установит редактор.
| Аспект | Tiled (настольный) | Браузерный редактор Neta |
|---|---|---|
| Стоимость | Бесплатный, с открытым исходным кодом | Бесплатный, работает в браузере |
| Установка | Загрузка настольной версии на каждую машину | Отсутствует |
| Передача карты | Отправить проект, сохранив относительные пути | Отправить ссылку |
| Проверка в игре | Экспортировать, затем открыть в движке | Играть в той же вкладке |
| Плагины и карты со скриптами | Поддерживаются через расширения | Не поддерживаются |
| Работа офлайн | Да | Нужна сеть для первой загрузки; после этого страница кэшируется |
| Большие карты | Комфортно со множеством слоёв | Нормально при типичных размерах; очень большие карты становятся тяжёлыми |
Войдите в мир, которому он принадлежит
Спрайт — это персонаж, которому негде стоять. Последний шаг — тот, которого не предлагает никто другой: возьмите только что собранный лист и поместите его в мир, по которому можно ходить, — маленький остров, планету, дождливый угол улицы. Каждый мир на этом сайте был создан из одного письменного описания и опубликован как страница, в которую можно играть.
FAQ
Tiled бесплатен? +
Да. Tiled — бесплатное настольное программное обеспечение с открытым исходным кодом, и мы не утверждаем, что оно платное. Цена, которую вы видели рядом с Tiled, — это обычно набор тайлсетов, ассет-пак или собственный редактор движка.
Можно ли открыть TMX онлайн? +
Да. Импортируйте .tmx, и мы разберём элемент map, ссылки на тайлсеты и данные слоёв, включая данные CSV и base64 со сжатием gzip или zlib. Внешняя ссылка .tsx — единственная часть, которую вы перенаправляете вручную.
Работает ли это на Mac? +
Это работает в браузере, поэтому macOS, Windows и Linux ведут себя одинаково. Требование — Chrome, Safari или Firefox с WebGL2, а не операционная система.
Нужно ли что-то устанавливать? +
Нет. Редактор загружается вместе со страницей, и на вашу машину ничего не скачивается. Браузер с WebGL2 — единственное обязательное условие.
Можно ли экспортировать обратно в Tiled? +
Да, для всего, что мы импортируем: слои тайлов, ссылка на тайлсет, размеры карты и тайлов, прямоугольники объектов и свойства экспортируются как TMX или вариант JSON. Возможности, которые существуют только как расширения Tiled, здесь никогда и не существовали, поэтому ничего не теряется.
Полезен ли редактор тайловых карт только для 2D-игр? +
Нет. Тайловая сетка здесь управляет 3D-миром, где слой земли становится рельефом, а помеченные тайлы — коллизиями. Сами данные карты остаются двумерным массивом идентификаторов тайлов.
Какой размер тайла мне использовать? +
Подбирайте точно под ваш тайлсет. 16, 32, 48 и 64 пикселя — распространённые значения; 32 на 32 при сетке 40 на 30 тайлов — безопасный вариант по умолчанию. Несовпадение даёт швы или рисует тайл со смещением на один от курсора.
Вернуться в конструктор 3D-игр
Все 31 готовых 3D-мира, игры и сцены собраны на одной странице — и в каждый можно играть.