Log of Alprog
1.22K subscribers
89 photos
88 links
Download Telegram
Название: Crunch House
Жанр: Песочница, симулятор геймдев студии, экономическая стратегия
Вдохновители: RimWorld, Factorio, Prison Architect

Движок: Godot
Репозиторий: GitHub
Начало проекта: 4 сентября 2023

Подробный симулятор геймдев студии с отловом багов, рефакторингом, фичекатами, bus-фактором, документацией, мерж-конфликтами, спагети-кодом, тех.собесами, мотивацией, кранчами, пицца-патями, харассментом, кондёрами и уборкой.

Основное отличие от разнообразных казуальных симуляторов геймдева, типа GameDev Tycoon или GameDev Story, в том, что основная игровая карта будет не офис, а виртуальный мир разработки, куда симы телепортируются садясь за компьютер, и где они будут физически выращивать код, отлавливать баги и заниматься прочими активностями.

Так же планируется третья карта — мир игры.
Короче, по фану стартанул новый пет-прожект чуть больше недели назад. Буду пилить по вечерам после работы по мере возможности. Если не заброшу сразу, то скорее всего это долгострой. Но поскольку это песочница, в которой нет чёткого финального состояния, и которую можно улучшать и докручивать бесконечно; меня вполне устроит судьба вечного раннего доступа.

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

Взял Godot, потому что принципиально не хочу Unity (у меня к ней старая нелюбовь, задолго до вчерашних новостей), Unreal слишком жирный для моего проекта, а Defold не особо удобен под 3D. К тому же мне импонирует опен-сорсовость и либеральность в плане языков.

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

Ах, да. Исходники пока планирую оставить публичными на GitHub. Там же, на github pages, будет вестись диздок, он же вики по игре. Однако OpenSource лицензию пока не прикрепляю, так что по умолчанию действует копирайт. Будет проект полностью опенсорсным или всё-таки коммерческим, решу когда-нибудь потом.
И снова кудах-кудах.

Мой пет CrunchHouse, анонсированный в сентябре, ожидаемо встал на паузу. Но не потому, что я потерял интерес или идея сдохла. Нифига. Это по-прежнему мой основной долгострой, которым я собираюсь упарываться ещё многие годы. А потому что если уж упарываться, то делать это основательно. Как и было предсказано, руки зачесались делать его не на чём попало, а непременно на своём скриптовом языке. Так что по вечерам моя девушка всё чаще слышит от меня фразу, что мне надо немного «покуковать», то есть позаниматься ku-ku.

Напоминаю, что концепция ku-ku сформулирована как «typed lua meets intelligent json». Простой язык, как lua, заточенный под лёгкий модинг, но с типами и с 1st-class citizen сериализатором. Причём таким, что сериализует сразу в байткод виртуальной машины. А десериализация, соответственно, тупо сводится к исполнению этого кода. Такой подход позволит в теории писать всякие конфиги и префабы на сабсете языка, и всё это будет подсвечиваться, автокомплититься и рефакториться в IDE ровно так же, как и сам код (для этих целей у меня с самого начала разработки используется Language Server Protocol). Ну и сейвы со сценами заодно тем же механизмом будут сериализоваться.

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

На повестке дня сейчас вызов функций. Затем Debug Adapter Protocol, чтобы можно было подебажить выполнение скрипта в VS Code (ну или Emacs и Neovim). Это всё проблем вызывать не должно. Но затем надо будет вернуться к семантическому анализу и линковке. Это пока наиболее проблемная часть для меня. Так что смотрю в будущее с немного обосранными от ужаса глаза, но всё-таки делаю потихоньку.
Что случилось с Dark Crystal Games? Делаю Forward, где Слава всё раскидал, поскольку описаны события после релиза (когда я уже ушёл). Слава, кстати, Senior геймдиз на BG3.
Forwarded from Slava
Привет.
В начале 2022 шли к закату (летели я бы сказал). Релиз игры в сентябре 2021 был не самый удачный, не супер плохо, но не хит. Все продажи забирал издатель. У владельца была возможность получить инвестиции на будущее, но он поверил что дальше будет рост как в 2020-2021 :) Решили своими силами дальше пилить. При этом начались метания, как и что делать, даже в крипту 🙄 пытались залезть.
Когда ёбнула война владелец понял что теперь точно никаких инвестиций не получить да и в принципе ёбнул кризис в геймдеве, я думаю вы заметили это в 2022-2023. Разочаровался в геймдеве и постепенно слил студию. Сначала половину штата распустили, думали что ещё дадут время на прототип или бетку чтобы выйти в РД или найти инвестиции, но по итогу в июле-августе закрыли, почти одним днём :)
В итоге проект сейчас болтается на аккануте у издателя, не знаю как они планируют возвращать его назад и кому, когда кончатся права. Там есть потуги выпустить на консоли и как то перезапустить всё это дело, но они пока не уверенные и теоретические. В свободном полёте, даже патч издатель не выпустил.
Ребята которые работали - многие разошлись по приличным заведениям типа Owlcat, Mundfish, mail.ru, Saber и в том числе иностранным конторам, как Алпрог.
Roblox, VR и немного HL:Alyx

