воскресенье, 12 декабря 2021 г.

Про C++ в GameDev

 Недавно набрёл на дискуссию:


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

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

Пример таких тезисов - утверждения Кирилла Шабордина о том, что т.к. вузы учат студентов C++, то плюсовиков просто полно и нанять их проще чем программистов на JS. Дело в том, что я успел понаблюдать за проблемами найма любителей C++ и геймдева в родном городе, и даже сравнить его, имея подобный опыт с PHP. И знаете что? PHPшников неожиданно в моём родном городе на несколько порядков больше чем плюсовиков. Да, хороших мало. Их всегда мало. Но опять же - плюсам в местных вузах учат. Но неглупый народ уходит с плюсов по многим причинам: сложный язык, сложная инфраструктура, пакетные менеджеры и.т.п.  Так что ситуация противоположная.

Ну и фразы о засилье C++ в геймдеве мне тоже кажутся натянутыми - впору говорить о тотальном засилье Unity/С#, хотя, если подумать, оно и нормально.

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


Boost 1.78.0 и MinGW-w64 x32 GCC 10+

На днях попытался собрать компилятором MinGW GCC 10.3.0 x32 Boost 1.77 и я упёрся в issue наподобие https://github.com/boostorg/build/issues/724 . Собственно, я сначала подумал, что и пожалуйста, не нужно и забил. Но потом вышел новый Boost 1.78 и я снова упёрся в эту проблему.

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

Тем кому лень читать дальше, сообщу сразу - всё можно легко собрать, если вместо обычного "b2 toolset=gcc" использовать

b2 toolset=gcc address-model=32

Но это, правда странно и этот способ мне подсказали в самих репозиториях.

четверг, 11 ноября 2021 г.

Возня с фоном в Blender, Aseprite и прочее

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

О голосовых сообщениях в 2021

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

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

понедельник, 26 июля 2021 г.

Небольшая халтурка

 Пытаюсь немного в музыку, пока закину сюда свою робкую попытку.

воскресенье, 25 июля 2021 г.

extern "C" и namespaces в C/C++ или как я подгорел на выходных

За что я люблю и ненавижу C++ одновременно - так это за то, что он может заставить себя почувствовать дураком и нубом себя в любой момент работы с ним.

TL;DR никогда ни за что, не мешайте extern "C" и пространства имён в определениях функций. Это не работает нормально ни в одном компиляторе и, как обычно, это описано только где-то в дебрях stackoverflow, хоть и разрешено в компиляторах MinGW и MSVC . 

Замечу, что эта проверка есть в SonarSource но почему-то в виденных мной учебниках плюсов это правило отсутствует, что принципиально неправильно.

суббота, 10 июля 2021 г.

О стримах по соревнованиям по играм

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

Но вот сегодня наконец был относительно большой (насколько возможно) чемпионат по моей любимой Mental Omega, транслировавшийся на https://www.twitch.tv/topazjuanmo и мне прямо сильно зашло. Во-первых, наконец-то RTS. Во-вторых, это был относительно весёлый опыт, потому что было не сильно жестко, иногда чувствовалось, что люди просто не успевают замечать что происходит. Это радует, ибо если глянуть на всяких монстров игры в RTS - то там просто люди как-то всё поспевают. Мне такое не заходит, ибо такое ощущение, что играют боты. А тут как-то всё душевнее и приятнее.  Я неожиданно обнаружил, что болею за одну из команд, хоть она и проиграла.

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

Следующее подобное мероприятие обещают в августе. Я надеюсь оно будет и планирую потратить своё время и насладиться зрелищем.

Такие дела.