!!! ИГРАТЬ НА TURBOWARP !!! *********************************************** Ссылка – https://turbowarp.org/1266446288 В скретч сломались облачные переменные, но они доступны на турбоварп *********************************************** | Если комната занята, ремиксните проект. В | спрайте Multiplayer Engine задайте ваш ник и | нажмите на флажок с зажатой клавишей [Z], | чтобы очистить комнату # ОБЪЯСНЕНИЕ Этот проект использует несколько технологий для достижения плавности игры и синхронизации: - Плавное ускорение вместо резких движений Позволяет считать движение на стороне клиента и передавать лишь один импульс по сети, вместо обновления положения каждый раз - Система пакетов И удобные блоки для отправки/получения пакетов с поддержкой типов пакетов! - Плавная синхронизация Если локальная позиция игрока отличается от фактической больше чем на 15 пикселей, игра плавно вернет игрока в его оригинальное местоположение (сохраняя его ускорение!) через формулу ease-out. Похожим образом работают и настоящие онлайн игры - Плавное вращение Позволяет передавать на сервер лишь целевой угол поворота и плавно вращать игроков к нему у всех клиентов - Рандом Передавать все 120 шариков было бы ужасно. Я использую облачную переменную, которая содержит лишь одно число – сид рандома. Каждый клиент на его основе генерирует последовательность чисел которая используется для шариков! У всех клиентов одинаковый сид -> у всех клиентов одинаковый рандом! - Децентрализованная система В скретч нет понятия "сервер-клиент", так что здесь каждый игрок отвечает за кик неактивных, и за обновление сида рандома. За последним стоит довольно сложный алгоритм (который потом все равно сломался), так что лучше посмотрите сами)