В декабре недельку поковырял программирование Roblox под VR. Давайте расскажу немного про впечатления.

Началось всё с того, что около года назад у меня значительно расширился состав шведских полуродственников, среди которых оказался в том числе и фанат роблокса соответствующего возраста. Чтобы впечатлить мелкого, я по дурости заявил, что вообще-то для такого крутого разраба, как я, сделать игру в роблокс — плёвое дело. Разумеется, этот комментарий был интерпретирован не иначе, как прямое обещание, и с тех пор припоминался мне при каждой встрече. Мои наивные надежды, что оно как-то само собой забудется через пару месяцев, не оправдались: рост у детей короткий, а вот память длинная. Хуже того, уже близилась рождественская посиделка, которая в этом году хостилась у меня дома, так что отвертеться как-нибудь красиво не получалось совсем. Нужно было что-то делать.
Звёзды сошлись ещё и таким образом, что в качестве новогоднего подарка самому себе я как раз купил Meta Quest 3, так что игру делать я начал не куда-нибудь, а именно под VR.

Для начала изучил, что там вообще есть в этом вашем роблоксе. Короткое исследование выявило, что в популярном правят балом всевозможные вариации на тему кликеров, которые на местном сленге гордо зовутся «жанром симулятора»; а также всякие паркур-игры (то бишь просто платформеры). Надо сказать, что Roblox Studio из коробки предоставляет весьма богатый функционал именно для таких игр (ну или чего-то GTA-подобного): тут есть персонаж со скинами, стандартный контроллер с камерой от первого и третьего лица, позволяющий прыгать и плавать (но не приседать, например), инвентарь и система переключения предметов в руках, транспорт. Наборчик на первый взгляд достаточно типичный, но самая главная фишка Роблокса, что всё это стандартное барахло изначально спроектировано для мультиплеера!

Если вы геймдизайнер, который делает прототип какой-то сетевой игрухи, я очень-очень сильно настоятельно рекомендую обратить внимание на Роблокс. То, что в каком-нибудь юнити потребует чуть ли не отдельного сетевого программиста, здесь вы получаете тупо бесплатно. Разобраться с основами не составит труда, даже если вы уже отупели после ковида: на официальном сайте куча туториалов для самых маленьких, а в качестве скриптинга тут луа, который учится буквально за вечер.

Вернее не совсем lua, а luau. И это не может не порадовать более искушенных в программировании людей. Luau делает с lua примерно то же самое, что typescript делает с javascript. Это суперсет, который привносит в язык аннотации типов и прочие вкусности, что делает из полной динамики что-то гораздо более юзабельное и надёжное. Вместе с местным автокомплитом ощущается довольно освежающе, и на самом деле это, пожалуй, моё лучшее впечатление от Roblox.

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

Впрочем, я и не собирался городить BG3, мне нужно было собрать демонстрационный уровень на 5 минут геймплея для рождественской пати. За основную концепцию был взят паркур в его минимально-возможном исполнении — «пол это лава»! Но до и после я разбавил это дело VR-фишками: стрельбой из пистолетов руками, а также в качестве кульминации сделал в конце прыжок веры в бассейн. Причём сделать это нужно было именно шагнув в пропасть собственными реальными ногами, потому что ходьбу стиками в этом месте я специально отключал (так в разы круче ощущается).
Проблема была только в том, что стандартный контроллер ходьбы, само собой, заточен в первую очередь под мобилки и PC. Поэтому если ты играешь от первого лица в VR и шагаешь собственными ногами, то ты просто выходишь из тела персонажа.

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

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

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

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

Ну а после праздников я смог добраться до того, ради чего брал себе Meta Quest — к Half Life Alyx. Игра, кстати, абсолютный топ. Вернула мне детский восторг от новых игровых ощущений. Да ещё и в любимой вселенной. После прохождение за 5 дней подряд по 3-4 часа в день, ещё какое-то время ловил прикольные эффекты дереализации в реальности и трёхмерные галюны перед сном. Ну и не без удовольствия заметил, что из всех схем управления, которые есть в Alyx, самая классная совпадает с той, как я делал в роблоксе.
А у меня тут подкаст внезапно

