![]() |
![]() |
AlienEmperor |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
См. сабж: вот есть уровень, на нем (к примеру) 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 - 16.02.2005 11:15 -------------------- Все в жизни ботва... Кроме пчел!
|
![]() ![]() |
GoodWind |
![]()
Сообщение
#2
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Цитата(AlienEmperor @ 16.02.05 14:13) Как вариант, по идее можно сделать массив указателей на текущих активных монстров (штук 5-6), но при передвижении экрана его без конца нужно обновлять... Не очень-то красиво ?... ну я думаю посимпатичнее, чем перебирать всех монстров.... хотя массив указателей ведь тоже нужно составлять ;) а сколько монстров планируется ? -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
AlienEmperor |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Предположительно уровень состоит из матрицы (10 х 5) экранов (скорее всего все 10 х 5 использоваться не будут). Далее --> на одном экране вряд ли будет больше 3 монстров (скорее не больше двух); каждый из них "живет" своей "жизнью", может атаковать, может убегать и т.д., Т.к. экран динамический (т.е. "сроллится"), то возникают проблемы:
а) с дальностью "активации" монстров б) если дело дошло до атаки, то надо выяснить, кто именно "укусил" игрока. Далее см. выше... P.S. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... ![]() -------------------- Все в жизни ботва... Кроме пчел!
|
GoodWind |
![]()
Сообщение
#4
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Цитата(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. Можно еще вообще сделать всех монстров "живущими" все время - тогда проблема только усугубится и появится вероятность скопления всех врагов в одном месте... ![]() ага.... хотя если приведенное выше предположение а) верно, то грамотное построение уровеней поможет избежать такой траблы... вобщем поиграй в Марио ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
![]() ![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Позволю себе вновь поагитировать переход на 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 потоков, и каждый предсавлял бы из себя моснтра ![]() Это было бы лучше, т.к. внути потока, он определяет надо ли вобще работать, или просто спать... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
GoodWind |
![]()
Сообщение
#6
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
да, кстати :yes:
а что, 32-бит не пойдет ? Олежка дело говорит -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
![]()
Сообщение
#7
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Самое важное, что программа с TP7 скомпилируется в 32 битном без проблемм!
Ну в крайнем случае, будут конфликты с настройками ассемблера, которые устраняются путем настройки компилятора! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
AlienEmperor |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Эххх... Мужики... Дык, под 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 не дружил... -------------------- Все в жизни ботва... Кроме пчел!
|
GoodWind |
![]()
Сообщение
#9
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
молодец... ну ты ссылку сюдыть кидай - я, например, с удовольствием скачаю и посмотрю...
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
AlienEmperor, интересно посмотреть... если сможешь, выкладывай...
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
-AlienEmperor- |
![]()
Сообщение
#11
|
Гость ![]() |
О! Если не забуду сегодня дома нарезать на болванку, то завтра с утра принесу и отправлю Oleg_Z'у на почту, ок ? А ты уже выложишь... Кстати, принесу-ка я редактор, а не всю папку... В редакторе есть "просмотр уровня" - кнопку нажимаешь и все оживает...
|
Altair |
![]()
Сообщение
#12
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ок, я тогда выложу на сайт.
zharkih@list.ru Спасибо! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
thinker |
![]()
Сообщение
#13
|
Гость ![]() |
>oк, я тогда выложу на сайт.
>zharkih@list.ru >Спасибо! Ждём-с с нетерпением.... =) , ты когда выложишь, ссылочку-то в этом посте оставь, ок? |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
|
Altair |
![]()
Сообщение
#15
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ну да.... я выложил... vovlo правильно дал ссылку...
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
thinker |
![]()
Сообщение
#16
|
Гость ![]() |
>Так уже лежит, вроде biggrin.gif
***************************** >ну да.... я выложил... vovlo правильно дал ссылку... Ах, извеняюсь, как же это я не досмторел-то? =) |
Altair |
![]()
Сообщение
#17
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
больше мне ничего не приходило
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 5:36 |