Страница 1 из 1

Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 00:16
Mr.Rosbi
Всем привет. Хотел бы поинтересоваться у вас, ребят. Делаю игру и вкратце опишу часть о которой пойдёт речь. Есть квадратное поле поделенное на N клеток и колонок. Получаем N*N ячеек.Центр каждой ячейки это возможная позиция генерации неопределённого объекта. Есть 3 вида объекта 1 угроза для игрока, 2 объект интереса для игрока, а 3 вид не влияет на мой вопрос по этому его опустим. Так вот я хочу сделать более-менее нормальный алгоритм генерации 1 вида объектов. Сейчас они генерируются рандомно и этот вариант не очень приятно влияет на GamePlay. По этому я решил сделать след алгоритм. Каждый объект который находится на поле в данный момент(кроме объектов 1 вида), обладает весом + ещё и персонаж обладает весом. И с помощью этих значений и их позиции я примерно рассчитываю приоритет для ячеек в которых будет проходить генерация. И таким образом я пытаюсь генерировать объекты 1 вида на пути игрока к объекту его интереса, но результат мне не очень нравится и я хотел бы услышать идеи алгоритма со стороны. Заранее спасибо. В скирне пример одной итерации моего алгоритма
Изображение

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 00:34
Friend123
За интересный вопрос +1 (надеюсь интересный). Правильно ли я понял - нужно найти путь от игрока до объекта интереса? Такая задача?

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 00:45
Mr.Rosbi
Friend123 писал(а):За интересный вопрос +1 (надеюсь интересный). Правильно ли я понял - нужно найти путь от игрока до объекта интереса? Такая задача?

Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы. Если вы распалагает android девайсом я могу предоставить демку игры. Вы тогда сходу поймёте мой вопрос.

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 01:16
alew
Если вес "Следующей" генерируемой клетки(или объекта) больше веса существующей, то расположение этой клетки(генерируемой) будет в зоне "владения" существующей клетки. Если же вес меньше, то клетка сгенерируется за пределами зоны владения существующей клетки. :-c

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 01:51
Mr.Rosbi
alew писал(а):Если вес "Следующей" генерируемой клетки(или объекта) больше веса существующей, то расположение этой клетки(генерируемой) будет в зоне "владения" существующей клетки. Если же вес меньше, то клетка сгенерируется за пределами зоны владения существующей клетки. :-c



Эмм... А я ничего не понял)

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 08:31
Friend123
Mr.Rosbi писал(а):Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы.

Первое, что в голову пришло - использовать алгоритм поиска пути A*

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 12:45
Mr.Rosbi
Friend123 писал(а):
Mr.Rosbi писал(а):Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы.

Первое, что в голову пришло - использовать алгоритм поиска пути A*


В духе мы получили путь и делаем объекты 1 вида на этом пути? Интересно, но нет ведь гарантий что игрок будет двигаться по этому пути.

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 13:07
IDoNotExist
Насколько я понял нужно разместить объекты так, чтобы игрок не смог их избежать простым способом, но и при этом чтобы они стояли более менее "красиво". Я думаю тут можно применить комбинацию алгоритмов, для начала размещать тем же рандомом либо различными шумами, перлина к примеру, а под конец применить A* и затыкать самые простые и очевидные "дырки" на пути к цели.

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 13:08
Tolking
Если игрок не идиот, он точно не будет двигаться по этому пути. Где бы ты не поставил угрозу игрок не будет двигаться на нее... В чем вопрос? Ты просто не знаешь как решить задачу "руками", а возможно даже еще не знаешь какая задача стоит... Сначала руками поставь штук 100 угроз, пойми задачу и затем уже решай...

Re: Генерация объектов в сетке

СообщениеДобавлено: 18 фев 2019, 14:45
Mr.Rosbi
IDoNotExist писал(а):Насколько я понял нужно разместить объекты так, чтобы игрок не смог их избежать простым способом, но и при этом чтобы они стояли более менее "красиво". Я думаю тут можно применить комбинацию алгоритмов, для начала размещать тем же рандомом либо различными шумами, перлина к примеру, а под конец применить A* и затыкать самые простые и очевидные "дырки" на пути к цели.



Вот это кстати интересно. Сделать рандом и потом покрыть A*. Стоит попробовать