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

Общие вопросы о Unity3D

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

Сообщение Mr.Rosbi 18 фев 2019, 00:16

Всем привет. Хотел бы поинтересоваться у вас, ребят. Делаю игру и вкратце опишу часть о которой пойдёт речь. Есть квадратное поле поделенное на N клеток и колонок. Получаем N*N ячеек.Центр каждой ячейки это возможная позиция генерации неопределённого объекта. Есть 3 вида объекта 1 угроза для игрока, 2 объект интереса для игрока, а 3 вид не влияет на мой вопрос по этому его опустим. Так вот я хочу сделать более-менее нормальный алгоритм генерации 1 вида объектов. Сейчас они генерируются рандомно и этот вариант не очень приятно влияет на GamePlay. По этому я решил сделать след алгоритм. Каждый объект который находится на поле в данный момент(кроме объектов 1 вида), обладает весом + ещё и персонаж обладает весом. И с помощью этих значений и их позиции я примерно рассчитываю приоритет для ячеек в которых будет проходить генерация. И таким образом я пытаюсь генерировать объекты 1 вида на пути игрока к объекту его интереса, но результат мне не очень нравится и я хотел бы услышать идеи алгоритма со стороны. Заранее спасибо. В скирне пример одной итерации моего алгоритма
Изображение
Аватара пользователя
Mr.Rosbi
UNITрон
 
Сообщения: 157
Зарегистрирован: 17 янв 2014, 23:11
Откуда: Minsk
Skype: rosbi.mr

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

Сообщение Friend123 18 фев 2019, 00:34

За интересный вопрос +1 (надеюсь интересный). Правильно ли я понял - нужно найти путь от игрока до объекта интереса? Такая задача?
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

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

Сообщение Mr.Rosbi 18 фев 2019, 00:45

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

Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы. Если вы распалагает android девайсом я могу предоставить демку игры. Вы тогда сходу поймёте мой вопрос.
Аватара пользователя
Mr.Rosbi
UNITрон
 
Сообщения: 157
Зарегистрирован: 17 янв 2014, 23:11
Откуда: Minsk
Skype: rosbi.mr

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

Сообщение alew 18 фев 2019, 01:16

Если вес "Следующей" генерируемой клетки(или объекта) больше веса существующей, то расположение этой клетки(генерируемой) будет в зоне "владения" существующей клетки. Если же вес меньше, то клетка сгенерируется за пределами зоны владения существующей клетки. :-c
alew
UNIт
 
Сообщения: 76
Зарегистрирован: 23 ноя 2018, 19:59

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

Сообщение Mr.Rosbi 18 фев 2019, 01:51

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



Эмм... А я ничего не понял)
Аватара пользователя
Mr.Rosbi
UNITрон
 
Сообщения: 157
Зарегистрирован: 17 янв 2014, 23:11
Откуда: Minsk
Skype: rosbi.mr

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

Сообщение Friend123 18 фев 2019, 08:31

Mr.Rosbi писал(а):Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы.

Первое, что в голову пришло - использовать алгоритм поиска пути A*
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

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

Сообщение Mr.Rosbi 18 фев 2019, 12:45

Friend123 писал(а):
Mr.Rosbi писал(а):Не совсем. Нет гарантии что игрок будет стремится к объекту интереса. Нужно сделать генерацию таким образом что бы заставить игрока думать куда стоит двигаться что бы избежать столкновения с объектом угрозы.

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


В духе мы получили путь и делаем объекты 1 вида на этом пути? Интересно, но нет ведь гарантий что игрок будет двигаться по этому пути.
Аватара пользователя
Mr.Rosbi
UNITрон
 
Сообщения: 157
Зарегистрирован: 17 янв 2014, 23:11
Откуда: Minsk
Skype: rosbi.mr

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

Сообщение IDoNotExist 18 фев 2019, 13:07

Насколько я понял нужно разместить объекты так, чтобы игрок не смог их избежать простым способом, но и при этом чтобы они стояли более менее "красиво". Я думаю тут можно применить комбинацию алгоритмов, для начала размещать тем же рандомом либо различными шумами, перлина к примеру, а под конец применить A* и затыкать самые простые и очевидные "дырки" на пути к цели.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

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

Сообщение Tolking 18 фев 2019, 13:08

Если игрок не идиот, он точно не будет двигаться по этому пути. Где бы ты не поставил угрозу игрок не будет двигаться на нее... В чем вопрос? Ты просто не знаешь как решить задачу "руками", а возможно даже еще не знаешь какая задача стоит... Сначала руками поставь штук 100 угроз, пойми задачу и затем уже решай...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

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

Сообщение Mr.Rosbi 18 фев 2019, 14:45

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



Вот это кстати интересно. Сделать рандом и потом покрыть A*. Стоит попробовать
Аватара пользователя
Mr.Rosbi
UNITрон
 
Сообщения: 157
Зарегистрирован: 17 янв 2014, 23:11
Откуда: Minsk
Skype: rosbi.mr


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 7