суббота, 12 декабря 2020 г.

Daz3D to Unreal 4 Bridge и ALS

 Недавно попробовал новый бридж между Daz3d и Unreal и, по наивности, подумал, что по идее он должен как-то сильно упрощать работу с ALS. Увы нет, это по-прежнему больно и фигурку тяжело ригануть. Зато Daz3d-to-Blender  работает хорошо. Думаю попробовать выкрутиться через перетаскивание скелетов между UE4 и Blender, может так получится быстрее.

UPD: Увы, есть различия, из-за которых, без коррекции, расчёт весов идёт неверно. Как вариант - скрипт Rigify решает эту задачу, но именование костей там другое. Есть Uefy который решает и эту задачу. Стоит он $36 (бесплатная версия по сути не поддерживается, и с Blender 2.83 не работает, хотя есть ролик ещё с более ранней версией). Свежая версия мне пока  дороговата, так что бросаю это бесплодное занятие.

UPD2: nvm, вот здесь более адекватный мануал - и он тоже 40 минут. Увы, это долго, так что всё довольно грустно. В принципе, он частично работает, но всё это очень медленно. Golden bullet are yet to come.

среда, 9 декабря 2020 г.

Про Unity и ачивки на Android

Решил от скуки поковырять ачивки на андроиде под Unity, и, честно говоря, разочарован. 

Исходный вариант выглядит как-то очень тяжело, и больно, и выполнен в лучших традициях российской бюрократии (даром, что это не российская бюрократия): приложение в Google Play создай, keystore подпиши, проект в google console создай, OAuth сделай и чуть что - всё не работает. 

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

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

вторник, 24 ноября 2020 г.

Об одной AFK RPG

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

С этой целью скачал AFK RPG за именем Goddess Legion: Silver Lining. И, неожиданно, сильно затянуло. Игра, на удивление, хороша. Надо отдать авторам должное:

1) Донат сильно ненавязчив и не бесит. Лично я до этого пару раз играл в одну казуалку в VK, и там донат был прямо на каждом шагу.  Цены довольно демократичные, некоторая мелочёвка стоит всего-то 1 доллар.

2) В принципе, можно играть без доната. Да, сервер не понагибаешь, но самое главное - хоть маленький прогресс, но тебе оставляют. Первую неделю растёшь вообще как на дрожжах (в оной казуалке, уже спустя три дня стало прямо больно).

3) Дизайн сделан довольно хорошо. Картинки персонажей раскрашены, анимированы, прямо красота. Не все впрочем: видно, что по пайплайну 3D идёт перед 2D, потому что персонажи в 3D мало чем отличаются, а в 2D - абсолютно разные лица. Вообще 2D-графика здесь  - моё почтение.

4) Авторы понимают свою аудиторию :))) Просто пройдите по ссылке, это я оставлю без комментариев.

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

Попробовал собрать всё интересное в ней с точки геймдизайна из неё в mindmap, вот первый вариант:


Скачать для XMind

Пока на этом бросаю это дело, попробую посмотреть что-нибудь ещё.

среда, 4 ноября 2020 г.

Про ввод в Unity

Разбираюсь со вводом в одной демке Unity 2019.4 LTS. И там с целью расширения всё сделано через условные виртуальные оси. Ладно, ок, наконец у нас большой спектр устройств для ввода, действительно стоит как-то абстрагироваться. Но в UI тут дичь мимо которой мне трудно пройти. Вот выдержка из документации:

Как это выглядит в редакторе в пресловутой демке:
Итого: две оси с одинаковым названием, одна из которых отвечает за геймпад, а другая за клавиатуру.  Это какая-то жесть: смотреть неудобно и разбираться тяжело. 

Но главное на первом скрине. Как добавить новую ось? Ну ты номер поменяй, это же так логично. И неотменяемые действия - это вообще замечательно. Ошибся? Перенабирай заново! И это не какой-то nightly build, не бета, это LTS версия Речь идёт, к тому же, о де-факто стандарте в индустрии. Так и живём.

 


вторник, 3 ноября 2020 г.

Про Iron Harvest

Поиграл недавно в этот самый Iron Harvest и, честно говоря, осознал почему она не ощущается как второе пришествие RTS.

Написал бы больше, но вот по ссылке довольно внятно написано почему и вы можете даже не читать этот текст, я лишь добавлю к нему несколько пунктов.

