MrNexeon
@MrNexeon

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

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

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

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

Похожие вопросы