Помните, три года назад я пытался замутить что-то типа подкаста? Тогда это ещё было в, прости господи, clubhouse. В общем, представляю вашему вниманию попытку номер два. На этот раз на более традиционных платформах, а вернее на всех основных: от Apple Podcast до Youtube. Спотифая пока нет, но тоже будет (как объяснили наши лучшие специалисты, его надо отдельно через жопу регать).

Случилось всё, как водится, спонтанно. Мой знакомый ещё по Калининграду геймдиз @web_lain, автор канала Осмысляя культуру (кстати, подписывайтесь), твитнул, что, дескать, хочет мутить подкаст. Я ему тут же сосватал в соведущие Марка — нашего сценариста с Encased. Там же, в твиттере, и по поводу первого гостя сразу порешали. Встречайте: Дмитрий Хомак, автор lurkmore и легенда рунета. Изначально я думал, что останусь крёстным отцом подкаста, но как-то слово за слово, и в общем я тоже у микрофона.

Всё это безобразие называется Синдром Утёнка. Концепция проста: зовём классных гостей из индустрии и около неё, казуально общаемся про всякое медиа и игры в частности. На этот раз никакого технического занудства. По крайней мере в первых двух выпусках обошлось без этого. А там как пойдёт.

Послушайте пилот, и обязательно отпишите, насколько кринж.

00:00:01:11 — Представляемся
00:00:54:05 — GTA: серия скатилась?
00:16:15:20 — Хомак и русский игрожур
00:28:40:04 — Как Сапковский потерялся в лесу
00:33:33:17 — Закат бумажных игровых журналов
00:35:14:03 — Нейросети отнимут твою работу
00:42:56:20 — Почему хорошая локализация — это сложно
00:48:49:14 — Нейронки, религия и Макаронный Монстр
00:55:22:22 — Как игрожур умер окончательно
01:07:18:21 — Играет ли Хомак в игры сейчас?
01:08:56:19 — Про кринжовый игровой секс и не только
01:14:59:07 — Плавно закругляемся
01:15:17:02 — Внезапная история напоследок

Ссылка на все ссылки:
https://su.mave.digital
Сделал сайт для нашего подкаста. И там совершенно случайно уже есть новый выпуск со Святославом Ториком. Говорят, я там болтал уже побольше, чем в пилоте. И вообще там уже ближе к разработке разговор идёт: про геймдизайн и всё такое.

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

https://ducksyndrome.github.io/
Как делать сайты в 2024

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

Короткий ответ: сайт надо хостить на Github Pages, генерить статику с помощью Jekyll.

Теперь напишу более развёрнуто, как я дошёл до таких мыслей. Личных сайтов у меня, как и у многих, была целая куча. Штук 6 или 7 разных итераций. Начиная от кринжовой странички AlprogCompany на народе с фоткой в разделе «обо мне»; и заканчивая блогом на PHP с самописной админкой контента. Проблемы у этих сайтов всегда одни и те же, и к ним я ещё вернусь. Но изначально я решал вообще другую проблему.

Как вы возможно знаете, я иногда пишу рассказы на всякие литературные конкурсы, и закономерно встаёт вопрос: куда их выкладывать? Требования очень простые: хотелось залить куда-то один раз в одно место и забыть на миллион лет, но чтобы оно всегда было доступно по прямой ссылке в читабельном виде. С одной стороны есть специализированные коммерческие ресурсы, типа Литрес или Автор.тудей, но они пихают рекламу и часто меняются. С другой стороны вырвиглазный Самиздат и зашкварная Проза.ру, на которых в принципе не очень приятно находиться в окружении web 1.0 и иконок одноклассников. Пилить и поддерживать своё решение ради этого тем более казалось оверкиллом.

Решение нашлось гениальное: github.com. Просто кидаем файлы в репо и всё: ваши рассказы доступны по прямой ссылке, они читабельно свёрстаны, в окружении нормального дизайна, есть список всех рассказов, да и ссылка на них явно в большей сохранности, чем большая часть интернета. А может быть ещё и во льдах арктики забекапят на случай постапокалипсиса.

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

Потому что у личных мелких сайтов проблемы всегда одни и те же:
- Дизайн устаревает быстрее, чем они выбираются из под плашки «Under Construction»;
- Обновления случаются так редко, что ты порой уже и не помнишь, как там правильно добавлять контент. И какой пароль от FTP;
- Неудобно обновлять контент и управлять версиями. Либо для того, чтобы стало удобно, надо сделать ряд дополнительных приседаний. Особенно на новой машине;
- Надо думать о хостинге. Регулярно платить ему какие-то деньги, да ещё и сталкиваться с его закидонами: то он работы на серверах будет проводить, то PHP обновит до неудобной версии, то тарифы и ограничения поменяет;
- Домены имеют свойство протухать, угоняться киберсквоттерами и прочие неприятности. Из-за чего у вас потом по всей сети протухшие ссылки в старых постах. Нет ничего более жалкого, чем протухшие ссылки на личную страницу.

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

