Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2007, 22:56   #11
pre_pod
Пользователь
 
Аватар для pre_pod
 
Регистрация: 30.11.2007
Сообщений: 19
По умолчанию

Короче,

Цитата:
через расчет ширины и высоты
написал... Нахожу середину препятствия, провожу через середину и координаты гл.героя (от которого убегать) прямую, получаю две точки пересечения по периметру препятствия, беру дальнюю, монстр бежит к ней. Это если препятсвия простой формы. Если как на рисунке, получается наоборот. Может возникнуть еще масса ситуаций, когда эта схема не сработает.

Нужно сделать так: взять ближайшую точку пересечения с периметром и от нее пустить "обтекающую волну" в обе стороны вокруг препятствия. Я не знаю как сделать такую волну.

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

Как сделать эту проклятую волну? Направте, мои поиски в нужную сторону, пожалуйста!
Изображения
Тип файла: jpg yes.jpg (37.3 Кб, 169 просмотров)
Тип файла: jpg no.jpg (38.0 Кб, 160 просмотров)
pre_pod вне форума Ответить с цитированием
Старый 09.12.2007, 23:13   #12
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Структура

Т.е. во втором рисунке монстр не бежит в нужную точку и нельзя определить очертания простого прямоугольника в которого вписан сложный объект?
По идее, если есть прямоугольная зона, то можно прписать простой алгоритм из 4-х фаз, вот рисуночек. Попробуй разобраться.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 13.05.2010 в 16:02.
Beermonza вне форума Ответить с цитированием
Старый 16.12.2007, 20:19   #13
pre_pod
Пользователь
 
Аватар для pre_pod
 
Регистрация: 30.11.2007
Сообщений: 19
По умолчанию

Гы, гы. Я сделал. Если интересно, я доработаю еще и выложу потом.
pre_pod вне форума Ответить с цитированием
Старый 17.12.2007, 00:10   #14
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

ИМХО многим будет интересно, ...выкладывай, в ответ только благодарности, что может быть лучше.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 17.12.2007, 21:41   #15
pre_pod
Пользователь
 
Аватар для pre_pod
 
Регистрация: 30.11.2007
Сообщений: 19
По умолчанию

Вот: http://slil.ru/25248697 Архив весом 1 Мб (извините, что много). Там тест-прога и описание алгоритма. В проге F1 - справка.

Жду комментариефф
pre_pod вне форума Ответить с цитированием
Старый 17.12.2007, 22:40   #16
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Отзыв

Совсем даже ничего, ...описания алогитма не нашел, отдельный файл не читается, ... может я дуб...
Опубликуй упрощенный алгоритм прям тут.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 17.12.2007, 23:05   #17
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от pre_pod Посмотреть сообщение
Вот: http://slil.ru/25248697 Архив весом 1 Мб (извините, что много). Там тест-прога и описание алгоритма. В проге F1 - справка.
да как бы и не мгого, но скорость на этом "слил" ужасная, не слил а нацедил (
p.s. ты лучше или заведи себе сайт на бесплатном хостинге, там тоже не фонтан, но хоть что-то, или исходники в архиве прикрепляй (для совместимости лучше на D7)

кстати так и не скачал, сервер прервал соединение на половине
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 17.12.2007 в 23:12.
mutabor вне форума Ответить с цитированием
Старый 18.12.2007, 05:29   #18
pre_pod
Пользователь
 
Аватар для pre_pod
 
Регистрация: 30.11.2007
Сообщений: 19
По умолчанию

Перезалил: http://ibox.org.ua/94945/ Надеюсь, не перенацедил.

Алгоритм в упрощенном виде:

Монстр – тот, кто должен убегать.
Главный герой (ГГ) – тот, кто должен догонять.
Препятствие – объект, за которым можно спрятаться. ГГ может разрушать препятствия.

1. Найти ближайшее к монстру препятствие.
2. Определить, можно ли обойти препятствие? Если нет, вернуться к п.1.
3. Определить границы препятствия по четырем его крайним точкам. Расширить границы с учетом возможности обхода.
4. Найти центр препятствия.
5. Если позиция ГГ совпадает с центром препятствия, поиск не проводить.
6. Если ГГ снаружи препятствия, «двигаться» от ГГ к через центр препятствия к дальним от ГГ границам. В каждом шаге движения проверять, занята ли данная позиция? При достижении дальней границы препятствия, прекратить поиск. Выбрать из проверенных позиций последнюю свободную. Принять ее за искомую. Перейти к п.8.
7. Если ГГ внутри препятствия, «двигаться» от ГГ сначала в одну сторону, потом в другую. В итоге выбрать ту позицию, которая отгорожена от ГГ элементом препятствия и наиболее от него удалена.
8. Найти путь от монстра к искомой позиции.
Изображения
Тип файла: jpg pic.jpg (38.2 Кб, 158 просмотров)
pre_pod вне форума Ответить с цитированием
Старый 18.12.2007, 22:22   #19
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от pre_pod Посмотреть сообщение
Перезалил: http://ibox.org.ua/94945/ Надеюсь, не перенацедил.
Совсем другое дело, эту шарашку одобряю

Алгоритм работает хорошо, я этого монстра погонял хорошенько, багов и зависаний не было, качественная работа. Кстати, а что он будет делать если препятствий не останется? Будет плакать и просить не убивать его?
А исходники где? Секрет ноу хау? (Они мне не нужны, это я так, просто спросил)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 18.12.2007, 22:59   #20
pre_pod
Пользователь
 
Аватар для pre_pod
 
Регистрация: 30.11.2007
Сообщений: 19
По умолчанию

Цитата:
Кстати, а что он будет делать если препятствий не останется?
Он побежит в самый дальний от ГГ угол. Если Вы внимательно читали алгоритм, то, наверное заметили:
Цитата:
ГГ может разрушать препятствия
Можно попробовать и все станет ясно.
Цитата:
А исходники где? Секрет ноу хау?
Секрет ноу хау я заберу с собой в могилу.
А если серьезно, я разрабатываю игру на игровом движке GameMaker7. Думаю, никто тут с таким не знаком и на подобную ерунду время не тратит. Примитивно? Может быть... Надо же с чего-то начинать. А в планах и Delphi и С++ и прочее.

P.S. Спасибо за проявленный интерес к моим скромным начинаниям.
pre_pod вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логика монстра(ов) ChukCha Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 19.08.2008 15:31
Алгоритм SunKnight Работа с сетью в Delphi 5 29.04.2008 15:24
Алгоритм Rifler Паскаль, Turbo Pascal, PascalABC.NET 3 30.03.2008 01:33