MushRog

Двое в одной комнате

12 октября 2026 г. arquiteturamecanica

Машинный перевод, ещё не проверен.

MushRog стал онлайн. Один человек создаёт комнату через меню, до троих заходят по IP, и все сражаются с одной и той же Salamandra. Когда кто-то делает Sobrecarga, остальные видят взрыв и его название в углу экрана.

Зачем

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

Как это работает

Сервер гоняет симуляцию на 20 tick в секунду. Игроки шлют только намерение (идти туда, использовать скилл 2, сменить), а сервер проверяет дальность, перезарядку и ману и возвращает состояние комнаты и события этого tick. Клиент онлайн ничего не симулирует: хранит зеркало состояния и рисует, интерполируя позиции между tick, чтобы картинка не дёргалась.

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

Здоровье босса растёт по мере прихода людей: в 1,7 раза на двоих, в 2,4 на троих, в 3 на четверых. Комната сама перезапускается через несколько секунд после победы или поражения.

Для теста мы посадили на сервер двух ботов без экрана: они ходят, пускают Faísca и проверяют, что один видит другого. Этот тест запускается вместе с остальными при каждом изменении.

Пока нет логина, создания персонажа и города. Сейчас каждый заходит со стандартной командой Мага и Воина.

Следующий шаг

Логин и создание персонажа, чтобы каждый заходил со своей командой.

Изменения

  • feat(client,net): online rooms for up to 4 players

    Menu with solo, host-and-play and join. Listen host plays as p1; the room resets a few seconds after win or wipe; boss HP scales with the number of players. Client mirrors server state, interpolates between snapshots, renders every team with name and HP, and animates casts from a new cast event. tools/net_test.sh runs a dedicated server with two headless bots. Version 0.0.2.

← Назад к девлогу