Пятница, 22 Ноября 2024, 09:00

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Результаты поиска
TonyForgeДата: Суббота, 11 Июля 2015, 17:43 | Сообщение # 21 | Тема: Обновление большого количества объектов в реальном времени
частый гость
Сейчас нет на сайте
Цитата
Достаточно будет сделать обновление по схеме Loading – постепенно.

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

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

Все-таки 30 раз в секунду обновлять все объекты - это некий залог стабильности и предсказуемости работы игры.
TonyForgeДата: Суббота, 11 Июля 2015, 13:39 | Сообщение # 22 | Тема: Обновление большого количества объектов в реальном времени
частый гость
Сейчас нет на сайте
Gudleifr,
Ты навел меня на хорошую мысль. Надо разбить корабли на два 2 класса: NPC и мобы.
- Мобы это полиция, пираты, локальные грузовые корабли, вобщем все, что живет внутри сектора никогда его не покидая. И их как раз создавать при загрузке сектора и удалять при выгрузке, а количество их в секторе определять некоторыми параметрами (вероятностями или пропорциями).
- NPC это уже полноценные виртуальные игроки, которые могут перемещаться между секторами, садиться и взлетать со станций, покупать себе охрану и т.д. Главное, что их число жестко ограничено и не слишком большое.

MR_Borg,
Думаю я тебя понял, из твоей идеи тоже можно кое что почерпнуть. Думаю для NPC можно будет сделать два разных алгоритма обновления:
1 - когда NPC и игрок находятся в одном секторе, тут все без упрощений
2 - когда NPC в одном из соседних секторов и вот тут как раз обновлять его по упрощенной модели, как ты предлагаешь, т.е. порезать по максимуму все не нужные вычисления поворотов, огибания препятствий и т.п. Рассматривать их как материальные точки с радиусом и простой логикой взаимодействия. При касании радиусов разных кораблей вычислять сразу итог касания (коснулся с пиратом - вычислился результат схватки, коснулся станции - вычислился результат пребывания на станции и т.д.)

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


Сообщение отредактировал TonyForge - Суббота, 11 Июля 2015, 13:40
TonyForgeДата: Суббота, 11 Июля 2015, 12:55 | Сообщение # 23 | Тема: Обновление большого количества объектов в реальном времени
частый гость
Сейчас нет на сайте
MR_Borg,
Тоже думал про вариант с упрощением вычислений, но не понятно как быть с событиями, которые мы пропускаем перебрасывая корабль сразу в точку назначения (по пути на него могли напасть пираты, которые как раз летели тем же курсом и в заранее неизвестной точке пересеклись с кораблем и сбили его, это просто как пример. Учитывая, что корабли у меня выбирают курс с помощью steering behaviors, то заранее предсказать куда корабль свернет сложно, слишком много факторов нужно учитывать, к примеру ему по пути мог попасться астероид и облетая его он наткнулся на пиратов, не предсказуемо).
Насчет схватки согласен, если поймать сам момент начала боя, то можно все упростить в этом месте до простого броска кубика и подсчета очков. Так если подумать, то поймать момент тоже не очень просто (см. выше про характер движения кораблей в мире).

Т.е. понятно, что упрощение нужно, но слишком сильно упрощать не хочется.


Сообщение отредактировал TonyForge - Суббота, 11 Июля 2015, 12:58
TonyForgeДата: Суббота, 11 Июля 2015, 12:27 | Сообщение # 24 | Тема: Обновление большого количества объектов в реальном времени
частый гость
Сейчас нет на сайте
Всем привет!

Делаю реалтаймовый космосим (3D, только сингл, платформа PC). Игровая вселенная разбита на секторы (каждый сектор как отдельная локация-кубик, с планетами, станциями и кораблями). Вот такие возможности хочется реализовать для кораблей:
- взаимодействие со станциями (посадка/взлет, выполнение некоторого алгоритма на станции, к примеру покупка оборудования, груза)
- взаимодействие между кораблями (навигация через steering behaviors, без поиска путей, выполнение некоторого не очень сложного алгоритма имитирующего ИИ, к примеру выбор врагов/друзей, атаковать или преследовать врагов, защищать друзей)
- переход кораблей между секторами (хочется, чтобы корабли могли последовать за игроком или летать с грузом на планеты в соседних секторах и т.п.)

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

Проверил, уже 500 кораблей только с навигацией через steering behaviors и без отрисовки моделей сильно просаживают FPS (неиграбельно). Т.е. в лучшем случае в реальном времени я при текущем подходе смогу обновлять всего пару сотен кораблей на весь игровой мир. Вроде маловато.

Собственно вопрос: как в таком случае быть с производительностью игры? Может у кого-то есть какие-то идеи по организации процесса обновления объектов?

Пока у меня только одна мысль появилась: Ограничить количество кораблей на один сектор (штук 10-20) и обновлять корабли лимитированными порциями распределяя вычисления по времени. А именно: чтобы в секторе игрока обновлялись все корабли за один кадр, в соседних секторах уже за два кадра, в еще более удаленных уже за 3 кадра и так далее. Чем дальше сектор от игрока, тем сильнее размазывать во времени обновление кораблей. Получится что-то вроде замедления времени в удаленных секторах. При этом при переходе игрока в соседний сектор синхронизировать весь мир (до обновить нужное количество раз все корабли в мире, т.к. во время загрузки как я выше уже писал можно сколько угодно вычислений сделать).

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


