17 августа 2023 17.08.23 5 1221

Онлайн лидерборд в Roboden

+7

Привет! Я решил попробовать вести свой devlog здесь. Буду рассказывать вам об обновлениях Roboden (этой игры нет на StopGame, поэтому ссылка на Steam).

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

Так как это первый мой пост, расскажу в двух словах о самой игре. Рободен — это RTS с непрямым управлением и асимметричным геймплеем. Эта игра — моя попытка создать какую-то залипательную и, хотя бы немного, оригинальную стратежку. (Подробнее об игре можно почитать здесь)

Новость сегодняшнего дня — лидерборд игры стал доступен онлайн.

Вот так выглядит лидерборд по ссылке выше
Вот так выглядит лидерборд по ссылке выше

Лидерборд всегда был доступен из самой игры, но отображение там менее подробное. Да и отображается там лишь окно из 10 позиций, без возможности прокрутки:

Лидерборд внутри игры
Лидерборд внутри игры

У онлайн-лидерборда есть одна дополнительная киллер-фича: он позволяет подсмотреть в билд, который был использован игроком. Нужно всего лишь навести на вопросительный знак:

С таким билдом играл текущий топ-1 игрок Рободена
С таким билдом играл текущий топ-1 игрок Рободена

Таблица рекордов — это один из важных аспектов игры. С ранних этапов разработки в игре была гибкая система сложности с таким подсчётом очков, который мог бы стать основой лидерборда.

Сервер лидерборда защищён от читеров и желающих выслать себе условный {"score": 99999}. Когда игрок отправляет свой результат, отправляется и реплей игры (а ещё сид и другие параметры конфигурации, необходимые для идеального воспроизведения). Реплей представляет из себя последовательность действий, выполненных игроком.

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

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

Я надеюсь, что такая лояльная и надёжная система лидерборда будет располагать игроков к отправке своих результатов. :)


Лучшие комментарии

Я пока не уверен, где лучше вести такой девлог. Кажется, dtf для этого подходит больше. Тем не менее, решил попробовать и тут что-нибудь написать. :)

В нулевом сезоне, кстати, этот лидерборд был беспощадно захвачен моей имба-стратой с курьерами и свыше десятка баз :)

Когда-нибудь сделаю нулевой сезон тоже доступным для просмотра. :)
Все прошедшие сезоны должны быть доступны в readonly режиме, в том числе из клиента игры.

Читай также