• Локализация игр в Unreal Engine 4
    +1
    Полноценно — это когда вы игру с локализацией запаблишите, пройдя все промежуточные этапы, включая сам перевод, правки, QA этого дела и тп ;)
  • Локализация игр в Unreal Engine 4
    +2
    > Локализация в UE4 реализована шикарно

    Увы, нет. Количество багов, костылей и «особенностей» с этим связанных — зашкаливает. В последней версии стало лучше (наконец-то перестали теряться ключи), но путь к этому был полон боли.
  • Figma — простое решение для дизайнера, сложное решение для верстальщика
    +1
    О, самое страшное, что я видел в Фигме — дизайн интерфейса для компьютерной игры и внутриигрового магазина. Я не знаю каким молотком надо втолковывать, что большинство свистоперделок «для веба» не катят и не поддерживаются почти нигде кроме веба :)
  • Как мы сделали движок и игру на нем за полтора года
    +1
    Справедливости ради, мобильные платформы — это не только Android/iOS. И до них делали кучу разного, java2me наше всё.
  • Как мы сделали движок и игру на нем за полтора года
    0
    Battle Prime DOES NOT support: iPhone 5S, 6, 6 Plus

    Всё, что мы хотели знать об оптимизации, но боялись спросить
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    0
    Я не совсем понимаю какое отношение это имеет к моему посту выше. Пример вопроса по ссылке это не про алгоритмы, это вообще базовая логика.
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    0
    Ну это совсем основы, без них какая практика? :)
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +3
    Питон позволяет показать практику и решения прикладных задач, а не работу с кодом в вакууме
  • Выпускники американских университетов превосходят выпускников России, Китая и Индии
    +4
    Программирование в подавляющем числе случаев — это нифига не алгоритмы, а решение прикладных задач. Поэтому наше образование «по матчасти» даёт хорошие результаты в исключительных случаях (олимпиадники и так далее), но в среднем — так себе.

    И уж особенно если говорить про школу — этот Паскаль и иже с ними настолько далеки от реальности, что обьяснить ребёнку зачем оно надо (соответсвенно и мотивировать) — это уже даже задача вторая. Первая — не отбить желание на старте, используя допотопный и не нужный стек технологий, который без шаманизма даже и не запустишь.
  • Как мы спасали код-ревью
    0
    Плагин звучит очень здорово, нет ли планов сделать его общедоступным? :) (т.к. проблема близка, идея примерно такая же, только приходится делать это всё ручками)
  • Джентльменский набор программиста UE4, ч. 1
    0
    пысы. Есть доступный ресурс с хоть сколько детальными пайплайнами/процессами по разработке или напрямую разработке в UE?


    На самом деле многое описано в официальной документации. Если же речь про артовый пайплайн, то он по большому счёту от движка не зависит, и можно читать любые материалы.
  • FadeObjects — Скрываем объекты между камерой и персонажем
    0
    1. GetAllActorsOfClass стоит воспринимать как табу для всего, что имеет хоть какой-то период, отличный от «пару раз за игру».
    2. Прежде чем кидать дорогие большие капсульные трейсы, было бы неплохо определить, а персонаж вообще есть на экране в теории?
    3. Кидание капсулы мало того, что дорогое, но и будет давать артефакты по скрытию предметов близко к камере, что в случае, например, FPS, будет печальным. Может стоило обойтись трейсами в некие реперные точки?

    P.S. — если вы пишете под анриал, использовать не-ue4 кодестайл — призрак дурного тона.
  • FadeObjects — Скрываем объекты между камерой и персонажем
    0
    Я бы назвал ваше решение несколько, гм, не оптимальным. Или даже примером «как делать не надо». Даже простой трейс из камеры вперёд был бы на порядок (или два) легче, давая в общем-то тот же самый результат. Зачем вы перебираете объекты в принципе? :(
  • PsRealVehicle, или Open Source-плагин физики танков в Armored Warfare: Assault
    0
    Очень рад, спасибо! ;)
  • PsRealVehicle, или Open Source-плагин физики танков в Armored Warfare: Assault
    0
    Другая физическая модель, другая архитектура. Мы не ставили задачи создать «компонент широкого пользования для физических моделек», у нас вполне себе выверенное решение конкретных целей, с кучей шишек, набитых продом :)
  • PsRealVehicle, или Open Source-плагин физики танков в Armored Warfare: Assault
    0
    1. На самом деле мы работаем полностью в рамках PhysX: плагин высчитывает какую силу и куда приложить к телу танка, в зависимости от текущего его состояния. Как раз именно просчётом перемещения занимается уже сам PhysX.

    2. Анимационное дерево как таковое должно быть (именно оно управляет анимацией), но в теории можно свести к пустому дереву, создав кастомный класс-наследник AnimInstance и прописав всю логику в коде. Но мы такого не делали, вероятно могут возникнуть сложности :)
  • Сетевая оптимизация для Unreal Engine 4
    0
    Речь идёт о кодировании объектов в RPC. Можно представить это как матрицу 32х32, первый инт — будет задавать к каким строкам применить состояние второго инта. Т.е. это некий аналог «индекс + состояние».
  • Сетевая оптимизация для Unreal Engine 4
    0
    Посмотрите www.cprogramming.com/tutorial/bitwise_operators.html, здесь всё очень подробно расписано. Особенно посмотрите пример про машины, в частности:

    int is_in_use(int car_num)
    {
        return in_use & 1<<car_num;
    }
  • Сетевая оптимизация для Unreal Engine 4
    0
    Нет, если у вас такое поведение unreliable функции, то это первый показатель что сеть у вас «забита». UFUNCTION(Client, Unreliable, NetMulticast) отлично доходят даже с большим числом параметров при нормальной загрузке сети (у нас немало вещей ходят на клиенты таким способом :) ).
  • Сетевая оптимизация для Unreal Engine 4
    0
    Кодируется индекс + маска на 32 объекта, т.е. данный метод предполагает не репликацию массива, а отправку RPC. В случае если мир упорядочен разумно блоками в мире (например, персонаж въезжает в кучу объектов, которые лежат в одной маске или «рядом»), потребление сети и CPU минимально.
  • Сетевая оптимизация для Unreal Engine 4
    0
    Пока ничего кроме голых утверждений ничего не вижу. Ссылочка на проект выше, продемонстрируйте навыки что ли? Мапхак — банальная задача, а что-нибудь более интересное дак вообще смотрелось бы весомым аргументом.

    P.S. Про PUBG это даже не смешно. Первые версии и спидхаку были подвержены, ну и? Если вы его копали, вы прекрасно знаете какие вещи там архитектурно были косячны со старта, что для беты весьма ожидаемо.
  • Сетевая оптимизация для Unreal Engine 4
    0
    Как уже было сказано An70ni выше, это обычные битовые операции :) В гугле находятся кучей туториалов по запросу «c++ bit operations», например, вот: www.cprogramming.com/tutorial/bitwise_operators.html
  • Сетевая оптимизация для Unreal Engine 4
    +2
    Очень толсто :) Хочется увидеть ваш увлекательный рассказ на тему сетевого стека на анриале. Порадуйте меня и общественность срывом покровов.
  • Сетевая оптимизация для Unreal Engine 4
    0
    Это актуально для любого массового движка, только не имеет никакого отношения к сетевому стеку.

    Есть принципиально два разных направления хаков:
    1. Хак клиента, который вы описали. Мапхаки, воллхаки, эймхаки и иже с ними. Борьба с этим — постоянное противоборство щита и меча. Чем популярнее технология клиента или сама игра — тем больше высококлассных спецов его «разбирают». Читаки пишутся далеко не «мамкиными хакерами» (это потом уже тулзы общего назначения они стараются приладить, но серьёзные читаки это весьма бизнес). Защита — определять по косвенным признакам и банить. Сложно, дорого, не надежно.
    2. Хаки косяков сетевой архитектуры. Например, когда клиент решает откуда и куда он выстрелил, а сервер ему верит. Очевидно, это кривые ручки разработчика игры, давшего клиенту авторитарные права на такие вещи. Защита — бить по ушам разработчика. Архитектура, которая не верит клиенту ни в чем, кроме инпута, полностью устойчива к такому виду хаков.

    Если ваша игра популярна, с хаками из первого пункта все равно бороться самим ;)
  • Сетевая оптимизация для Unreal Engine 4
    0
    C++, все сетевые вещи строго переношу в код. На уровне прототипа БП нормально использовать для сети, но для продакшна такие вещи в них оставлять опасно.

    Кстати, ещё одна ловушка в БП и плюсах:

    Спасибо за дополнения! :) Еще из веселого — переопределенная в дочернем классе мультикаст функция в блюпринтах будет вызываться дважды, если дёрнуть Parent функцию. Описано здесь, если кому интересно.
  • Туториал по Unreal Engine: C++
    0
    Pawn на самом деле APawn, тк прямой потомок Actor’а
  • Туториал по Unreal Engine: C++
    0
    Я ни в коем случае не хочу принизить вашу статью, и это здорово, что вы и на арч линуксе запустили движок и работаете с ним, но все-таки тех, кто спрашивает про «завести под вайном», я бы отправлял «на убунту», где весь этот шаманизм не нужен.

    Сам я использую инструменты исходя из соображений их удобства для работы с конкретной технологией, оставляя личные предпочтения для «домашних нужд».
  • Туториал по Unreal Engine: C++
    0
    И вы знаете, это прекрасно работает. Быстро, понятно и удобно. При правильной архитектуре проекта ещё и собирается шустро. Не так там много правил, которым надо следовать. И никто не мешает вам использовать сипипи на полную :)

    А CE хоть и более «путь сипипи самурая», но архитектурно печален. Это не двигло для игр, а скорее сипипи песочница :(
  • Туториал по Unreal Engine: C++
    0
    Да там странная статья про извращения в целом. На Ubuntu давно все работает из коробки :)
  • Туториал по Unreal Engine: C++
    +2
    Потому что это не скриптинг, это — программирование. Для «скриптов» есть прекрасные Blueprints, где в ногу себе выстрелить даже при желании сложновато ;)
  • UE4 и мобильная разработка: мифы и реальность
    0
    Спасибо, я вашу позицию понял ;)
  • UE4 и мобильная разработка: мифы и реальность
    0
    К половине прекрасных андроидовских устройств скоро будет применён лейбак «не поддерживается Гугл плеем», о чем вы? Если вы ставите работу над играми в Гугл плее равенство «работа под лоу энд», то это уже не так. Посмотрите хотя бы игры из начала статьи, прекрасные примеры как можно делать продукт, мега успешный на рынке, не оглядываясь на девайсы такого типа.
  • UE4 и мобильная разработка: мифы и реальность
    0
    Да нельзя охватить весь рынок, никак. Вы всегда чём-то жертвуете, особенно на андроиде. И тут встаёт выбор — либо вы работаете под лоу энд девайсы, со всеми вытекающими, либо ставите адекватные рамки — для игровых устройств. Разные ниши, разные пользователи, разные деньги. Sdk 21 версии относительно скоро будет уже минимальным для стора, впереди 64 бит и прочие радости.

    Для китайских собратьев есть даунскейл. Хуже, когда сам чип GPU беден как ни крути :(
  • UE4 и мобильная разработка: мифы и реальность
    0
    Что и означает 2/3 отличнейших девайсов на GLES 3.x :)
  • UE4 и мобильная разработка: мифы и реальность
    0
    забивая на момент, что это была реклама мобильной армы…

    Как публикация доклада, прочитанного ровно год назад?.. :)

    Железо для билдов «из коробки» — для анриала требуется в 2 раза сильней.…
    … Возможно, Ваша кастомная версия для разработчика армы отлично оптимизирована, но многим компаниям дешевле просто юнити из коробки взять.

    Ну… нет. В разработке используем обычную версию из лончера. Никаких сверхтребований к железу редактор не предъявляет ни разу. Даже маки без выделенных GPU используются на ура. CPU наше всё, но это очевидно когда работаешь с C++, а не скриптовыми языками.

    А вот место на жестком диске да, анрил к нему всегда был требовательным. Но SSD в 240 Гб, доступный каждому уже несколько лет как, более чем достаточен для связки ОС + движок + проект.

    Цена ассетов различается на порядок, количество — уже на 2 порядка. И все не в пользу анриала. Как минимум прототипирование из-за этого проще на юнити.

    Наши художники только что узнали много нового… :) Цена ассетов и количество никак не зависят от движка при правильной организации пайплайна разработки. Это вообще нонсенс. PBR он и в Африке PBR, всё остальное — вторично.

    Лишний мегабайт = лишняя секунда загрузки apk = % отвала пользователей.

    Глобально есть разница только «доступно по LTE» и «недоступно».

    Нет сравнения портирования на платформы, а на юнити платформ больше, проще портирование и куча партнеров (CloudMoolah, FacebookGoogle, Intel, Microsoft, Oculus, OTOY, Samsung, Vuforia, Xiaomi)

    Да и доклад вообще не про Unity vs UE4… Оо
    У анриала тут свои вкусности, у юнити — свои. О «простоте портирования» можно ой многое рассказать) Поддержка платформенных вещей встроенная у анриала слабовата, но уже кучей весьма классных плагинов расширена.

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

    Юнити для мобилок старше анриала на несколько лет. Всё успеется, подождите. Это ж самый первый пункт в статье выше :)
    Про % вопрос с Эпиками решаем был всегда.

    Анриал — хороший и самый мощный инструмент, но далеко не самый выгодный для мобильной разработки в данный момент.

    Ключевой вопрос — смотря для чего.
  • UE4 и мобильная разработка: мифы и реальность
    –1
    один из которых вы так сильно пытаетесь унизить

    Еще раз повторюсь — выбирайте инструмент в зависимости от проекта. Сравнение в одной из плоскостей с Unity это лишь небольшой, и совершенно не главный кусочек доклада ;)

    Ну вот вы ярко расписываете, что игра прекрасно работает на iPhone 5s, да ещё и намекаете, что завтра он войдет в историю, и уже iPhone 6\6s будет минимальным целевым устройством. Android вы решили благополучно опустить, правда не понятно почему.

    Я даже не намекаю, я это весьма уверенно утверждаю :) На текущий момент, разрабатывая игру для iOS, девайс iPhone 6 можно смело считать минимальным. И да, эппл как был, так и остаётся самой денежной мобильной платформой, в то время как Android — обладает большей пользовательской массой. Если вы целитесь в лоу-энд девайсы андроида — это тоже свой рынок, но лишь его часть -есть и другая, весьма многочисленная, часть андроид устройств с прекрасной производительностью.

    Вы оперируете тем, что если речь идет о гигабайтных ассетах, то это не важно.

    Мой основной поинт — в хорошую игру будут играть не смотря на размер, а для стран, где проблемы со сторами аля китай, легко выпускается версия, где докачка контента происходит уже в самой игре. А плохую игру или треш — сейчас уже просто так «из-за размера» качать никто не будет. Да, «меньший размер» — это плюс, но далеко не в первых рядах. И речь ведь не только о «гигабайтных ассетах» — игра 300-400 метров это уже не 150, но и далеко не гигабайты.

    Unity точно так же выдает картинку, которая будет на девайсе, вплоть до того, что можно эмулировать Open GL ES 3.0/2.0 + бегать между Shader Hardware Tier 1/2/3.

    Супер, я очень рад если ребята из Юнити наконец сделали это на должном уровне, но вообще поинт был совсем не об этом. На ранних версиях UE4 с длиной итерации под мобилки были сильные проблемы. Потом — они ушли. Вжух, счастье, радость :)

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

    А на самом деле — нет, это весьма «составит труда», и вообще одна из главных печалей тех, кто делает серьезные проекты на юнити. Прям такая, что немало слёз разработчиков об этом пролито.
  • UE4 и мобильная разработка: мифы и реальность
    –1
    Признать, я честно удивлен что «раньше считалось именно так» :) Хорошо, если такое мнение уже стало преобладающим.
  • UE4 и мобильная разработка: мифы и реальность
    0
    Все имеет значение. 45 Мб это 9 несжатых фонов в FullHD. Мб можно этот параметр как-нибудь улучшить?

    Можно, но в ущерб тем или иным вещам. Лично я не вижу в этом никакого смысла совершенно — лучше потратить время и силы на совсем другие вещи :) «Маленькие игры» — это отдельный бизнес.

    Так что больше потребляет на среднем билде в средней игровой ситуации?

    К сожалению понятия «средний» для такой ситуации нет — все слишком зависит от конкретной игры.
  • UE4 и мобильная разработка: мифы и реальность
    0
    Я сам весьма настороженно отношусь к холиварам, но приветствую «pros vs cons» сравнение технологий, в первую очередь со стороны бизнеса. Выбор технологии отдельным разработчиком, и выбор компанией/студией — несколько разные вещи.
  • Борьба с читерами в онлайн-играх: 22 «нужно» и «нельзя»
    +6

    Неплохая статья в целом, но есть некоторая мешанина советов борьбы с читерами, косяков архитектур и очень частных случаев, возникших из-за этих самых косяков.


    НЕЛЬЗЯ придерживаться deterministic-lockstep архитектур (в которых синхронизация происходит только отправкой данных ввода).

    Если игра — это RTS (или просто имеет положим >100 одновременно релевантных юнитов), то нельзя НЕ придерживаться такой архитектуры. А вот использование локстепа в иных случаях — это да, вызывает вопросы.