Привет. Буду благодарен за помощь с этой моделью Гренадёра (из проекта Northrend RPG). Нужно провести оптимизацию по весу без ухудшения качества. Например, провести оптимизацию mdx модели.
Сейчас суммарный вес 677 кб. За оптимизацию могу доплатить по курсу -1 кб = 1 руб.
Также можно объединить несколько файлов текстур в меньшее количество. Например, разместить изображения текстур (с сохранением альфа-каналов и без ухудшения качества картинок) из файлов skin3,skin4,skinMissile в файл skin 2, в котором много свободного пространства (чёрная область).
Минусы есть всегда и везде)) Я бы мог кучу оправданий привести, но не буду)) В конце концов, таким макаром можно придраться к легендарному фильму " Властелин Колец")) А так есть те, кому минусы не помешали насладитсья моим проектом, насмотря на мою неопытность).
Как тут можно привести много оправданий? Это не субъективный минус, всё это легко подтверждается скриншотами. Орфография это конечно второстепенная вещь, но в текстовых жанрах (тут нет озвучки) лучше бы её привести в порядок. Можно только придумать что не было времени на вычитку текстов, но проект был выпущен достаточно давно, можно было бы уже и исправить.
Вопрос! А можно мне вместо футболки, денежку?) А то в кой то веки победил в конкурсе, а деньжат не подкидывают)))
Поздравляю с победой. Тоже поиграл две миссии в кампании, сюжет цепляет, хочется продолжать. Из минусов отмечу орфографию, не расставленные запятые, лишние пробелы, и произвольные многоточия, то из двух то из трёх точек. Цепляет глаз и отвлекает.
Но чем бесплатная реклама проекта как лауреата не награда сама по себе? Дополнительное внимание тоже стоит денег и монетизируется.
Минусы есть всегда и везде)) Я бы мог кучу оправданий привести, но не буду)) В конце концов, таким макаром можно придраться к легендарному фильму " Властелин Колец")) А так есть те, кому минусы не помешали насладитсья моим проектом, насмотря на мою неопытность).
Ну исправить же не сложно. Сделать вычитку текстов и выпустить новую версию.
Вопрос! А можно мне вместо футболки, денежку?) А то в кой то веки победил в конкурсе, а деньжат не подкидывают)))
Поздравляю с победой. Тоже поиграл две миссии в кампании, сюжет цепляет, хочется продолжать. Из минусов отмечу орфографию, не расставленные запятые, лишние пробелы, и произвольные многоточия, то из двух то из трёх точек. Цепляет глаз и отвлекает.
Но чем бесплатная реклама проекта как лауреата не награда сама по себе? Дополнительное внимание тоже стоит денег и монетизируется.
makkad, по поводу вылетов у меня есть подозрение одно, что если слабые компы без ссд и карта грузиться более минуты и игроки начинают кликать мышью на экране загрузки, то это 1000% приводит к фаталу. Достаточно одного такого нервного игрока чтобы словить этот баг. Я его так же умудряюсь получать в любых других сетевых играх рефорджа.
В любом случае карта сделана под оба режима графики можно смело играть на SD, но вроде как у меня сейачс лок HD режима, надо наверное его убрать.
Да английский язык поддреживается и поддерживаются разные языковые клиенты в одной сессии без фаталов, это было проверено 1000 раз. Самый последний патч я не тестил может что-то сдвинули и мне надо что-то ещё подкрутить чтобы не вылетало, но у меня уже нет рефорджа и я не смогу это проверить.
В принципе в карту не обязательно играть-то, видео от Павла и от хВизарда, раскрывают игру на 95%, то бишь сами уже ничего нового не найдёте тут. Лучше в Блудомена поиграть =) там тоже достаточно пеонов
Словил баг 2 раза из трёх игр с разными людьми. Я точно не тыкал. Загрузка вроде быстро проходила в целом, и у меня одного в частности почти мгновенно.
Вылетела сразу после загрузки или даже чуть ранее. Версия Warcraft 1.32.9 HD графика. Сетевая игра с двумя игроками. Одиночная игра запускается, но при выходе в меню тоже вылетает из клиента с ошибкой. Кстати, английский язык поддерживается? (судя по всему должен, но может проблема что игроки были с разными языковыми настройками)
Феникс:
ну да к... нет смысла в голосовании в номинации, если всего одна работа номинирована
В таком случае сделать безальтернативные выборы. Голосовать между вариантами "Согласен присудить премию" и "Против присуждения премии" Если голосов против будет больше, то не давать премию в номинации никому.
Так это для фаталов, а не десинков. Десинк происходит не сразу на той же инструкции
Проверить легко - убери именно этот код из карты и она продолжит десинкаться
Достаточно мгновенно и стабильно, на этой инструкции плюс минус две функции. Плюс есть триггер, который включается при выходе игрока, и на второй машине, которая остаётся в игре, он включается сразу после этой функции.
Спасибо всем за ответы. Да, буду в том чмсле проверять и без этого кода. Ошибка редко ловится с нуля и невоспроизводима. Пока стабильно есть только те сохранения в той конкретной игре и версии, где происходит этот десинк.
Мне кажется, причину найти будет невозможно. Но у меня хорошее предчувствие уже по имеющимся советам оптимизации. Скорее больше хотелось узнать про альтернативы.
То что это может быть глюком записи реплея говорит следующее 1) В реплеях действительно похоже сохраняются все позиции CameraQuickPosition 2) Разный размер файлов сохранений у игроков 3) Отключение записи реплеев зрительно немного повысило производительность в мультиплеере
makkad, что за jassspy? И если можешь, то чего не кинул?
Пока нет доступа к компьютеру к файлу.
Для проверки кода подойдёт программа UnrealJassSpy www.hiveworkshop.com/threads/unreal-jass-spy-1-26a.244384
Кидаешь её файлы в папку с игрой, запускаещь игру, ждешь внедрения (жмешь ок), запускаешь карту. Потом в логах JassSpy.txt смотришь на каком месте у тебя прервалась игра.
Проблема похоже всё-же в том, что накопился какой-то рассинхрон из-за разности времени исполнения функций. Не знаю, как это возможно. Но думаю, если отключить запись реплеев и сделать функцию симметричной для всех игроков (т.е. сделать одинаковый порядок выполнения функций для разных машин), будет легче. Спасибо за наводки.
Просто сейчас порядок такой.
Игрок 1:
GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> SetCameraQuickPosition(x,y) ... -> GetUnitX() -> GetUnitY() -> GetLocalPlayer()
Игрок 2:
GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> SetCameraQuickPosition(x,y) ...
Vlod, Да. Спасибо за тест. У меня у самого на чистой карте только с этим кодом не воспроизводится, так бы прикрепил карту. Даже на грязной карте не каждый раз и не на всех системах. Но имеются сохранения, где происходит гарантированный вылет через секунд 30. Там играли уже 14 часов, но первый рассинхрон из за этой ошибки был через 2 часа. JassSpy указывает на это место.
Ещё странно, что размер файлов сохранений у игроков значительно отличаются.
Вообщем, спасибо за хорошие советы отключить запись реплеев и минимизировать число вызовов GetLocalPlayer().
Спасибо за наводку, поищу решение здесь. Такое встречалось где-нибудь? Если прописать DoNotSaveReplay() в карту то её стабильность может повыситься?
Но в итоге, мне кажется, причину тут не найти. Вероятно нужно искать альтернативное решение.
Возможно, как нибудь можно максимально сихронизировать выполняемые функции у игроков в рамках этой задачи? Т.е. чтобы порядок выполнения функций был одинаков у всех игроков. И раз он вылетал на выполнении функции GetLocalPlayer(), то уменьшить число вызовов этой функции. Значение локалок же может быть разным у разных игроков? Например, так:
function Trig_CameraSystem_Actions takes nothing returns nothing
local real x
local real y
local integer i=GetPlayerId(GetLocalPlayer())
if udg_Hero[i]!=null then
set x=GetUnitX(udg_Hero[i])
set y=GetUnitY(udg_Hero[i])
call SetCameraQuickPosition(x,y)
call SetCameraQuickPosition(x,y)
call SetCameraQuickPosition(x,y)
call SetCameraQuickPosition(x,y)
call SetCameraQuickPosition(x,y)
call SetCameraQuickPosition(x,y)
endif
endfunction
» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9
» WarCraft 3 / Описание героя/боевой единицы больше стандтартного
» WarCraft 3 / Как использовать Preload для устранения лага при нажатии F9
Ред. makkad
» Northrend RPG / Northrend RPG. Перевод карты на английский язык. Краудфандинг
» Northrend RPG / Northrend RPG. Перевод карты на английский язык. Краудфандинг
» Northrend RPG / Northrend RPG. Перевод карты на английский язык. Краудфандинг
» WarCraft 3 / Нужна модель? - Вам сюда!
-
Grenadier.zip
Полный список» XGM Team / Опрос по возможностям сайта
» XGM Team / Опрос по возможностям сайта
» XGM Team / XGM — Премия 2020 года
» XGM Team / XGM — Премия 2020 года
Ред. makkad
» XGM Team / XGM — Премия 2020 года
Ред. makkad
» WarCraft 3 / Убей моего пеона
Ред. makkad
» WarCraft 3 / Убей моего пеона
» XGM Team / XGM — Премия 2020 года
» Northrend RPG / Northrend RPG r. SD - Скачать файл + Отзывы и рецензии
Ред. makkad
» XGM Team / XGM — Премия 2020 года
» XGM Team / XGM — Премия 2020 года
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
Спасибо за инфу. Но нет, в данном случае юнитам во время игры порчу не давал.
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
Ред. makkad
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
Игрок 1:
GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> SetCameraQuickPosition(x,y) ... -> GetUnitX() -> GetUnitY() -> GetLocalPlayer()
Игрок 2:
GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> GetUnitX() -> GetUnitY() -> GetLocalPlayer() -> SetCameraQuickPosition(x,y) ...
GetLocalPlayer() -> GetUnitX() -> GetUnitY() -> SetCameraQuickPosition(x,y) ...
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
Ред. makkad
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()