пятница, 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 г.

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

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