Перейти к содержимому


Фотография

3D Editor mini


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 46

#21 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 20 February 2015 - 20:31

И еще вопросец, объекты с отключенной симуляцией продолжают существовать только их не видно так?

Вот тут странность в имени модуля, взглянем на те же команды:
enableSimulation - прекращает симуляцию объекта (Что и должен делать по названию модуль), но он не скрывает его и на нем так же работают законы физики
hideObject - прекращает и симуляцию, и рендер, и взаимодействия объекта (Что и делает модуль (Поставь его на 10 метров и поймешь))

PS А так к ним можно также обратиться, они из памяти не стираются

Возможно ли создать этакую базу объектов которую и будет отслеживать игрок по "шаблонному" но откорректированному методу? Быть может в таком случае удастся избежать ненужной вычислительной нагрузки?

Что мешает создать проверку дистанции до локации, и при выполнении этого условия уже саму дистанцию до некого объекта?

Сообщение отредактировал vlad333000: 20 February 2015 - 20:35

  • 0

#22 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 February 2015 - 21:02

Симуляция симуляцией, а видимость видимостью, для экономии нужно отключать оба.

Пока вы не удалите объект вы всегда можете к нему обратиться.

 

 

получается второй способ будет не актуален в связи с огромной кучей игровых логик по всей карте?

 

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


ЗЫ

В увлекательном игровом процессе всегда присутствует обилие объектом, в том числе и логики.

Самый эффективный код, совсем, не всегда, самый замороченный)

 

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


Сообщение отредактировал SteelRat: 20 February 2015 - 21:04

  • 0

#23 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 21:51

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

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


Сообщение отредактировал Djon: 20 February 2015 - 21:53

  • 0

#24 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 22:21

Господа, на сегодняшний день кто то видел мало мальское хотя бы насыщение и оживление Армы с задействованием всей карты Алтис?


  • 0

#25 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 20 February 2015 - 22:26

Djon, единовременно - нет
А так весь Invade&Anex, CTI или Altis-Life (Смотря как разместили квесты), Более менее BattlRoyale, Так же Epoch, Breaking Point

Сообщение отредактировал vlad333000: 20 February 2015 - 22:29

  • 0

#26 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 February 2015 - 22:26

Господа, на сегодняшний день кто то видел мало мальское хотя бы насыщение и оживление Армы с задействованием всей карты Алтис?

В смысле, насыщение и оживление?


  • 0

#27 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 22:35

SteelRat, Насыщение - это не пустые дома хотя бы. Оживление - это не пустые улицы (с транспортом знаю, что все плачевно) И все это в одной миссии. 

vlad333000, С этими творениями я знаком, но это далеко не то чего хотелось бы. Вот в лайве делаешь свои делишки, катаешься туда сюда и так приятно видеть встречные машины. Увы но Арма этот аспект применимо к ботам исключает в веду полного не умения адекватно ездить. На какой бы местности бот не находился он всегда найдет обо что разбить авто. Я уже не говорю о правостороннем движении...


  • 0

#28 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 20 February 2015 - 22:37

Djon, у SteelRat попроси его пока что недоделанную Embient life :)
  • 0

#29 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 22:44

vlad333000, Мне даже не труды чьи то нужны, тем более он старается над ней и хочет показать в свет готовый экземпляр, тут дело в другом. Мне просто хочется знать можно ли на этом движке такого добиться или в награду за потраченную кучу времени и нервов получу просадку FPS и фризы в придачу. Мне достаточно ответа знающего человека который скажет "Да это возможно" или "Зря тратишь время, движок не вывозит в любом раскладе". Понимаю, что если я захламлю карту всякой ерундой то результат будет плачевный, но если максимально оптимизировать весь этот процесс то будет все норм? 


  • 0

#30 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 20 February 2015 - 22:49

Djon, если макс. оптимизировать то да
  • 0

#31 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 22:53

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


  • 0

#32 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 February 2015 - 22:57

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

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

 

Продолжим).

 

Для сингла, есть очень интересный вариант, но он требует развития.

Когда я ковырялся в БИСовских модулях зон, модули имитации гражданской жизни, работали по интересному принципу.

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

И тупо при необходимости вытаскивали их оттуда на требуемую позицию активируя симуляцию и видимость. После ухода объекта из определённого радиуса вокруг игрока, объекты телепортировались обратно на нулевые, и так по кругу.

 

Дёшево и сердито!

 

Но с мебелью в зданиях нужен доработанный подход, создавать такую кучу сразу не резон, однозначно по этому:

  1. Миссия началась, нам понадобился объект,  у нас в миссии есть глобальная AllObjects переменнаяя типа "массив", ищем нужный класс в этом массиве, и естественно при первом обращении там [] (пусто). Создаём объект.
  2. Наступает момент когда объект больше не актуален, теперь самое интересное), вместо удаления объекта кидаем его на  [0,0,0], если этого мало то [999999, 999999, 0],  и отключаем ему всю лабуду. и исполняем AllObjects pushBack _object .
  3. Нам снова понадобился класс данного объекта, ищем в AllObjects (с поиском я уверен каждый и сам справится), если объект там есть забираем на нужную позицию и исполняем AllObjects = AllObjects - [_object]; , если свободного объекта нет, создаём его.

