🎮 Я решил тряхнуть стариной. Старина очень удивился.
Друзья, всем привет! На этой неделе я был хорошим мальчиком не отвлекался на пет-проекты от работы, и к концу недели у меня внезапно осталось 60% лимита на Opus 5. А я не из тех, кто оставляет Дарио Амодею сдачу от своих столь тяжко зарабатываемых 200 долларов в месяц. Но обо всем по порядку.
Мало кто знает, но когда-то давно я начинал свой путь в IT с твердым намерением делать игры. К сожалению, суровый российский геймдев не просто разбил мои мечты занять свое место в индустрии - он еще дополнительно сжег мой дом и изнасиловал собаку. Вообщем, не задалось. Много где работал, была своя студия, игры издавал, но в конечном счете я на геймдев обиделся и ушел в управление проектами и маркетинг.
А обиделся вот почему.
В какой-то момент карьеры я чувствовал себя настолько уверенным и крутым, что решил - могу выпустить свою мобильную игру. Позвал парочку друзей в пати, нашел отчаянных ребят, кто захотел вложиться в это предприятие долларом - 10 000 долларов, если быть точным. И мы худо-бедно взяли и сделали свою первую мобильную игру.
Идея была простая, без сверхъестественного - убивалка времени. Вы играете за мага, который защищает стену своего замка от нападения орды гоблинов. Монстры разные: по-разному атакуют, с разным здоровьем. А в арсенале у вас целая куча магии - от тапа пальцем по мобу, который бьет его молнией, до огненных стен и режима ярости, особенного для каждого героя-защитника.
И на момент 13-14 года это было весьма новаторски: управление там было жестами, а тогда нативные жесты в играх вообще не были распространены.
А еще мы выбрали очень перспективную технологию. Adobe AIR + Starling. Что, вы никогда о них не слышали? Ну собственно, это и есть одна из причин нашего провала - надо было брать Unity. Но кроме того нас подвел издатель: как-то они нас плохо запустили, плохо прокремлили, и вообще все вышло очень грустно.
Игра заработала что-то типа 500 баксов за все время.
При вложенных десяти тысячах.
Вот тогда я собственно и ушел из геймдева, поняв, что деньги там можно заработать или где-то не тут, или только от ну очень большой любви. Мне, видимо, любви не хватило. Но игры и геймдев я любить от этого не перестал.
И вот, глядя на остаток лимита, я вдруг вспомнил, что у меня на дропбоксе (кто-то вообще его еще юзает?) с тех времен все еще лежат все готовые ассеты под целиковую игру. Да и права, получается, все еще мои - издатель игру давно не издает.
Опыта портирования всякого питона на всякий C++ у меня уже успело набраться, и я задумался: а чем в целом игра отличается от программы? Если я могу портировать приложение с питона и CUDA-инференса на Rust и C++, то может, смогу и со старого неудачного движка на новый современный? Сконвертировать все ассеты и воссоздать игру?
И знаете что. Я смог.
Провел ресерч - он показал, что для моих задач идеально подходит Godot, очень популярный и современный движок с большим комьюнити. А дальше было дело техники. В ход пошел официальный гайд Anthropic - «How Anthropic runs large-scale code migrations with Claude Code», тот самый, по которому Клод переписал Bun с Zig на Rust: миллион строк меньше чем за две недели. Там шесть шагов, опенсорсный стартер-кит и главная мысль, которая мне все и перевернула: ты чинишь не код, ты чинишь цикл, который этот код производит. Пишешь правила миграции и петли верификации, а агенты переводят, компилируют и тестируют, пока поведение нового кода не совпадет со старым. Взял оттуда лучшие практики и с какой-то матерью начал работу.
Билд для вас пока не выкладываю, но обещаю, что сделаю. Сейчас это только десктопная сборка, дальше соберу андроид-версию - вот ее уже скину вам потыкать.
Кстати, если среди моих подписчиков есть ребята, у кого есть вся обвязка для паблишинга игр на андроид и ios в современных реалиях - напишите мне в личку. Было бы прикольно переиздать игру, которую я делал 12 лет назад.
А пока прикладываю релизный трейлер и запись экрана с уже портированной версии.
Расскажите в комментариях: у вас есть такой же скелет в шкафу - проект, который когда-то не выстрелил и до сих пор лежит на дропбоксе? Может, пора и его расчехлить?
Всех обнял, увидимся на стриме всегда ваш - Nerual Dreming ❤️