От себя добавлю, что из ревью сто́ит убрать стандартный политический абзац, так как Зубов вообще какая-то странная "левая фигура" в истории и, вроде как, сам по себе. Да и проблема игры в том числе в другом: у меня стойкое ощущение, что кампанию никто не проходил. Во всех ревью, кроме стимовских, описывается то, как люди играют сетевые матчи (и там действительно дизайн играет на руку: защита от сноуболлинга, простые в управлении здания, укрытия и прочее). 

При прохождении кампании, в сюжете творится Голливуд (и это даже неплохо, если не говорить о сюжетных дырах, которых там достаточно). А вот в плане геймплея творится форменный ад:

  • Абсолютно безумный лимит на количество юнитов. Я хз, даже в Warcraft III можно было настроить больше юнитов. Кроме того, здесь очень странно он рассчитан в миссиях кампании. В одной миссии после предыдущей, где лимит был 90, тебе срезают его до 80. Это сюжетно, само собой, никак это не объяснено. Видимо, часть припасов цыгане в предыдущей миссии украли (не надейтесь, их нет в игре, а жаль).
  • Всё, что может стрелять в игре, жрёт лимит на число юнитов, который, МЯГКО говоря, странно распределён. Хочешь турель? -1 к лимиту. Базовая пехота? -4 к лимиту. Меха? от -4 до -7 к лимиту. Такого не было даже в первом DoW, где был лимит на число турелей, но игроку не приходилось выбирать — ты обороняешь свою базу или хочешь двигаться дальше. При этом -4 к лимиту жрёт как базовая пехота, так и роботы, делая пехоту просто неэффективной. Чтобы пофиксить это введены костыльные "бронебойцы", но они ситуацию не спасают ни разу.
  • Боевые миссии с базой построены в игре по одному принципу: построй базу, потом отбивай миллиард штурмующего её мяса, пытаясь параллельно прорваться сквозь этот ад к вражеской базе. Это немного напоминает Supreme Commander, но есть отличия: в SupCom нет дурацкого лимита на количество юнитов. В результате, выходит чушь: ты сидишь часами в обороне, а каждый захват здания (а их надо захватывать надо), превращается в какую-то жесть. Это просто мегаскучно. Я вспоминаю миссии из MO, RA2, хотя бы того же первого DoW и думаю: ну неужели было так тяжело как-то посмотреть на них, попробовать, как минимум, перенести опыт? Но нет, надо после каждого захвата триггерить набег 100500 однообразных врагов, заставляя отступать на два шага назад. На миссии с фабрикой я просто не выдержал: мало того, что у тебя есть лимит, так у врага появляется возможность высаживать орды врагов прямо в тыл и, само собой, как раз на ней лимит падает до 80. Я искренне хочу узнать у геймдизайнера этой [ДАННЫЕ УДАЛЕНЫ], что в этот момент было в голове у человека, который это придумывал, проходило ли это хоть какой-то контроль качества. Я замечу, что это "лёгкий уровень" сложности.
  • Подсказки в миссиях? НЕ НУЖНО. В результате иногда ты тупишь и потом догадываешься до того, что надо делать. Например, в дурацкой стелс-миссии можно прийти на конечное место и потом часа два думать, что же ты сделал не так. Но нет, кликать надо не на здании, о котором говорит персонаж, а нужно увидеть полтора пикселя двери и кликнуть на них. Я знаю как минимум два способа, как сделать это лучше (кроме того, что можно же триггерить это просто по попаданию в определённый регион карты, как в том же Warcraft делали лет 15 назад). А сколько можете насчитать вы? Аналогично в другом месте база не считалась захваченной пока... Пока вы не выделите пехоту и не кликнете ей на какой-то флагшток, чтобы они подняли флаг. Упоминалось ли это в игре? Нет. Нужно ли это действие по идее? Тоже нет, и раньше игра успешно обходилась без него.
  • У некоторых шагающих роботов вес абсолютно не чувствуется. Это ещё заметно в начале игры, но я, поначалу, списал это на эффект старой плёнки, так как это было в предыстории. Но, некоторые роботы двигаются ОЧЕНЬ быстро, для неповоротливых стальных дизельных штуковин.
  • Hit detection в игре — абсолютная дичь. Я просто не смог нормально смотреть момент, когда Гуляй-Город (ОГРОМНЕЙШАЯ штуковина), не смог прострелить низенького врага за низеньким же генератором в кампании. И нет, он его не достал ни пушкой, ни пулемётом, потому что надо обойти этот несчастный генератор. То есть, гигантская штука ростом где-то под 30м, не смогла выстрелить в юнита ростом где-то в 1-2 м, потому что тот прятался за металлическим генератором, МЕНЬШЕГО размера. Пожалуйста, покажите этим людям учебник по сопротивлению материалов или геометрии.

Из-за предыдущего вставлю всё же шпильку сюжету: вообще непонятно на кой болт героям сдалась фабрика Теслы, если его юниты укладываются просто тоннами теми войсками, что у нас есть. Ну, реально — чем они тогда вообще хороши?

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

Что же есть хорошего? Пожалуй, графика довольно красива, женские персонажи приятны, ну и сюжет по меркам RTS хорош. Музыка - красивая. Эстетика да, хорошая.

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


воскресенье, 25 октября 2020 г.

ЗАРЯ RTS

 Неожиданно нашёл для себя ещё один проект за которым будут следить - ЗАРЯ RTS.

Что мне зашло:

  • Фольклорные отсылки
  • Легендарное ИДОЛИЩЕ ПОГАНОЕ как противник (искренне жду модели в группе, надеюсь, что не разочаруют)
  • Могут набигать домики (скрин взят отсюда):

Есть довольно неплохой трейлер, будем надеяться не одним им будет жить игра:


понедельник, 10 августа 2020 г.

По мотивам малоизвестной японской игры и по поводу платформеров и РПГ в целом

 Недавно поиграл в одну игру и отметил себе две вещи, которые внёс в свой чеклист при разработке:

  • Если в игре будут баффы/дебаффы, то надо делать, чтобы при наведении на них можно было прочесть, что баффается, а что нет. Иначе нет никакой возможности понять что и зачем
  • Если есть cooldown у активирующихся скиллов при низком уровне хп/маны/чего угодно, то его НАДО показывать где-то в UI, а то вообще непонятно почему он активируется или нет.
  • Активирующиеся скиллы при низком уровне хп/маны/чего угодно надо тестировать, даже если вы юзаете условный Юнити/Unreal/Godot, etc
Вроде бы очевидные вещи - но вот почему-то один автор не позаботился о них, наверное просто времени не хватило.

суббота, 11 июля 2020 г.

Про изоморфные приложения

Подумалось. что самое приятное в изоморфных приложениях -  это не то, что обычно им придают, а скорее общая архитектура между сервером и клиентом, что позволяет не дублировать некоторые абстракции и не отвечать себе на вопрос "зачем нам Х?"

четверг, 9 июля 2020 г.

От Dune до RA2

Немного подумал и заметил кое-что общее в плане построения юнитов между RA2 и Dune. Если вдуматься, то Советы в оригинальном RA2 - это Харконнены + Ордосы, ну а их оппоненты - это Атрейдесы.  В YR всё в какой-то мере распадается, на классическую триаду (правда Ордосы уже весьма бафнутые и имбовые).

 Набрёл кстати на хороший сайт, посвященный геймдизайну RTS - https://waywardstrategy.com/ . По мне - очень круто, материалы замечательные и  интересные,

вторник, 18 февраля 2020 г.

Export Genesis 8 Daz3D clothed character to Unreal Engine 4.24.2 with Advanced Locomotion (3 of 3)

В этой части будет рассмотрен риг, ретаргетинг и возня с блюпринтами

Для удобства этот мануал разделён на три части:
3.  Риг и настройка проекта  (эта)

Export Genesis 8 Daz3D clothed character to Unreal Engine 4.24.2 with Advanced Locomotion (2 of 3)

В этой части будет рассмотрен экспорт из Daz Studio  в Unreal Engine, без непосредственно ретаргетинга и ковыряния в блюпринтах

Для удобства мануал разделён на три части:
2.  Экспорт персонажа из Daz3D в FBX и его импорт в UE4  (эта)

Export Genesis 8 Daz3D clothed character to Unreal Engine 4.24.2 with Advanced Locomotion (1 of 3)

Решил недавно разобраться, как перекатывать персонажей из Daz3D в UE4, и сломав первый зуб о два ролика про это (раз, два) упёрся в некоторые различия между тем, что в ролике, и что реально надо сделать. И, так как это довольно геморройно, решил переложить это в немного более короткий мануал.

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

суббота, 15 февраля 2020 г.

И снова об RTS

Неожиданно набрёл на довольно крутой и интересный проект в жанре RTS -  Diplomacy Is Not An Option , который судя по всему, находится пока в разработке. По роликам - чертовски круто, смотрите сами:


Что вдвойне приятно - делается нашими соотечественниками, поэтому есть полноценная  группа игры VK  , плюс открытая доска в Trello,  где можно увидеть прогресс. Нашёл естественно, по докладу на DevGAMM, где описываются проблемы связанные с проектом:


На мой взгляд - обалдеть как здорово, надеюсь, что в релизе оно будет не хуже чем в роликах.

четверг, 30 января 2020 г.

Кратко о Reforged (нет)

Недавно зарелизился Reforged  и у многих как-то неслабо полыхает в силу объективных её недостатков. Нет, защищать я ничего не буду, скорее наоборот - жалко как-то в что в могилу и без того мертвого жанра RTS вбивают очередные гвозди.

В связи с этим, единственное, на что пока остаётся надежда - это разработчик MARS 2000 который какой год уже пилит свою RTS. Надеюсь, у него всё получится, хотя конечно пока это далековато от готовой игры.

Моды на старые игры вроде бы тоже пилятся, если вы как и я безумный любитель всякого старья,  MO для старого Red Alert 2: Yuri's Revenge (русская группа здесь) может вам зайти.

Наконец карты под старый Warcraft III делаются и, к моему удивлению, до сих пор выходят.

Ну а если у вас титаническое количество свободного времени и, желательно, денег , можно попытать счастья с каким-нибудь Spring RTS , благо он опенсурсный и его можно допиливать. Под Unity и Unreal также есть гора ассетов для запила своего убийцы варика. Найти бы только под это время, деньги, моделлеров, композиторов, художников, сценаристов,  труппу артистов и немножко программистов :) 

суббота, 4 января 2020 г.

Небольшие итоги года 2019

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

В первую очередь, этот год для меня знаменателен тем, что я наконец перестал возиться с PHP и Bitrix (ура-ура) и начал разбираться в геймдеве. На поверку особо крутых ощущений, я пока не испытал, но это дало мне толчок в правильном направлении Я успел познакомиться со многими интересными людьми,  и в целом, это оказалось хорошим решением. 

Кроме того, приятнее разбираться в C++ и UE4, чем в кодовой базе сами-знаете-чего. Тут ничего не поделать. Меня успела позабавить серия постов явного хейта на хабре в адрес битрикса в сентябре-октябре этого года, но, как я и ожидал, ни к чему это не привело.  Новой документации не появилось, проблемы как и были так и есть. Впрочем, где их нет?

Успел позаниматься вебом на Java, это оказалось даже лучще, чем я ожидал да и абстракции серьёзно приятнее PHP-фреймворков. Наверное это потому что в тех проектах, которыми я занимался не было страшного легаси и в целом, была сносная документация. 

Много занимался saddy, начал его переводить на свежий OpenGL (Vulkan пока не рассматривал в виду того, что процент видеокарт его поддерживающих довольно мал и у меня таковой пока не водится). Переделал в нём демку многопоточности, теперь это небольшая ActionRPG с управлением из двух окон на  основе ассетов с kenney.nl и других. А ещё можно скачать её отсюда, если кому интересно . 

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

Скорее всего, если будут какие-то результаты, буду писать их сюда, но пока особо ничего не предвидится.

Ещё судорожно пытался научить себя хоть немного рисовать - но увы, как только хоть что-то начало получаться в дверь постучалась жизнь и ничего не вышло. Ещё параллельно, в силу тонких моментов пришлось осваивать Blender по второму кругу. Мне понравилось, на самом деле, интересное занятие. Надеюсь в новом году смогу этим заниматься  этим гораздо больше, ибо  программирование порядком надоело и его стало слишком много вокруг.

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

Скорее всего этот год пройдёт так же, во внезапных задачах и заботах.

Такие дела.



пятница, 3 января 2020 г.

MSVC очень сильно изменилась за лето

Буквально вчера потребовалось попрофилировать код небольшой демки на C++ и как-то так вышло, что горячо любимый мной VerySleepy плохо работает со свежими многопоточными приложениями,  особенно собранными через MSVC2017. Т.е. часть данных он собрал и часть он потерял, при этом потерял нужную часть, которая шла после загрузки проекта. Почему это вышло - неясно, запуск из-под администратора, игры с ключами компиляции не помогли.

Однако, оказалось, что в Community версии MSVC есть  профилирование и настраивается оно просто, буквально за пару минут. Из того, что зашло - возможность выделить интересующий промежуток работы программы и  собрать данные с него. Оказалось достаточно выделить время непосредственно после загрузки ресурсов программы и оно строит удобную таблицу разбиения функций с возможностью посмотреть логику вызовов. В отличие от VerySleepy особого пенальти по производительности при этом я не заметил. Пока, пожалуй, остановлюсь на нём.