Копай, Кубби!

← Блог

Играем вместе: как игра стала сетевой

Пятеро куббиков стоят рядком на цветущем лугу у бревенчатой избы соседа, за ними кусты, яблони и снежные горы

С самого начала мы хотели, чтобы в «Копай, Кубби!» играли не в одиночку. В каждом мире шесть домов, и клад под землёй достаётся тому, кто найдёт его первым, — гораздо интереснее, когда в соседних домах живут настоящие люди. Как всё начиналось, мы рассказали в прошлой записи. А сегодня — о том, как игра стала сетевой.

Комнаты на шестерых

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

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

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

Почему связь рвалась

Прямая связь между браузерами — штука капризная. Вот что нам мешало:

  • Браузер готовит приглашение к связи заранее. Если оно лежало дольше минуты, связь получалась пустой, и новичок оказывался в мире один. Так случалось очень часто.
  • Когда связь медленная или идёт кружным путём, игра не дожидалась ответа, решала, что в комнате никого нет, и строила новичку его собственный лес.
  • Между некоторыми домашними сетями прямая дорожка не прокладывается вовсе.
  • Если в мире никого не было онлайн, войти в него было нельзя: мир жил только у игроков.

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

Свой сервер

1 октября игра заработала через свой сервер. Вот что изменилось:

  • Без регистрации. Игра сама заводит тебе аккаунт в этом браузере — просто открываешь и играешь.
  • Сохранения на сервере. Герой, мир и монетки хранятся там, а не только на твоём устройстве.
  • Мир живёт всегда. В него можно прийти, даже когда больше никого нет онлайн.
  • Честные сундуки. Сроки сундуков и то, что в них лежит, выдаёт сервер, а не чей-то компьютер.

А если связь на секунду пропала, игра сама подключится снова, и всё, что ты успел сделать за это время, дойдёт до сервера.

cubbydig.io, друзья и чат

2 октября игра переехала на свой адрес — cubbydig.io. И в тот же день появилось многое из того, ради чего стоит играть вместе:

  • Друзья. Добавить друга можно прямо из ТОПа. Видно, кто сейчас «в игре», кто «в сети», а кто «не в сети». Друга можно позвать к себе по ссылке, а если в его мире есть свободное место — переехать к нему. Игра заранее объяснит, что будет при переезде.
  • Чат стал больше. У мира появился общий чат с историей, а у друзей — личные сообщения. Любого можно скрыть, заблокировать или пожаловаться на него, а грубые слова игра прячет сама.
  • Таблицы лидеров в окне ЛИДЕРЫ: ВСЕГО МОНЕТ, ПО БИОМАМ, НЕДЕЛЯ и КНИГА. Недельная таблица начинается заново каждый понедельник, а в КНИГЕ считаются только артефакты, которые выдал сервер.
  • Вход с любого устройства. Аккаунт можно привязать к почте (придёт код), Яндекс ID, Google или VK ID — и играть своим героем хоть с компьютера, хоть с телефона. Имена героев теперь не повторяются во всей игре.

А на следующий день появилось окно «Пока тебя не было»: когда возвращаешься, игра рассказывает, что случилось без тебя.

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

Два сервера

11 октября серверов стало два: Россия и Финляндия. Аккаунт и герой у тебя одни на оба, а сохранения у каждого сервера свои: миры, монетки, звездняки, сундуки и Дедова книга. Сервер можно выбрать в меню и в настройках, рядом показано, как быстро он отвечает.

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

А 13 октября игра научилась сама выбирать сервер для новичка. Она несколько раз проверяет связь с каждым и отправляет туда, где связь быстрее и ровнее. А если сервер почти заполнен, новичок попадёт на другой.

Что дальше

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

Играть