Поскольку я с этой фигнёй работал много, могу перечислить всё, что мне не понравилось:
Во первых QMap, если будешь переделывать:
1 - очень не хватает копи-паста (например взять в одном уровне, вставить в другой, там есть только дублировать в рамках карты).
2 - невозможно выделить много объектов сразу, или скажем объединить их в группу. Если нужно что то передвинуть, много всего, нужно выбирать по одному и двигать - такой геморой.
3 - задолбаешься что-то искать в списке, нужно шерстить весь список, пока не разглядишь там в этой каше то, что надо. Круто было бы или поиск, или фильтр по имени, что-то такое.
4 - создание полигональных коллизий совершенно отбитое. Вместо того, чтобы, скажем нажать мышкой и координаты ввелись в точку коллизии, нужно всё прописывать ручками, именно поэтому я их почти не использую, хотя они работают намного быстрее, чем Collision Map. Но мне легче этот Collision Map нарисовать в фотошопе, чем сидеть и прописывать вручную каждую точку, каждой коллизии(это охренеть можно).
А ещё игрок плохо их видит, и в некоторых местах может пройти сквозь них, если они слишком большие. Но это наверное уже к QMovement вопросы.
QMovement:
1 - Невозможно сделать, чтобы игрок проходил сквозь ивенты, но тормозился остальными коллизиями. Такое иногда надо. Либо вообще по каким нибудь тегам сделать, сквозь что игрок может проходить, а нпс нет. Сейчас я пляшу с бубнами, и делаю это YEP плагином, но он не помогает с ивентами, только с зонами на карте.
2 - Чтобы бегать по диагонали в изометрии, я правил код, уже не помню где, чтобы вверх-вниз бежать чуть медленнее, или типа того. Было бы неплохо вынести это в параметры. (Кроме того с QABS это не работает, стреляет и катается он всё равно прямо по диагонали, что сбивает с толку) Врагам же вовсе нельзя задать это.
3 - если используешь QM + Collision Map (а я везде это использую) и бежишь по диагонали упираясь в стену (то есть держишь например вверх, но стена идёт не прямо), то игрок не знает куда ему поворачиваться и глючит, поворачиваясь то вверх, то вбок. Выглядит криво.
QABS (Ну тут больше всего рогов):
1 - См. выше... QMovement п.2
2 - В скиллах есть опция увеличить, уменьшить скорость. Но только: 1 - увеличить/уменшить + -, нельзя поставить скорость конкретной цифрой. 2 - после срабатывания скилла скорость должна сбрасываться, но если скилл не доделан - (получил дамаг например) - она не сбрасывается, и персонаж или враг начинает безумствовать и носиться по карте как угорелый. Я это правил костылями, а для врагов вообще пришлось отказаться от таких скиллов.
3 - AI вообще сделан примитивно, у него есть только 1 поведение - увидел игрока - при на него и не останавливайся. Даже несмотря на то что в скиллах есть опция lock, которая должна его останавливать, частенько эту опцию они вообще игнорируют, и очень сложно сделать нормальное поведение им. Хотелось бы чтоб они например могли убегать от игрока, или обходить его сбоку. Также должно работать, что когда ты выходишь за границы их зрения, они должны возвращаться к обычному поведению, но они не возвращаются. Я пытался править код, но добился только полной остановки их на месте.
4 - хотелось бы вместе со скоростью, править коллизии (см QMovement). Например при перекате отключать коллизии игрока с врагами (но не окружением). Сейчас у меня сделано просто, что игрок и враги на разных уровнях (враги ниже), но это визуально и геймплейно неправильно.
5 - нельзя делать комбо. То есть врагам ты можешь прописать такое в скиллах, но игроку нет. Игроку нужны тайминги, в скиллах нет инпута(то есть проверки if else). Сейчас у меня комбо сделано кривым скриптом, который даже я не понимаю как работает (хотя сам его и написал)
6 - Хотелось бы опцию например "отключать QABS во время диалогов". Сейчас я каждый раз это ручками делаю. (Также надо помнить подождать после 20 кадров, потому что они любят использовать скилл, если атака и интеракция на одну кнопку).
7 - Приоритет скиллов у врагов не работает. Сейчас, если я хочу, чтобы враг использовал скилл реже, я просто ставлю конский кулдаун там. Но это ставится раз и навсегда - в самом скилле.
8 - В скрипте есть опция Team, но толку от неё нет, то есть нельзя чтобы ИИ сражались друг с другом. Видимо задумывалось на расширение, но не доделали.
Наверняка было что-то ещё, если вспомню - напишу.
Социальные закладки