вторник, 20 декабря 2022 г.

Апдейт по игре: уровни 7-12 Makai

Итак, очередной этап  первых 90% проекта закончен, и я снова выхожу на связь :). На удивление, удалось сделать основные уровни относительно быстро. 

пятница, 25 ноября 2022 г.

Ruby в Gamedev

Я вообще люблю Ruby, в том плане, что он поприятнее в плане синтаксиса Python. Но как-то в геймдеве его особо не видно, а тут неожиданно набрёл на интересный тред про это. 

Из интересного:

  • новый RPG Maker оказывается внутри себя на нём скриптится, что круто.

И из того, что можно глянуть:

О рейтингах и комментариях

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

пятница, 18 ноября 2022 г.

Про Blender и Cloth Simulation

Я часто вижу хвалебные оды Blender, да и сам, несмотря на всё, его в какой-то степени люблю.

Одна из особо заметных фич в нём - встроенная физика. Вот про неё как увидишь ролики - ну по ним волей-неволей думаешь: царская вещь, тут тебе и симуляция тканей (cloth simulation) и жидкостей и мягких тел, и чего только нет; сейчас налегке сделаю и всё будет отлично, смоделирую и побегу дальше.

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

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

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

Такие дела.

вторник, 8 ноября 2022 г.

Апдейт по игре: теперь и с боссфайтом!

Итак, департамент не самых удачных геймдизайнерских и маркетинговых решений опять выходит на связь :)

воскресенье, 16 октября 2022 г.

C++ и кодировки

 Я недавно поругался в микроблоге на ужасную работу с кодировками в C++, а тут подоспел более серьёзный разбор текущего состояния дел.

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


четверг, 13 октября 2022 г.

Впечатления от одной книги

 Этот пост немного припозднился - я собирался его писать ещё в начале сентября, но как-то руки не доходили. А дело вот в чем - я нашёл время и прочёл книгу Джесси Шелла. "Геймдизайн. Как создать игру, в которую будут играть все." и хотел бы поделиться впечатлениями об этом.

воскресенье, 9 октября 2022 г.

Впечатления от Stable Diffusion


Так как господин К. таки завёл локальный Stable Diffusion,  немного поигрались коллективно с ним вечером в эту самую генерацию картинок из текста (и проиграли в итоге не раз).

четверг, 15 сентября 2022 г.

О платных модах

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

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

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

    Но самое главное - взаимодействие разработчика с моддером. По идее здесь должна быть win-win ситуация: разработчик получает больше контента для игры, продлевая ей жизнь,  моддер - exposure, единоразовую выплату за разработку + процент продаж с мода (навскидку 20-40%). Такой малый процент взят потому что разработчику  всё равно придётся поддерживать мод. Ну и, возможно, место в штате если это его интересует, и это того стоит. Здесь, ещё бы стоит подумать об оценках качества разработки мода, общих гайдлайнах для модов, чтобы упростить интеграцию чужих модов в процессы. Но на этом останавливаться не хочется, а то по ощущениям выходит опять Битрикс.

    Самое слабое и обидчивое звено в этой цепи - сам игрок. Мы, как игроки, любим бесплатные моды. Здесь, на мой взгляд, помогут две вещи: это должно стать из мода DLC, а во-вторых адекватная ценовая политика, со скидками, региональными ценами и акциями. Постепенный перевод малопопулярных DLC в бесплатные тоже может помочь. Ну и нормальная поддержка с багфиксами и прочим.

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


четверг, 25 августа 2022 г.

hrtp-demake на Windows XP на старой машине

 Так как в оригинале предполагалось, что всё же движок сможет работать и на очень старых машинах, попробовал портировать игру на Windows XP. Было немного жутковато (ибо пересел на C++14, было ощущение, что придётся избавляться от новых конструкций) . Но  нет: благодаря TDM-GCC всё получилось:


Опишу вкратце основные проблемы, которые возникли, помимо обычных правок при переносе на более ранние версии компилятора (остальное - в описании к видео):

1. TDM-GCC 10.3.0 из-за проблем у Windows XP с HTTPS и общей старости нормально не ставится инсталлятором. Я тупо поставил его на "десятку" и просто копированием перенёс, он при этом отлично работает. В остальном - всё отлично, сам компилятор работает неплохо. Ощутимо медленнее, чем старые версии, но поддержка относительно свежего стандарта того стоит.

2. std::random_device НЕ создаётся. Какой ты ему токен не дай - падает с исключением. Решилось созданием своего "подвирающего" random_device на базе rand/srand. Ни о какой криптографической устойчивости речи не идёт при этом, но в игре это как по мне, никого не волнует и волновать не будет.

3. Почему-то встроенный Intel GMA 3150 не любит текстуры 4096х4096 . Это странно, если бы ему не хватало памяти - они бы падали на закачке, но здесь они закачиваются но не отображаются. Впрочем, разбить текстуры было легко, а в остальном проблем не возникло.

Отняло это на самом деле - ну, 3-4 часа, движок собирался куда дольше. 

В остальном я результатом доволен. Такие дела.


пятница, 29 июля 2022 г.

Небольшое геймплей видео по старому новому проекту

    Наконец-то дошёл до определённой точки в разработке, после которой можно наконец записать геймплей. Соответственно, залил геймплей:


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


среда, 27 июля 2022 г.

И снова про Raspberry Pi 3B+

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

Помог вот такой сорт шнура. По сути это Micro-USB на Micro-USB шнур с выключателем. Это ни разу, не супер реализация, так как подключать приходится через переходник USB-male - USB-male , а потом преобразовывать USB в Micro-USB . Соединение при этом хлипковато, нет ощущения прочности. Но, тем не менее, это работает under-voltage не возникает.

Остаётся только поместить это всё в корпус.

Такие дела.

воскресенье, 26 июня 2022 г.

Про Raspberry Pi 3B+ и его мобильность

Мне неожиданно захотелось собрать портабельную консоль на том же Raspberry Pi 3B, так как многие, не без причин, хвалят "малинку" за удобство и полезность. 

Сказано - сделано. Взял PowerBank RAVPower Power Bank 26800mAh PD 30W, зарядил, подключил - работает, система не показывает undervoltage, живи и радуйся. А вот нет же. 

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

Я сначала подумал, что дело в дополнительном переходнике USB - mini-USB который сильно длинный.  Попробовал взять вариант с тумблером, но USB-mini-USB напрямую. Это не изменило ситуацию, и я подумал, что шнур опять длинный (хотя во всех случаях совместимость с "малиной" гарантировалась).

Попробовал собрать более короткий вариант, но уже с двумя переходниками и это не помогло, всё так же при нагрузке возникает under-voltage. Вроде бы все заявляют о совместимости с Raspberry, которая на деле оказывается какой-то совместимостью в вакууме. 

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

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

UPD 1.07.22: Попробовал на аккумуляторе помощнее - Harper PB-0030. Дело всё же в шнурах, результат не изменился.


вторник, 11 января 2022 г.

Про BlackChain

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