Я всё ещё делаю мультиплеерную 2D-арену. Что изменилось за время тишины
Последний раз я писал про Rattharia довольно давно. Работа и мелкие карапузы - одному год, второму два с половиной - совершенно не оставляют времени на личную разработку. Я почему-то думал, что с детьми постепенно станет полегче. Но на деле они как будто посланники из ада, которые пришли чтобы свести меня с ума.
Поэтому проект двигается не так бодро как мне хотелось бы. Но тем не менее я доделал почти всю программную часть которую хотел видеть в первой версии.
Сейчас уже можно:
- создавать комнаты и заходить в них
- выбирать оружие и модификатор карты
- бегать, стрелять, убивать друг друга и возрождаться, подбирать оружие, патроны, броню и хилки
Ещё есть туман войны, какие-то базовые звуки и тестовые спрайты. И как будто все это работает с учетом пинга.
Посмотреть можно тут, то что готово: https://rattharia.ru
Было бы круто наконец с кем-нибудь побегать по карте и нормально всё проверить. Сам я конечно тестировал, но с живыми людьми ещё ни разу не играл. Да и вообще пока непонятно, интересно ли это хоть кому-нибудь кроме меня.Так что если вдруг кто захочет попробовать - пишите в комментариях. Можно будет договориться о времени и зайти вместе.
На текущем этапе главный затык - графика. Ну не моё это. Я могу писать код. А графику не могу. Код могу, а графику нет. Ну не мое это. Когда мне надо нарисовать персонажа размером 32 на 32 пикселя, то разработка останавливается на неделю.
Пока сижу и думаю, как бы автоматизировать рисование спрайтов. Или всё-таки придётся самому научиться рисовать хотя бы чуть-чуть. Больше всего мне нравится стиль Mega City Force. Буду ориентироваться примерно на него.
В целом дальнейшие планы пока такие:
- доделать графику
- подобрать нормальные звуки
Так же хочу подумать об автоматизации разработки. Саму игру я уже давно пишу в Cursor с помощью ИИ. И сейчас проблема что основная игра работает внутри Canvas. Для ИИ это просто картинка. Он может посмотреть на скриншот, но по нему сложно понять, правильно ли прошёл урон, где на самом деле находится игрок на сервере, сработала ли коллизия и одинаковое ли состояние видят два клиента.
Поэтому дальше хочу попробовать сделать отдельный вывод состояния игры в цифровом виде. Чтобы ИИ видел не только картинку, но и конкретные данные: где находятся игроки, сколько у них здоровья, куда летят пули, кто в кого попал и что сейчас происходит на сервере.
Тогда теоретически можно будет сделать такой процесс: ИИ пишет механику, запускает игру, прогоняет нужный сценарий, смотрит состояние, находит ошибку, исправляет её и запускает всё ещё раз.Насколько это вообще заработает - понятия не имею. Но попробовать интересно.
Да и сейчас даже на работе у нас полным ходом идет переход на разработку с помощью ИИ. И я (фронтенд) и команда (около 15 разработчиков) уже с полгода пишем только с помощью ИИ.
Иногда доходит до смешного.Приходишь к разработчику и спрашиваешь:- Слушай, ты вот эту задачу делал. Это поле у тебя обязательное? А он такой: - Я не знаю. Надо у Claude спросить.
Вот уже такой уровень автоматизации, что разработчики начинают терять контекст того, что они сами сделали. И вангую что скоро уже и не будет отдельно фронтенд отдельно бекенд-разработчиков. Все сведется в ИИ-инженерам.
В общем, движемся куда-то.