Создание децентрализованного стада.!?

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Создание децентрализованного стада.!?

Страницы: 1  новая тема

Автор Сообщение


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 15:58
Вопрос вот какой, как сделать ДЕЦЕНТРАЛИЗОВАННОЕ стодо например коров? Условия:
Стадо должно иметь возможность делиться на части, например есть стадо из 100 обьектов, запускаем через него некоево ковбоя, он своим присутствием делит стадо пополам, и оно делится на 2 автономные части которые могут как разбежаться так и слиться обратно в одно. Так стадо можно разделить вплоть до того что все коровы будут бегать поодиночке, но чтобы можно было их снова собрать.
Есть идеи, желательно обросшие кодом =)?

гроссмейстер
Группа: Сообщество GM
Сообщений: 172
Добавлено: 12-01-2007 16:10
А можно поинтересоваться, что это будет за игра? Очень интересно - таких законченных игр на ГМ я не видел...


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 16:46
В том то и фишка что таких игр небыло, зачем повторяться, а уж имея такую базу можно наворотить многое, от банального кавбоя (пастуха) гоняющего стадо куда надо по вейпойнтам отстреливающего волков, до чего угодно другово. Такой пример даст много вариантов создания новых оригинальных игр. Была бы фантазия.

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 12-01-2007 18:49
создавать навидимые проводники за которыми будут бегать части стада и коровам говорить какой проводник их. Проводников будет >=1 и <= кол-во коров.


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 20:59
Нет, в том то и дело, что проводники это централизаторы стада, а я хочу децентрализованное, те, каждая овца ориентируется на ближайших овец и бежит туда где их больше,ЕСЛИ ОНИ НЕ СЛИШКОМ ДАЛЕКО, К ТЕМ ЧТО ДАЛЕКО НЕ БЕЖИТ. Чтоб каждая овца сама за себя.
Возможный вариант - сделать каждой овце невидимые большие кружки, и проверять наличие соседей по ним, но я не знаю как сделать чтобы овца в таком случае бежала в НУЖНОМ направлении. конеш, можно сделать проверку и по расстоянию, но тогда надо как то проверять всех овец. Суть не в том, суть вопроса в том, как заставить овцу выбрать нужное направление к наибольшему доступному кол ву овец

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 12-01-2007 21:39
На самом деле никто с полной уверенностью не может сказать что управляет животными, но у групп их есть некий общий разум или какая то телепатическая связь. Но это не важно. Если ты сам представляешь чего ты хочешь - опиши подробнее, а так тебе будут идеи предлагать, а ты новые условия придумывать:) Выложи сюда все условия по которым будет передвигаться стадо и его части.

каждая овца ориентируется на ближайших овец и бежит туда где их больше

ну опрашивает ближайшие проводники на предмет кол-ва овец ведомых им и бежит к проводнику этих овец ))) Нет отдельной овцы или группы у которой не было бы такого проводника и с пр-ми задача упрощается при тех же условиях (пока что).

То что ты хочешь сделать даст тебе 30 фпс при 40 овцах. Оно тебе надо?:)


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 22:10
что касается ФПС, то можно опрашивать овечек по таймеру, например раз в 3 секунды, но мне кажется что таймеры должны тормозить процесс, нет?
Что касается проводников, то я не знаю как выбрать и закрепить овцу за проводником, или наоборот, не важно. Как сделать выборку по переменной из нескольких одинаковых обьектов??

Вопрос сложный на мой взгляд и не факт что я найду на него ответ.
А требования просты. Сделать реалистичное дробимое и склеиваемое стадо с любым количеством частей

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 12-01-2007 22:47
А требования просты. Сделать реалистичное дробимое и склеиваемое стадо с любым количеством частей


Это очень обобщённо. Нужно просто список того что смогут делать эти зверушки.
1. следовать за проводником когда он выбран
2. искать ближайшую крупную группу и следовать к ней
3. объединиться с группой если достаточно близко к одному из её животных.

Вот такое надо. Это ж программирование по алгоритмам, а не написание художественного романа.

мастер
Группа: Участники
Сообщений: 70
Добавлено: 29-01-2007 10:37
Зачем объединять коров в стада? Предлагаю следующий алгоритм:
если в 100 метрах от коровы появляется волк, корова идет в противоположную сторону (и если волк в центре, стадо делится).
Если все спокойно, коровы смотрят на себеподобных: стремятся приблизится к стаду на растоянии, скажем, 50-100 метров, и отходят при менее 10.

На выходе получем: несколько стад, расстояние между которыми как минимум 100 метров, а плотность коров 10-50. Добавив коровам случайное перемещение получаем миграцию стада.

Это все пока только прикидки, сегодня-завтра попробую испытать это в деле.

мастер
Группа: Участники
Сообщений: 70
Добавлено: 01-02-2007 12:35
Попробывал. Баги сего метода обнаружились почти сразу.
Случайно перемещающиеся коровы просто обожают спариваться: Отделяются по 2 особи и уходят в произвольном направлении. Причем каждая считает, что находится в стаде, т.к. видит возле себя другую корову. Буду думать дальше.

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 01-02-2007 15:16
без Проводника для каждой группы намного сложнее. И тормознее к тому же. А видимость та же будет.

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Создание децентрализованного стада.!?

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU