пятница, 29 декабря 2023 г.

Итоги? Какие итоги? 2023

Я думал всё же делать итоги 2023, но в итоге пришёл к выводу, того, что их явно рано делать. Слишком много всего выглядит как в процессе, слишком невнятно выходит. Так, что в этом году без итогов. Думаю, авось в следующем удастся вырулить на что-то более логичное..

воскресенье, 17 декабря 2023 г.

Про Hollow Coccoon

Недавно вышел этот новый хоррор и я, как человек, увидевший ссылку на демо, на стриме Гуфовского, повёлся. Оно мне зашло - богатая нарративом история, сеттинг, огромный уровень с которым можно взаимодействовать, головоломочки - ну, в принципе, это замах на новую Amnesia, теперь и в Японии.

пятница, 15 декабря 2023 г.

Впечатления от PROTOTYPE 1/23

Съездил на прошлой неделе на PROTOTYPE vol 1/23 и получил смешанные впечатления. 

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

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

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

Увы, при всех достоинствах, без недостатков не обошлось.

Несмотря на то что, часть докладов намекала на презентации, их не было. Даже те доклады, где не было пометки Pro-Talk, по сути, были круглыми столами, которые, мне, как программисту, было слушать скучно. Почему? Потому что там не было ничего конкретного - ни цифр, ни каких-то интересных решений. В докладе о работе с ядрами, про условные ядра вообще ни в каком смысле не прозвучало. Единственное - в докладе про инвестиции, мимоходом, прозвучали некоторые цифры условной средней мобильной игры (ретеншен второго дня ~2%, 30 дней - ~7%). Это вызвало мой интерес, но дальше разговор выступающих свернул на другие темы. А жаль, по ощущениям от этого разговора, было видно, что мобилки вроде как и закапывают.

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

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

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

Были ещё проблемы со звуком - из-за этого я два доклада потом смотрел в записи.

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

P.S. Но вот, в Волгограде, митапы с точки зрения докладов (я говорю об iT34) делаются получше. Тут тебе и презентации полноценные, и темы куда конкретнее. Жаль, только геймдева нет, увы. Да и хочется митапов, сильно заточенных на программистов, но увы.

P.P.S. Да, я понимаю, что в моём возрасте пора и самому докладываться. Жаль, темы я не придумал, а обычно набор моих задач - лезть во всякие странные места и ковыряться в странном. Увы, с тех пор как я покинул стены родного вуза, какой-то спецтемы, кроме hrtp-demake нет, но там скорее просто набор проблем, чем что-то конкретное.

пятница, 17 ноября 2023 г.

Unreal Font Cache Flush

 Чтобы кэш шрифтов при оффлайновом построении не сбрасывался из-за большого числа надписей с разными шрифтами, лучше поднимать количество возможных атласов через Slate.MaxFontAtlasPagesBeforeFlush и Slate.MaxFontNonAtlasTexturesBeforeFlush . Их нет в официальной доке, но как минимум в 5.2+ они есть.

суббота, 28 октября 2023 г.

Апдейт по разработке hrtp-demake

Маленький технический апдейт.

Второй босс-файт готов, остались исключительно технические вещи:

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

Пока займусь первым.

вторник, 26 сентября 2023 г.

Мелкие заметки по архитектуре для 2D-игр

Поймал себя на мыслях о нескольких вещах. Это чисто техническая заметка.

Как-то надо у себя упрощать добавление/создание спрайтов на сцене. Сейчас часто это скриптами делается и поля приходится создавать вручную. Так-то норм, но... медленно что-то.  И много писанины в итоге. Хочется упрощать, но возни всё равно пока много. Возможно нужны дополнительные конечные автоматы для переключения анимаций.

Ещё смущает, что анимации всяких сложных действий внутри игры превращаются в набор сложных if'ов, и есть ощущение, что стоит подумать о всяких composability для корректности.

Кроме того, для всяких шмапов имеет смысл задавать не параметры полёта пуль, а состояние условного поля в момент времени t, исходя из систем пуль, храня что-то вроде набора состояний жив/мёртв. Это позволяет решить ситуации когда FPS просаживается или подскакивает и, в целом, получше решить проблему. Т.е. хранить не функции зависимости скорости, ускорения от момента времени, а строго позиции от времени и по ней пересчитывать, включая всякие появляющиеся пули. Но, сейчас это делать не хочется, ибо много переписывать, хотя кое-где уже такое по сути есть.

Ещё бы сделать какой-нибудь батчинг для анимированных по текстурным координатам спрайтов, к примеру, пихнуть в UBO условный индекс в текстуре, а потом анимировать его. Ну и может быть для задержек/опережений иметь дополнительный буфер смещений. В теории должно дать ускорение, но увы, это надо править в самом saddy. 

Как-то так.

среда, 6 сентября 2023 г.

FProperty::HasMetaData в Unreal тоже выпиливается в финальной сборке

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

вторник, 5 сентября 2023 г.

Постоянный попаданец

В отпуске после прочтения хайнлайновского "Иова или осмеяние справедливости" пришла нехитрая и довольно странная мысль. Сейчас довольно популярен жанр исекая или попросту "попаданчества" с несложной фабулой вида "попал в другой мир и дальше пошёл гриндить и идти к успеху". Понятное дело, что это эскапизм, но пост не про это.

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

Затруднения и hrtp-demake

Я уже давно ничего не писал про игру, и это связано со множеством разнообразных изменений, которые сильно замедлили темп разработки. Это и занятия спортом (стало необходимо), и смена работы, и, к сожалению, неприятные личные события.

четверг, 17 августа 2023 г.

Небольшая заметка про cppfront

 Недавно набрёл на доклад Герба Саттера на тему cppfront

понедельник, 10 июля 2023 г.

UTextureRenderTarget2D и UTexture2D

 Сегодня узнал что UTextureRenderTarget2D::ConstructTexture2D и UTextureRenderTarget2D::UpdateTexture2D  работают только из редактора. Естественно в документации про это ни слова.

... Потихоньку пора брать свои слова о Bitrix обратно. Тут уж явно не они такие - лучшие практики в области составлении документации в действии.

среда, 28 июня 2023 г.

Если появляется странная лишняя сфера в Unreal

 Вот тут пишут что это может быть из-за некорректных настроек и отсутствия Player Start в сцене. Увы, стоит учесть.


четверг, 22 июня 2023 г.

Маленькая заметка по Cook в Unreal Engine

Cook занимается редактор в специальном режиме.  Для отладки лучше всего сразу лезть сначала в UCookerSettings, потом в класс UCookCommandlet. Как правило, основной работой занимается UCookOnTheFlyServer и его метод TickCookByTheBook, который дёргается, если кукается всё.

пятница, 28 апреля 2023 г.

Небольшой апдейт по hrtp-demake

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

понедельник, 13 марта 2023 г.

Atomic Heart и бугурт

 Недавно, как известно, вышел Atomic Heart, и я повёлся на агрессивную рекламную компанию «первой русской игры» с Кипра и купил её на VK Play. Пост я пишу, так как почему-то про вещи ниже, никто не пишет. Слышно только два сорта отзывов: психически нездоровые ругают игру за выдуманную ими же любовь к СССР, либо хвалебные. Если бы не пара-тройка постов подобных моему и прохождения на Youtube, я бы и вовсе подумал, что в игру никто и не играл.

В целом, игра получилась неплохой. У меня были крайне заниженные ожидания, я ожидал, что она не запустится вообще или будет выжигать видеокарты почище майнинга. Но нет, это неплохая игра. Она запускается, в неё можно играть. Она летает на дешманском 1050Ti. И геймплей даже не вызывает раздражения, особенно первое время. Мне по душе сеттинг, он классный, начало игры просто замечательное. Ну и надо отметить – первый ААА проект, в котором на первых ролях разработчики с русскими фамилиями. Ура, здорово!

Можно покритиковать сюжет, но, по мне, сценаристы сделали хорошую работу  -  он интересно читается, сообщения в терминалах создают атмосферу. Можно покритиковать саундтрек, но просто большинство ремиксов не в моём вкусе, хотя пару раз звучавший 8-бит таки зашёл. Графику и критиковать не хочется – она хороша

Я буду критиковать геймплей – это всё же не книга, не аудиоальбом и не артбук, а игра.

Spoiler Alert! Будут спойлеры, но мелкие и ни о чём.

воскресенье, 5 февраля 2023 г.

Программируемые клавиатуры - это топ!

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

вторник, 24 января 2023 г.

hrtp-demake апдейт по настройкам звука

Как-то Александр пнул меня на тему того, что настройки звука в игре немного криво выглядят. В итоге пока боссфайт идёт очень медленно, сделал апдейт настроек:



четверг, 19 января 2023 г.

+1 наблюдение о разработке hrtp-demake

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

Впрочем, навскидку, удалось придумать пару вещей которых там нет, правда они очень примитивны.

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

Если что - принимаю идеи.

четверг, 12 января 2023 г.

И ещё одна интересная дискуссия о С++

 Я не большой фанат КДИ, но вот этот выпуск подкаста про C++ мне сильно зашёл:


Под большинством комментариев прямо хочется подписаться. Ну и встретить человека, который как и я начинал с Visual Basic 6 было ужасно приятно.