И так по кругу. Уловили Господа?


Djon, у SteelRat попроси его пока что недоделанную Embient life :)

Я остановился на совсем не рабочей версии).

До оптимизировался), решил покурить, и что то закурился)


Сообщение отредактировал SteelRat: 20 February 2015 - 22:58

  • 0

#33 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 22:57

SteelRat, Я кстати вспомнил ту ситуацию когда у меня появлялись фризы в дейзе на подобие твоих. У меня система охлаждения хромала а потом и вовсе видюху припалил. На том буке до сих пор проблема такая есть. Ну может и не все так печально, но фризы у меня были с разрывом в пару секунд кажется. 


  • 0

#34 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 20 February 2015 - 23:06

SteelRat, Ну смысл интересен, то есть в таком случае избегаем массового спавна, если спавним то плавно и по необходимости так чтоб это не загружало мозги нашей Армушки. А отработанные делаем менее нагружаемыми и убираем с глаз долой))) Еще вопросец, объекты с отключенной лабудой для чего убирать? Они ведь могут с таким же успехом просто переставляться из здание в здание? Или я чего то не понимаю? Они ведь отключенные что там что тут одинаково будут воздействовать на процесс игры? 


  • 0

#35 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 February 2015 - 23:16

SteelRat, Ну смысл интересен, то есть в таком случае избегаем массового спавна, если спавним то плавно и по необходимости так чтоб это не загружало мозги нашей Армушки. А отработанные делаем менее нагружаемыми и убираем с глаз долой))) Еще вопросец, объекты с отключенной лабудой для чего убирать? Они ведь могут с таким же успехом просто переставляться из здание в здание? Или я чего то не понимаю? Они ведь отключенные что там что тут одинаково будут воздействовать на процесс игры? 

А если клиент решит пойти на 180 градусов? Придётся вводить ещё проверку на наличие объекта на позиции. Дешевле сменить объекту позицию, это же ещё и решит проблему нагрузки графической части, объект очень далеко и в расчётах не участвует. Что не маловажно в арме, некое не малое кол-во объектов требует наличия майнфрейма под вашим столом).

И опять же я как всегда мыслю мультиплеером), а при таком раскладе лучше точно убирать, что бы коллега случаем не упёрся в пустоту).


  • 0

#36 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 February 2015 - 23:27

Хм) пожалуй по случаю перенесу спавн объектов в A3SPL именно на такие рельсы.

 

А вообще эту тему лучше поднимать на Безголовом клиенте, раз уж БИСы сделали такой подарок, поднять его не имея второй копии армы, и вполне можно его заюзать для сингла, захостить себе сервер из игры и подключить клиента, точнее он сам подключится, и хай себе вычисляет.

Только проблемы графики к большому кол-ву объектов это не решит, к сожалению!


  • 0

#37 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 21 February 2015 - 07:59

SteelRat, На счет лишних проверок при не перемещении объектов на 0 я понял)) А вот по безголовому клиенту есть недопонимание. Такой клиент физически выглядит как отдельный комп так ведь? 


  • 0

#38 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 21 February 2015 - 17:45

SteelRat, На счет лишних проверок при не перемещении объектов на 0 я понял)) А вот по безголовому клиенту есть недопонимание. Такой клиент физически выглядит как отдельный комп так ведь? 

Совсем не обязательно, можно запустить и на одном и том же, и даже несколько экземпляров, тут всё зависит о производительности процессора.

Клиент запустится как ещё один экземпляр армы, только как консоль, выглядит так же как выделенный сервер. Грубо выражаясь, этот клиент добавит арме ещё один поток исполнения команд, который будет исполняться в отдельном от армы процессе. Что в какой то степени будет имитировать нормальную работу приложения с многоядерными процессорами.


Сообщение отредактировал SteelRat: 21 February 2015 - 17:46

  • 0

#39 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 21 February 2015 - 17:54

SteelRat, i5-3230М 2.60 GHz четыре штуки. Возможно смысл есть с таким процом, Арма вроде как загружает в большей степени одно ядро? При безголовом клиенте получается процесс распределится на разные ядра и тем самым повысит производительность. В целом все понятно) Спасибо огромное!!! 


  • 0

#40 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 21 February 2015 - 17:58

 

На счет лишних проверок при не перемещении объектов на 0 я понял))

Я имел ввиду не наши проверки, хотя эти уже не нужные будут в некоторых случаях так же попадать в расчёты. Я имел ввиду графическую часть, И если у вас дальность прорисовки настроена на 10000), то, настоятельно, лучше убрать эти объекты по дальше. 


SteelRat, i5-3230М 2.60 GHz четыре штуки. Возможно смысл есть с таким процом, Арма вроде как загружает в большей степени одно ядро? При безголовом клиенте получается процесс распределится на разные ядра и тем самым повысит производительность. В целом все понятно) Спасибо огромное!!! 

Он будет исполняться по тому же принципу что и нормальная арма), просто будет их две).

 

ЗЫ

Что бы не было не понимания).

Безголовый клиент это не что то автоматическое, для сервера он выглядит как вполне себе игрок, то бишь player.

И после подключения к серверу он должен инициализироваться постановкой персональных для него задач.


Сообщение отредактировал SteelRat: 21 February 2015 - 18:01

  • 0




Яндекс.Метрика