|
Движение производится potential_step. В плане линейного даже не знаю, может он и лучше, в принципе, но сложнее. Есть еще одна проблема, это воздушные юниты, они пока что не умеют преодолевать маску столкновения, а именно здания, юнитов, а также горы, соответственно взлета и посадки тоже нет, хотя это не самое главное. Далее. Размер клеток, как в TS - 48x24, по крайней мере вся карта построена на них, ниже я прилепил скриншот, где показано, сколько места занимают юниты, практически 1х1, но самое интересное, что размер клетки может определяться не по самому спрайту, а по его маске, а она может быть любой формы. Если брать алгоритм TS и RA2, то там можно иногда заметить, что юниты залезают друг на друга, когда их много, но стараются не сбиваться в кучу. Движение хотелось бы улучшить, как показано на второй картинке, если это вообще возможно. Дукат, я смотрел твой код, даже пробовал туда для теста свои спрайты поставить, вроде бы движение нормальное, по крайней мере оно не плывет, как сейчас.
Ну, а остальные баги пока еще не исправить, а именно: бег на месте, если рядом подъезжает танк или другая техника, а бывает они бегают вокруг здания, тем самым сдают кросс, и конечно же стрельба, иногда думают - стрелять или подождать. Единственное радует, что постройка теперь адекватная, разметочная сетка очень помогла. И еще, технический уровень, пока еще не знаю, как его написать...
P.S. Кстати, в Starcraft II тоже есть баги со столкновениями, особенно, когда юнит просчитывает самый короткий путь, и лезет именно туда и застревает, нет чтобы объехать где свободно.
Эскизы прикрепленных изображений
|