IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Кто как просчтитывает столкновения ?, Как выбрать нужный спрайт ?
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


См. сабж: вот есть уровень, на нем (к примеру) 40 монстров, тех, которых видно - 3, остальные "в отключке" пока не попадут в зону видимости... С одним из них игрок взаимодействует...
Есть ли что-нибудь лучше чем:

... For I:=0 To Monster_Count-1 Do
If Monsters[I]^.Active Then Begin
If GetMonster[Player.X,Player.Y]<>Nil Then
Monsters[I]^.DoCollide;
End;

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

Сообщение отредактировано: AlienEmperor -


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата(AlienEmperor @ 16.02.05 14:13)
Как вариант, по идее можно сделать массив указателей на текущих активных монстров (штук 5-6), но при передвижении экрана его без конца нужно обновлять... Не очень-то красиво ?...


ну я думаю посимпатичнее, чем перебирать всех монстров....
хотя массив указателей ведь тоже нужно составлять ;)
а сколько монстров планируется ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Предположительно уровень состоит из матрицы (10 х 5) экранов (скорее всего все 10 х 5 использоваться не будут). Далее --> на одном экране вряд ли будет больше 3 монстров (скорее не больше двух); каждый из них "живет" своей "жизнью", может атаковать, может убегать и т.д., Т.к. экран динамический (т.е. "сроллится"), то возникают проблемы:
а) с дальностью "активации" монстров
б) если дело дошло до атаки, то надо выяснить, кто именно "укусил" игрока.
Далее см. выше...

P.S. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... smile.gif


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата(AlienEmperor @ 16.02.05 19:13)
Предположительно уровень состоит из матрицы (10 х 5) экранов (скорее всего все 10 х 5 использоваться не будут). Далее --> на одном экране вряд ли будет больше 3 монстров (скорее не больше двух); каждый из них "живет" своей "жизнью", может атаковать, может убегать и т.д., Т.к. экран динамический (т.е. "сроллится"), то возникают проблемы:
а) с дальностью "активации" монстров

ну тут однозначно - ширина экрана + чуток, чтобы он не начинал двигаться на глазах у играющего...
Цитата(AlienEmperor @ 16.02.05 19:13)
б) если дело дошло до атаки, то надо выяснить, кто именно "укусил" игрока.

я так понимаю, что
а) игра - классический платформер
б) в связи с а) крутой ИИ не нужен
в) монстр имеет методы для проверок: "есть ли опора ?"," не уперся ли я в стену ?" и т.п... если так, то можно добавить и метод "а не укусил ли я героя?"
Цитата(AlienEmperor @ 16.02.05 19:13)
P.S. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... smile.gif

ага.... хотя если приведенное выше предположение а) верно, то грамотное построение уровеней поможет избежать такой траблы...

вобщем поиграй в Марио smile.gif :low: :yes:


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Позволю себе вновь поагитировать переход на 32 бита...
Цитата
For I:=0 To Monster_Count-1 Do
If Monsters[I]^.Active Then Begin
If GetMonster[Player.X,Player.Y]<>Nil Then
Monsters[I]^.DoCollide;
End;

А в 32 битах, можно было бы создать Monster_Count-1 потоков,
и каждый предсавлял бы из себя моснтра smile.gif
Это было бы лучше, т.к. внути потока, он определяет надо ли вобще работать, или просто спать...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


да, кстати :yes:
а что, 32-бит не пойдет ?
Олежка дело говорит


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Самое важное, что программа с TP7 скомпилируется в 32 битном без проблемм!
Ну в крайнем случае, будут конфликты с настройками ассемблера, которые устраняются путем настройки компилятора!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Эххх... Мужики... Дык, под 32 я на DelphiX такой проект заколбасил годик назад --> фичи:
а) Редактор на движке игры (можно вставлять текстуры, анимированные объекты, объекты взаимодействия);
б) Редактор монстров (позволяет создавать новых монстров "с нуля", как анимацию, так и ИИ
в) Была попытка сделать систему прокачки игрока

баги: немерянный архив (сюда не скинуть --> тестовый уровень + редакторы + графика (кстати, графика офигительная (без ложной скромности - у меня брательник фанат 3D max и комп. дизайна)) около 5 мб.

Насчет системных требований: изначально делалось под 70 FPS, на Cel 500 + GeForce2MX идет ОК (70 FPS есть)... На 166MX + 1MB S3Trio64V+ от 15 до 70
FPS в зависимости от сцены...

Кстати, Oleg_Z, могу на мыло скинуть ближе к понедельнику (если интересно - на графику действительно рекомендую посмотреть).

В общем, с тех пор не интересно мне стало под 32 писать, старины захотелось...
P.S. Теперь, в принципе, мне ничего не стоит и без DelphiX такую же тему написать - это тогда с DX не дружил...


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


молодец... ну ты ссылку сюдыть кидай - я, например, с удовольствием скачаю и посмотрю...


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


AlienEmperor, интересно посмотреть... если сможешь, выкладывай...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






О! Если не забуду сегодня дома нарезать на болванку, то завтра с утра принесу и отправлю Oleg_Z'у на почту, ок ? А ты уже выложишь... Кстати, принесу-ка я редактор, а не всю папку... В редакторе есть "просмотр уровня" - кнопку нажимаешь и все оживает...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ок, я тогда выложу на сайт.
zharkih@list.ru
Спасибо!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






>oк, я тогда выложу на сайт.
>zharkih@list.ru
>Спасибо!
Ждём-с с нетерпением.... =) , ты когда выложишь, ссылочку-то в этом посте оставь, ок?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Цитата(thinker @ 19.02.05 13:05)
Ждём-с с нетерпением.... =)

Так уже лежит, вроде :D
Движок
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ну да.... я выложил... vovlo правильно дал ссылку...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






>Так уже лежит, вроде biggrin.gif
*****************************
>ну да.... я выложил... vovlo правильно дал ссылку...
Ах, извеняюсь, как же это я не досмторел-то? =)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


больше мне ничего не приходило


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.05.2024 23:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name