Как RuneScape 2004 года уместила многопользовательскую RPG в 56k-модем
2004 RuneScape fit a multiplayer RPG into 56k dial-up

В 2004 году RuneScape работала в браузере на 56k-модемах, поддерживая тысячи игроков на сервере. Разбор одного клика по тайлу показывает, как Jagex экономила каждый байт: шифрование только кода операции, компактные пакеты с дельтами координат и 600-мс цикл сервера. Обновления игроков передаются как битовые дельты, а не полные состояния, что позволяет уместить игру в 5 КБ/с.
Ответ — это постоянное, почти одержимое упражнение в том, чтобы не тратить байты.
- akersten
Хотелось бы, чтобы автор подробнее остановился на античите и его эволюции. Jagex банила ботов на основе эвристики движения мыши ещё в 2005 году. 20 лет спустя на главной странице здесь какой-то JS-фреймворк преподносит тот же анализ как революционный новый подход. Могу только представить, что представляет собой современный античит-движок, особенно в эпоху LLM, которые могут надёжно имитировать игрока-человека. (Некоторые из них даже пишут довольно технические посты в блогах, которые почти неотличимы от настоящих ;)
- saejox
Ultima Online вышла в 1997 году и требовала только 28k модем. Я бы также сказал, что это была более сложная игра.
- stux
> До любого сетевого взаимодействия клиент выполняет поиск в ширину по локальной карте коллизий, чтобы построить путь от вашего местоположения до точки, куда вы кликнули, а затем записывает пакет для сервера. [...] Пакет содержит абсолютную позицию первой точки маршрута, за которой следуют дельты каждой последующей точки относительно первой.
Почему клиент отправляет точки маршрута, а не просто пункт назначения? Наивно кажется, что отправка меньшего объёма данных была бы лучше. Неужели поиск пути настолько затратен, что его хотят избежать на сервере? Полагаю, это работает, если проверка/коррекция пути клиента не слишком дорога?
- NDlurker
Phantasy Star Online на Sega Dreamcast отлично работала через dial-up.
- OsrsNeedsf2P
Эта статья — просто анализ кодовой базы Lost City[0] без ссылки на Lost City?