Почти 2 года назад вышла самая первая версия Колизея. Это началось как дикий и наивный эксперимент для моих собственных многопользовательских экспериментов.
С тех пор сообщество медленно начало опробовать его и выпускать некоторые игры с его использованием, например:
- GunFight.io - сделано @tinydobbins
- Splatty.io - сделано @bmovement
В центре внимания Colyseus всегда было самое простое решение для создания многопользовательской игры с использованием JavaScript и HTML5, имея при этом минималистичную архитектуру. Он все еще находится в своего рода экспериментальной стадии, но постепенно превращается в конкретный раствор.
Что нового в версии 0.5.0?
- Вертикальная масштабируемость. Версия 0.5.0 представила новую архитектуру с использованием кластерного модуля NodeJS. Теперь ваш игровой сервер может масштабироваться по вертикали. Это архитектурное изменение должно вскоре перейти в сторону горизонтальной масштабируемости (# 57).
- Ранговые совпадения. Как вы, возможно, уже знаете, всякий раз, когда клиент запрашивает присоединение к игровому сеансу, на стороне сервера вызывается
requestJoin(options)
, чтобы определить, разрешено ли этому пользователю присоединиться к комнате. Ранее для подключения выбиралась первая комната в списке доступных комнат, возвращающаяtrue
. Теперь вы можете вернуть число с плавающей запятойnumber
(0..1
) вместоboolean
. Служба подбора партнеров выберет номер с наибольшим номером для подключения. "Подробнее". - Уникальные идентификаторы клиента / сеанса: теперь вы можете определить, когда один и тот же пользователь подключается к одной и той же комнате более одного раза.
client.id
- это уникальный идентификатор для каждого пользователя, аclient.sessionId
всегда уникален. Короче говоря, если вас это не волнует, всегда используйтеclient.sessionId
для идентификации ваших пользователей. - Удаление комнат: введено свойство
autoDispose
(по умолчаниюtrue
), которое определяет, следует ли автоматически удалять комнату, когда последний клиент отключается от нее. (спасибо @seiyria) - также все интервалы / таймауты, установленные вthis.clock
, будут сброшены при утилизации.
Критические изменения:
Есть несколько критических изменений как на стороне сервера, так и на стороне клиента. См. Ссылки ниже, если вы переходите с предыдущей версии на 0.5.0.
- Основные моменты миграции на стороне сервера (с 0,4 до 0,5)
- Основные моменты миграции на стороне клиента (с 0,6 до 0,7)
Дорожная карта для версии 1.0.0:
Теперь у нас есть четкая дорожная карта того, что необходимо для выпуска версии 1.0.0. Одна из наиболее востребованных функций - это возможность фильтровать состояние комнаты перед отправкой патчей конкретному клиенту (# 59).
У Colyseus появился самый первый спонсор!
EvenNode предоставляет хостинг для Node.js. На проекты Colyseus предоставляется скидка по запросу. Обратитесь в службу поддержки для получения дополнительной информации.
Присоединяйтесь к нам!
Сообщество в Gitter Channel очень дружелюбное и открытое. Если у вас есть вопросы или вы просто хотите поделиться своими безумными идеями, вы найдете там прекрасных парней! Мы всегда рады новым участникам для кода и / или документации!