Добрый вечер всем,
Создал небольшую миссию, поставил скрипт, чтобы стирались убитые юниты и взорваный транспорт, поставил всех врагов только при появлении синих.
Решил что поможет держать FPS. Миссия не очень большая, но FPS низкий,я сравнивал другие миссии по крупнее моих но там FPS стабильней чем в моем,
Подскажите! как оптимизировать свою миссию! есть ли скрипты или еще что!
Мой комп стабильно держит в игре минимум 100 FPS при максимальных настройках,

Создал миссию но FPS низкий

Лучший Ответ TankiSD , 30 August 2014 - 17:21
task = player createsimpletask [localize "STR_Task"];
task setSimpleTaskDescription [localize "STR_Task", localize "STR_Task_1", ""];
task setTaskState "Assigned";
сюда напиши какой-нибудь префикс -типо
ggg=["TaskCreated", ["", localize "STR_Task"]] spawn BIS_fnc_showNotification;
Писал по памяти.
В скрипте можно обойтись без префикса.
Перейти к сообщению
#1
OFFLINE
Отправлено 19 August 2014 - 04:28
#2
OFFLINE
Отправлено 19 August 2014 - 07:55
Какие скрипты используешь?
#3
OFFLINE
Отправлено 19 August 2014 - 13:49
Один скрипт Fillhouse.(патруль в домах) но скрипт активируется только при появлении синих в триггере, а без активации синими скрипт не активен,
nul = ["fil1",3,true,2,15,100,[0.25,0.4,0.5,0.5,0.4,1,0.1,0.35,1,1],nil,nil,1] execVM "LV\fillHouse.sqf";
вот сам скрипт просанный в триггере
#4
OFFLINE
Отправлено 20 August 2014 - 02:05
Один скрипт Fillhouse.(патруль в домах) но скрипт активируется только при появлении синих в триггере, а без активации синими скрипт не активен,
nul = ["fil1",3,true,2,15,100,[0.25,0.4,0.5,0.5,0.4,1,0.1,0.35,1,1],nil,nil,1] execVM "LV\fillHouse.sqf";
вот сам скрипт просанный в триггере
Во первых это не сам скрипт, а его вызов.
Во вторых сколько юнитов создаёт скрипт?
#5
OFFLINE
Отправлено 23 August 2014 - 04:00
Да спасибо что поправил, скрипт спавнит штук 30-40 ботов, но только при появлени исиних в триггере понятно в этот момент когда происходит спавн игра чуть затормаживает(фпс)
#6
OFFLINE
Отправлено 23 August 2014 - 19:04
Да спасибо что поправил, скрипт спавнит штук 30-40 ботов, но только при появлени исиних в триггере понятно в этот момент когда происходит спавн игра чуть затормаживает(фпс)
Это с большой долей вероятности говорит о том, что спавн ботов происходит методом
call
а не
spawn
Понимаю, что не каждый поймёт о чём я)
В принципе киньте скрипт, гляну
#7
OFFLINE
Отправлено 25 August 2014 - 19:40
nul = ["fil1",2,true,2,15,100,[0.25,0.4,0.5,0.5,0.4,1,0.1,0.35,1,1],nil,nil,1] execVM "LV\fillHouse.sqf";
Вот сам скрипт
А можно как нибудь сделать так чтобы боты не все сразу спавнились а по штук 3-4? или что то близкое
вот тут вырезанный пример миссии
Прикрепленные файлы
Сообщение отредактировал driver.906: 25 August 2014 - 19:38
#8
OFFLINE
Отправлено 25 August 2014 - 23:38
nul = ["fil1",2,true,2,15,100,[0.25,0.4,0.5,0.5,0.4,1,0.1,0.35,1,1],nil,nil,1] execVM "LV\fillHouse.sqf";
Вот сам скриптА можно как нибудь сделать так чтобы боты не все сразу спавнились а по штук 3-4? или что то близкое
вот тут вырезанный пример миссии
Поймите мои слова правильно, они не для того что бы вас как то задеть или обидеть.
Так вот, за вырезанную миссию, вы получите такую же вырезанную помощь, по вашему мне нужно дописать половину миссии, что бы посмотреть как это вообще работает?
Или вы опасаетесь что вас ограбят)?
Сообщение отредактировал SteelRat: 25 August 2014 - 23:40
#9
OFFLINE
Отправлено 25 August 2014 - 23:52
Прошу прощения, просто вырезал этот эпизод чтобы вас не мучить там в миссиях щас выложу саму миссию.
там на карте маркеры есть серые! 1 маркере спавнятся сразу в радиусе 100м, на втором маркере я ставил 4 маркера по 50м, делал чтобы не все сразу спавнилось,
Прикрепленные файлы
#10
OFFLINE
Отправлено 26 August 2014 - 00:28
Вот что имею вам сообщить, скрипт в том виде в каком он есть спавнит ботов без какой либо задержки, при таком раскладе у вас будут просадки фпс, и зависеть будут от кол-ва зданий в определённом радиусе.
Я хочу сказать, нужно приостонавливать работу кода пока идёт спавн очередного бота, после инициализировать спав следующего, и тогда вы как игрок не ощутите работы кода.
Решим вашу проблему.
Сообщение отредактировал SteelRat: 26 August 2014 - 00:30
#11
OFFLINE
Отправлено 26 August 2014 - 01:29
Вы знаете, я бы скорее всего не стал бы использовать эту логику, но это я, я бы написал свою, на вашем месте я бы поискал что нибудь другое.
Если использовать это, то однозначно придётся убавить аппетиты). И правильно подобрать параметры, и под каждую позицию.
1 - Сразу обращу внимание, какова острая необходимость менять параметры скила? Чем не устраивает значение по умолчанию, это лишний вызов кода, которому нужен процессорный ресурс для исполнения.
2 - Ни каких 100 метровок, меньше радиус, быстрее отработает код
Вообще данная логика больше подходит, так сказать, для точечного применения, то есть, прикручивать её к конкретному строению.
#12
OFFLINE
Отправлено 26 August 2014 - 01:36
И ещё
Решил что поможет держать FPS. Миссия не очень большая, но FPS низкий,я сравнивал другие миссии по крупнее моих но там FPS стабильней чем в моем,
Пожирать ресурсы может плохо оптимизированная логика, которая управляет ботами, вне зависимости от того крупная миссия или худая)
#13
OFFLINE
Отправлено 26 August 2014 - 01:54
Steelrat спасибо что ответил мне! вот смотри вызов скрипта
nul = ["fil1",3,true,2,15,100,[0.25,0.4,0.5,0.5,0.4,1,0.1,0.35,1,1],nil,nil,1] execVM "LV\fillHouse.sqf";
Параметр можно выбрать тут там как бы конструктор, можешь посмотреть по ссылке самый оптимальный вариант,
Просто моя цель сделать AI в городе .
Про игровую логику, игровую логику мне Vlad помог перевести в триггеры
Прикрепленные файлы
#14
OFFLINE
Отправлено 26 August 2014 - 01:57
Понимаете, универсального варианта на все случаи не получится
И правильно подобрать параметры, и под каждую позицию.
#15
OFFLINE
Отправлено 26 August 2014 - 02:03
По сути, сам спавн юнитов, не самая жёсткая вещь, проблем больше доставляет то, что инициализируется на этих юнитов в процессе спавна, та логика которая ими управляет, и инициализация этой логики не редко жёстко просаживает вычислительный ресурс.
#16
OFFLINE
Отправлено 26 August 2014 - 02:08
ну хотя бы подскажи как мне этот скрипт использовать в лучшую сторону
значит происходит спавн, и нагружает то что в каждом юните прописано патрулирование домов улиц и т.е
я так понял?
Вот смотри, у меня там спавн в радиусе 100м в одном триггере
а что будет если ставить триггеров больше но с меньшим радиусом?
например зашел в город появятся штук 6-8 AI, зачищаю вхожу в город, чуть дальше активируется след. триггер который ставит еще 6-8 AI и так далее
Сообщение отредактировал driver.906: 26 August 2014 - 02:09
#17
OFFLINE
Отправлено 26 August 2014 - 02:12
значит происходит спавн, и нагружает то что в каждом юните прописано патрулирование домов улиц и т.е
я так понял?
Вы правильно поняли
например зашел в город появятся штук 6-8 AI, зачищаю вхожу в город, чуть дальше активируется след. триггер который ставит еще 6-8 AI и так далее
Именно так, спавна юнитов 10-и вы и не заметите.
Вообще, в таких делах важно, как построена сама логика спавна, я как то затеял пустить по карте группы ботов, разные стороны бились они там между собой, если встречались, а так блудили они по всей карте, если нарвёшься и повезёт, завалишь их, если не повезёт завалят тебя). Так вот я решил остановиться на 50 группах, в каждой группе рандом до 4 ботов, обязательный минимум один бот. В куче спавнилось более 100 ботов, и от спавна этой кучи со всей их логикой я не ощущал ни какого дискомфорта, всё зависит от подхода.
Сообщение отредактировал SteelRat: 26 August 2014 - 02:24
#18
OFFLINE
Отправлено 26 August 2014 - 02:14
Отлично
И еще вопросик, если я захожу в город, там спавн AI, я захватываю и задание выполнено, перехожу ко второй миссии на 1 км дальше, и у меня трупы и взорванный транспорт исчезает через 60 сек, будет ли после зачистки этот скрипт влиять на производительность миссии?
#19
OFFLINE
Отправлено 26 August 2014 - 02:22
Нашел вот что
Makes fillHouse and militarize -units spawn when player is near, and despawn when player is further.
Syntax:
nul = [[ID's],[players],distance,keep count,MP] execVM "LV\LV_functions\LV_fnc_simpleCache.sqf";
- Parameters:
- ID's = array of script ID's
- players = array of players (doesnt matter what you set here if you use MP mode)
- distance = distance between player(s) and militarize/fillHouse on where scripts will be activated
- keep count = true/false (true = script will count & save AI amounts, false = AI amount will be reseted on each time it activates again)
- MP = true/false (true = all alive non-captive playableUnits will activate scripts, false = only units in players-array)
Fully customized example:
nul = [[13,14],[playerUnit1],500,true,false] execVM "LV\LV_functions\LV_fnc_simpleCache.sqf";
Extra options:
You can find _excludeSingleHeliPilot in the script file. (true = if single player flies over area as pilot, area wont trigger (reduces lag))
Что скажешь?
#20
OFFLINE
Отправлено 26 August 2014 - 02:36
Ни чего не скажу) я ещё тот лингвист!
Отлично
И еще вопросик, если я захожу в город, там спавн AI, я захватываю и задание выполнено, перехожу ко второй миссии на 1 км дальше, и у меня трупы и взорванный транспорт исчезает через 60 сек, будет ли после зачистки этот скрипт влиять на производительность миссии?
Имеется ввиду скрипт очистки?