![]() |
![]() |
AlienEmperor |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Господа! Собственно, такой вопрос: как Вы считаете - какой оптимальный путь создания системы перемещения для turn-based RPG ? Т.е. по своей сути, в такого рода игре (взять тот же Fallout) игрок не может переместиться в *любую* точку ландшафта - он может только встать на некую клетку, за счет чего возможно просчитать сколько ходов он потратил на перемещение. Но это вносит свои ограничения: в Fallout, например, направлений движения (поворот игрока) - всего 6. Даже если сделать 8, то система уже рушится, появляются "мертвые" точки, в которые попасть просто не реально. Предположим, что взяли 6 направлений (как в Fallout и Heroes of Migth & Magic) , тогда как, по Вашему: надо делать пересчет передвижения игрока по матрице (двумерный вариант изометрической карты), а потом двигать его по клеткам ? Есть ли другой способ ? Особенна актуальна проблема оружия: к примеру - при выстреле из "базуки" снаряд должен лететь явно "из точки в точку", т.е. никак не по клеткам, как в таком случае просчитать столкновение хотя бы со стеной (она-то на клетках) ? В общем, если есть предложения или ссылки на готовые алгоритмы, я был бы очень благодарен за них...
-------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
Shura |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 136 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Нужно просто пронумеровать все ячейки построчно, а потом как-нибудь, скажем, раздвинуть строки и сдвинуть столбцы, ну или что-то типа того. Вот пример для 6-гранных ячеек:
Пример преобразования (2 Кб) P.S. Только законы перемещения объектов по получившейся обычной матрице будут не совсем обычными. Сообщение отредактировано: Shura - -------------------- Старайтесь восполнять пробелы в области незнания! ;-D
|
![]() ![]() |
![]() |
Текстовая версия | 18.06.2024 1:24 |