Кроме того, Github Pages это уже что-то вроде стандарта индустрии для лэндинга и документации по всяким опен-сорсным библиотечкам. Почему бы не расширить это на личные сайты в принципе?

Я так запилил свой личный сайт (там можно почитать мои рассказы) и сайт нашего подкаста (там уже можно послушать новый выпуск про эмиграцию).
Сейчас я занимаюсь написанием большой интерактивной статьи по матрицам. Почему-то все статьи по матрицам, что я видел, объясняют их по сложному пути. Я хочу сделать значительно проще и нагляднее. Для этого я сейчас на голом JS и html-канвасе пишу мини-движок визуализации интерактивных диаграмм. Она тоже будет на гитхабе.
Ёж восстаёт из могилы.

Ребят, я не сдох. Честно. Я даже генерил какой-то контент последнее время, но почему-то только не сюда. Давайте отчитаюсь, что и как.

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

Во-вторых, подкасты. Мы записали 4 выпуска, в том числе с Хомаком, Ториком и Апанасиком. Это была моя вторая, и, похоже, последняя попытка попробовать себя в этом жанре. Ходить гостем и отвечать на конкретные вопросы мне норм (помните, я ходил в КДИ пояснять за С++?), но вот быть ведущим — это вот прям совсем не моё. Мне нравится производить относительно сложный контент, в котором ты, по крайней мере, контролируешь каждую букву. А говорить что-то нон-стопом без подготовки — это не то, что я могу потом с чистой совестью посоветовать другим людям послушать.

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

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

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

Где-то в самом начале блоге упоминалось, что тут будет что-то и про путешествия, поэтому поведаю, что в отпуск мы собрались в Средиземноморский Круиз. У меня на счету пока 23 страны. Должны добавиться 3 новые: Италия, Франция и Ватикан.

Ну а после отпуска я всё ещё планирую, наконец-то, вернуться к скриптовому языку ку-ку и симулятору геймдева Crunch House. Очень надеюсь, что в скором времени этот блог превратится в дневники разработки Crunch House и будет таким оставаться на долгие годы. Stay tuned.
Я пишу новый движок

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

Переключился я не на абы что, а обратно на Crunch House. Покрутив немного свой прошлогодний код на Godot’е, повзвешивав все за и против, пришёл к закономерному выводу, что это был набросок прототипа, а чистовик надо писать на своём движке.

Да, сука. Опять.

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

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

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

— В-третьих — и это, наверное, на самом деле самый главный аргумент — Crunch House будет игра про трушную разработку на собственных движках. Как будто бы делать такую игру не на своём движке — зашквар.

— В-четвёртых, это мой пет — чё хочу, то и делаю. Я в другом городе, как говорится.

В общем, снова пишу движок. Но в этот раз совсем другая концепция.

Моя прошлая попытка движка (Judy) концентрировалась вокруг совсем низкоуровневых вещей (и дальше не продвинулась): собственный кроссплатформенный оконный менеджер и инпут, кроссплатформенный рендер и компиляция шейдеров, IDE на Qt, встроенный текстовый редактор и дебагер скриптов.

В этот раз я прям так шизеть не буду. Формула такая: SDL2 + DX12 + ImGui + KuKu.

Всю кроссплатформенную возню с ОС я заменяю индустриальным стандартом в виде SDL2 (писать самому было интересно, но бессмысленно).

А рендер я пока вообще не буду делать кроссплатформенным. Это можно будет сделать когда-нибудь в будущем, но постфактум, а не заранее. Так что пока для простоты буду на голом DX12. Хотя слово «простота» плохо подходит для DX12. Там, на минуточку, даже мипмапы и MSAA надо руками резолвить. Благо мне не так-то много всего надо написать. Каскадные тени, блум. Особо больше ничего использовать не собираюсь. Вряд ли даже TAA буду лепить.

Возня с Гуи на Qt тоже идёт нафиг: берём индустриальный стандарт ImGui. Отлично подойдёт как для девелоперских тулзов, так и для внутриигрового Gui (под жанр симулятора оно идеально).

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

Но самая мутная часть движка — это, конечно, Ku-ku. Я там давно застрял на куче архитектурных дилемм, когда хочется всего и сразу, но хотелки конфликтуют друг с другом. Надо будет в какой-то момент сесть, подумать, что мне больше всего нужно именно для Crunch House, и устроить нещадный фичекат.

Вот как-то так. А движок на этот раз называется Finik. В честь кота. Он мелкий (это же кот), но бойкий. Шугает тут шведских котов. Имя короткое, легко произносимое и, вроде бы, уникальное.