Генерация NPC в городе а-ля GTA 1-2

Форум для всего, что связано с ИИ.

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jetyb 31 авг 2015, 10:56

Ага, создал\подвинул дизайнер домик - будь волен еще и какую-то "карту плотности вероятности" редактировать.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 11:02

jetyb писал(а):Система нахождения пути тут по-любому нужна.
Мне кажется, если бы ТС мог бы сделать что-то лучше NavMesh, он бы тут тему с более простыми вопросами не создавал.


Систему пути (статическую) сделать не сложно, причем в на NavMesh как я понимаю нет приоритетного слоя движения (например если есть дороги и газон, то приорететнее ходить по дорогам, а по газону только в редких случаях).

Текстура вероятностей - по сути есть текстура точек спауна - ее я пока из текстуры беру, но буду генерить массив 100 на 100 из игры (дороги 1 слой, здания другой - вероятность в зависимости от района города в диферентом из центра).

Сейчас я разбил задачу по созданию НПЦ в городе - на генерацию и поведения. Сейчас разговор о генерации, хочу понять как лучше делать, если есть лучше - подскажите
Последний раз редактировалось jack1111 31 авг 2015, 12:05, всего редактировалось 5 раз(а).
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 11:04

Cr0c писал(а):Что значит "совпадать"? Спавнер смотрит вероятность и возможность спавна на точке.
Поддерживать несложно - генерируй за камерой и задавай направление движения мимо игрока, тогда после смерти моба новый будет из-за края приходить и мимо шастать, или какая там логика будет. Ещё бы не забыть откат на генерацию мобов, а то будет массовая гибель - так они потом со всех сторон одновременно же полезут, как зомби какие-то )))


Ну сейчас у меня спаунер срабатыавет 1 раз - генерит или негенерит НПЦ. Если НПЦ в зоне спауна начнуть умирать (уходить в зону смерти). То как спаунер поймет что нужно ему сгенерить еще один раз в той области спауна, где НПЦ меньше всего.
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Cr0c 31 авг 2015, 12:05

jetyb писал(а):Ага, создал\подвинул дизайнер домик - будь волен еще и какую-то "карту плотности вероятности" редактировать.

Спавнер смотрит вероятность и возможность спавна на точке.

Я уже писал про это.

jack1111 писал(а):Если НПЦ в зоне спауна начнуть умирать (уходить в зону смерти). То как спаунер поймет что нужно ему сгенерить еще один раз в той области спауна, где НПЦ меньше всего.

Смерть моба должна вызывать событие спавна очередного моба, по идее.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 12:06

Cr0c писал(а):Смерть моба должна вызывать событие спавна очередного моба, по идее.


В какой момент - это понятно. Вопрос как определить точки спауна с наименьшой плотности (которая возникла именно как событие смерти моба) и спаунить объекты имено в тех точек спауна - чтобы было равномерное население по всей зоне. А не создавать НПЦ просто в рандомной точке.
Последний раз редактировалось jack1111 31 авг 2015, 12:13, всего редактировалось 2 раз(а).
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Cr0c 31 авг 2015, 12:11

jack1111 писал(а):чтобы было равномерное население по всей зоне. А не создавать НПЦ просто в рандомной точке

Карта плотности подразумевает неравномерное население, вообще то.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 12:15

Cr0c писал(а):Карта плотности подразумевает неравномерное население, вообще то.


Я немного о другом.

Так смотри в чем проблема. Если погибло 25% НПЦ от предыдущего состояния в определенной части зоны спауна - то если я опять все точки спауна задействую - может получиться ситуации что там где НПЦ не гибли снова возникнет новые НПЦ и плотность повыситься. - Как этого избежать?

В моем понимании пока, я должен брать часть (в зависимости от кол-во смертей (25% 50% 75% 100%) - и брать из всех доступных точек спауна только эту часть, а не все точки. - и генерить заново объекты. Как вот определить центр откуда я возьму точки спауна для генерации ?
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение _Ignat_ 31 авг 2015, 13:24

Спаунить не точки, а НПС, т.е. будет вам ID.
Изображение
| · участник клуба GCC · |
Аватара пользователя
_Ignat_
UNITрон
 
Сообщения: 311
Зарегистрирован: 11 дек 2013, 20:26
Откуда: Российская Федерация
  • Сайт

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 13:35

_Ignat_ писал(а):Спаунить не точки, а НПС, т.е. будет вам ID.


Так я и спамню НПЦ и знаю их ИД, а точки - это откуда они спамняться. Вы это к чему?

Вообщем решил немного переработать систему:
- точки спауна буду генерить исходя из объектов игрового мира (открытые, закрытые)
- вместо карты вероятности - сделать карту плотности (где закрытые - не будут отображаться, а будет учитываться плотность по районам)
- восстанавливать популяцию буду исходя из средней плотности в зоне спауна
Последний раз редактировалось jack1111 31 авг 2015, 13:48, всего редактировалось 1 раз.
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Cr0c 31 авг 2015, 13:44

jack1111 писал(а):Так смотри в чем проблема. Если погибло 25% НПЦ от предыдущего состояния в определенной части зоны спауна - то если я опять все точки спауна задействую - может получиться ситуации что там где НПЦ не гибли снова возникнет новые НПЦ и плотность повыситься. - Как этого избежать?

В моем понимании пока, я должен брать часть (в зависимости от кол-во смертей (25% 50% 75% 100%) - и брать из всех доступных точек спауна только эту часть, а не все точки. - и генерить заново объекты. Как вот определить центр откуда я возьму точки спауна для генерации ?

генерируй за камерой и задавай направление движения мимо игрока, тогда после смерти моба новый будет из-за края приходить
это не работает? Случаи разные бывают, в том же гта после стрельбы мобы разбегаются (генерация новых прекращается) и плотность популяции падает почти до 0%, а на границе активной зоны генерятся новые, которые двигаются к игроку.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 13:50

Cr0c писал(а):это не работает? Случаи разные бывают, в том же гта после стрельбы мобы разбегаются (генерация новых прекращается) и плотность популяции падает почти до 0%, а на границе активной зоны генерятся новые, которые двигаются к игроку.


Подумаю еще, может ты и прав. До вечера переработаю систему спауна, карту вероятностью - все же сложно расширить, попробую через плотность
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Cr0c 31 авг 2015, 13:55

Плотность требует много цпу, попробуй не рандом, а рандом в квадрате, для меньшей линейности. Или два разных рандома перемножать между собой. Это добавить нелинейного шума в результат.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Cr0c 31 авг 2015, 14:07

Карт плотностей может быть несколько, вплоть до карты на каждый тип моба.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение Diab10 31 авг 2015, 15:10

Ну так проще простого же :)
Разбить сектор на более мелкие сектора, проверить кол-во мобов внутри. Где недостаточно - туда и спавнить.
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Генерация NPC в городе а-ля GTA 1-2

Сообщение jack1111 31 авг 2015, 16:29

Cr0c писал(а):Плотность требует много цпу


Что вы понимаете под "картой плотности" - просто может мы о разном говорим?
jack1111
UNец
 
Сообщения: 29
Зарегистрирован: 29 авг 2015, 17:50

Пред.След.

Вернуться в Искуственный Интеллект

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2