Сообщение отредактировал TonyForge - Суббота, 11 Июля 2015, 12:31
TonyForgeДата: Суббота, 31 Января 2015, 09:12 | Сообщение # 25 | Тема: [2D] - Тулумба [Android, Arcade]
частый гость
Сейчас нет на сайте

Жанр игры: Arcade
Движок: AndEngine
Пространство: 2d
Похожие игры: Ice Climber
Платформы: Android 3.0+
Тип лицензии распространения: (некоммерческая)
Домашняя страничка игры:
http://vk.com/tonyforgegames

Описание:
Tulumba - это игра о нелегком пути кусочка пресного теста, в стремлении подняться выше облаков с помощью шапки-зонтика и попутного ветра. Так как попутный ветер в мире Тулумбы не дешев и создается только методом научного тыка, отдуваться приходится, конечно же, игроку. На высоте 1000 этажей нас ждет вечеринка с друзьями Тулумбы, так что пальцы в руки и вперед, навстречу облакам!

По пути Тулумба собирает звездочки, протискивается между препятствиями, совершает головокружительные падения, аки Икар с небес, погружает свое тельце в защитные пузыри и вообще всячески получает удовольствие от процесса. Игрок же тем временем стирает в мозоли свои дрожащие пальцы и зорким вылупленным глазом непрерывно следит за ускорением свободного падения Тулумбы. Испариной покрывается его напряженное лицо, когда в очередной раз Тулумба, лишь едва коснувшись препятствия, теряет свою шапочку-зонтик и устремляется в головокружительное пике.

Да, гравитация в этой игре побеждает очень часто, в этом вся соль. Редкие передышки, пока Тулумба посиживает на облаке, можно использовать, чтобы накатить карвалольчику, пожаловаться на нелегкую судьбу своим друзьям, ну а после снова продолжается бесконечный подъем.

Скриншоты:


Скачать APK:
Tulumba APK
TonyForgeДата: Среда, 03 Декабря 2014, 08:01 | Сообщение # 26 | Тема: Разработка игры
частый гость
Сейчас нет на сайте
Еще ведь Blitz3D недавно стал бесплатным, хорошо подойдет чтобы простенький шутер или тот же tower defence сделать. И 3d и 2d можно сделать, в его составе куча примеров идет, все необходимое (графика,звук,ввод/вывод,сеть) там есть.
TonyForgeДата: Четверг, 20 Ноября 2014, 22:55 | Сообщение # 27 | Тема: Оружие в атмосфере с взрывоопасными газами
частый гость
Сейчас нет на сайте
Водомет, Винтовка Гаусса, noise-ган (это который звуком убивает), пси-оружие smile

Сообщение отредактировал TonyForge - Четверг, 20 Ноября 2014, 22:58
TonyForgeДата: Понедельник, 17 Ноября 2014, 23:18 | Сообщение # 28 | Тема: [2D] Den of Evil [TDS]
частый гость
Сейчас нет на сайте
Спасибо smile

Уже пробовали понажимать на картины на стенах, или полки? Иногда нужно чтобы герой был повернут лицом к к ним, чтобы открылись секретные двери.
Кстати, некоторые западни срабатывают только при определенных условиях (не повесили все картины в комнате, прежде чем открывать сундук в центре комнаты и т.п.).

Еще рекомендую когда найдете золотой ключ (он нужен чтобы открыть главные ворота во дворе) сходить на самый нижний уровень в тюрьму, одна из камер открывается как раз таким ключом. К слову в игре не 3, а 4 вида оружия.

Ну и самом собой в конце игры будет босс, на последнем уровне сложности я его и сам убить ни разу не смог smile
TonyForgeДата: Понедельник, 17 Ноября 2014, 20:01 | Сообщение # 29 | Тема: [2D] Den of Evil [TDS]
частый гость
Сейчас нет на сайте

Жанр: Top-Down шутер про особняк с нежитью
Технологии: Flash
Описание:
Герой ищет выход из зловещего особняка, попутно отстреливая зомбаков и подобную нечисть. Запутанные лабиринты, внезапные засады с монстрами и потайные комнаты в комплекте.
Игра делалась в качестве хобби, пришло время ей поделиться с общественностью, комментарии приветствуются smile В планах попробовать сделать продолжение или другую игру на основе этой.

Управление:
WSAD (или стрелки) + Мышь
С или ENTER - для открывания дверей и ящиков, перемещения по лестницам, взаимодействия с другими объектами (к примеру, чтобы нажать на картину в стене, открывающую потайную дверь).
1,2,3 - для смены оружия
ESC - пауза

Звуковое сопровождение можно отключить кнопочкой в левом верхнем углу smile

Играть в браузере:
https://dl.dropbox.com/s/s77tbl2cax9juvq/denofevilplay.html

Скачать:
https://www.dropbox.com/s/48mmv3039o9sph9/denofevil.swf?dl=0

Скриншоты:


  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг