Совершенно незаметно подкрался последний день на разбор формата игрокарт. С триггерами я пока так и не разобрался, но что поделать, нужно двигать прогресс, так что пока буду делать редактор с поддержкой того о чем понимание есть
Madware
> Движок: Unity3D
Почему Unity3D? Есть же куча других более подходящих и более адекватных движков для 2D.
andreyu
Потому, что у меня есть опыт работы с этим движком, и нет желания вместо написания игры писать/изучать новый движок,
а, возможно, еще и вспоминать C++, или, что еще хуже, какой-нибудь специфичный питоноподобный язык или
чего еще в таком роде.
И что означает "адекватное 2D"? Те, кто ругают двухмерку в юнити, в большинстве своем испытывают физиологические
проблемы — руки растут не из плеч. Все "изъяны" юнитевского дваде уже давно разжеваны и найдены пути их обхода.
Up: кстати, я ни разу не говорил, что собираюсь пилить 2D игру
Madware
> кстати, я ни разу не говорил, что собираюсь пилить 2D игру
На первых страницах вы рассказали про утилиту, которая раздербанивает оригинальные ресурсы и создает атлас из фреймов анимации. Неужели они нужны для 3D?
andreyu
На другой странице я указывал на одну из особенностей аллодов, которая не делает их чисто двухмерной игрой. Трехмерный ландшафт. Да, в оригинале его наверное сделали на хитром софтаче, но я то не собираюсь слепо делать "как в оригинале", потому что я, во-первых, не настолько крут, чтобы пилить свой софтач, а во-вторых, это просто не нужно. Ортопрекция + трехмерная сетка для ландшафта + биллборды для юнитов, строений и различных деревьев в данном случае дадут вполне приемлемый результат
Неспеша начал делать редактор уровней.
Сначала хотел сделать его на юнити как внутриигровой редактор, но пока
решил попробовать сделать на WPF. Собственно, этим сейчас и занят,
по-тихоньку собираю UI (почти аналогичный оригиналу, но с некоторыми улучшениями).

Дорисовал иконки для левого тулбара:

Пока что редактор умеет только загружать карту и отображать ее тайлмпапу (с некоторыми непонятными глюками)
На очереди — разобраться с глюками, а так же корректно отобразить ландшафт в соответствии с картой высот.
Далее — вывод деревьев, строений и юнитов и начало работ над функционалом редактирования карты и ее сохранения.

Up:
Завез хейтмапу с flat освещением

Карта уже передает дух Аллодов. Давай дальше!
за сегодня успел пофиксить(вроде бы) расчёт нормалей для освещения, запилил режим сетки, а так же различные помогалки для скроллинга карты. Теперь нужно грузить из ресурсов атлас для различных деревьев, пней и т.д., а так же атлас для строений. После этого можно будет начинать рисовать все это безобразие там, где ему подобает находиться. Ну а дальше пойдут юниты, различные мешки и т.п.

отличный темп, тьфу-тьфу не сглазить
Еще из мелких правок за сегодняшнее утро: поправил загрузку данных о тайлах — иногда в TerrainId попадало значение больше 3, хотя типов террейнов всего четыре. Из-за этого текстурные координаты выбирались неверно. Исправилось простым откидыванием мусорных бит. Ну и сделал справа внизу вывод текущего типа тайла для рисования. Самая жесть будет когда я буду делать саму рисовалку. Жесть будет по той причине, что для террейна используются достаточно стандартные Wang тайлы углового типа, но в тайлсете нет вариантов для противопоставленных уголков — придется менять весь тайл на полностью закрашенный, а это, в свою очередь, потянет за собой необходимость обновить и содержимое тайлов по соседству, кои естественно могут быть так же "невозможными". Ну и не все типы террейна имеют переходы друг в друга, что тоже обычно правится установкой сплошного тайла, опоясанного ореолом с переходным типом террейна, коим в случае аллодов является грязь/земля (в оригинальном редакторе называется Land)
Вдогонку к вчерашнему выбору тайлов сделал отдельную функциональность для выбора вершин в режиме изменения высотности. Это, кстати один из самых фрустрирующих моментов оригинального редактора — какая именно вершина будет тягаться при наведении мыши на тайл. Конечно, быстро привыкаешь что это всегда левый верхний угол тайла, но я решил сделать иначе, точнее как в нормальных редакторах вроде блендера. Есть мысль добавить еще возможность изменения высотности всего тайла целиком в виде отдельного режима.
Up: Сделал редактирование высот, пока без пересчета нормалей ландшафта.

К моменту когда в редакторе появилась возможность разве что только для редактирования высотности карты, код уже начал становиться нечитаемым.
Так что это утро я провел за рефакторингом. Значительно упростил работу с вершинами меша террейна, переписал код для создания UI в более "декларативном" стиле, теперь двигаться дальше не так страшно.