MrNexeon
@MrNexeon

Что нужно знать разработчику многопользовательских онлайн игр?

Что необходимо изучить в первую очередь? Какие темы в плане компьютерных сетей нужно знать, не вдаваясь в подробности.

P.S. Работаю с библиотекой SFML, где имеется модуль/интерфейс для взаимодействия с сетью.
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
@pavelkolodin
1. API для асинхронной обработки событий от разных сокетов (kqueue, epoll, select)
2. Структуры данных -- они важнее алгоритмов.
3. Вопросы пространства-времени) когда сервер получил пакет от клиента, на клиенте часы уже ушли вперёд -- всё что связано с компенсацией этой фигни. Пинг (задержка) "к клиенту" может отличаться от пинга "от клиента".
4. Изоляция клиентов друг от друга: никто из них не должен получать событий обо всём мире. События на клиент должны падать, только если они произошли вблизи его.
5. https://habrahabr.ru/post/302394/ -- статья про способы синхронизации. В конце описан самый интересный способ с накоплением истории на клиенте, выкидывании части истории по факту подтверждения её исполнения на сервере.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы