Интересно послушать и понять, почему ева считается не реалтайм системой, и какая возможна реалтайм архитектура для проекта типа евы.
Онлайн шутеры на udp не предлагать.
Потому как Ева лагает. Реал тайм система может отказать в сервисе, но лагать не может.
Берем RTT в 500ms - тот кто не успел, тот опаздал.
Берем тик в 500ms.
Если время обработки стало больше тика, нода замораживается (возмущения в жидком ваккуме) 5 минут все курят рекаливрейшин сенсоров) и переезжает на более мощную (или с этого сервера снимаются другие ноды).
Делается небольшой редезайн всех модулей и скоростей крантый тику. Оно и сейчас так, просто клиент вас обманывает.
Если ввести некоторые принципы из интервальной математики, то сервер будет точно знать о возможности или невозможности операций с объектами, диз лок и т.п. Вектор известен и он константен в каждом тике. Интервал (область возможного расположения обьекта в координатах) где может находится любой корабь, таким образом известны.
Собираются все эвенты которые пришли со всех клиентов, обрабатываются, раздаются клиентам.
Все красивости рисует только клиент.
Получается что изменение вектора скорости коробля возможны один раз в тик, активация/дизактивация тоже.
Все в равных условиях, не тянет комп или инет? Ква... Но можно будет приспособится играя с лагом (для некоторых игроков с плохим рингом он будет постоянным, но это лаг сети не сервера).
Сообщение отредактировал MOH: 12 December 2010 - 0:05
Пишу подробный политобзор в соотв разделе, а то они уже 5й год разобратся не могут, у кого яйца из льда, а у кого из стали, бренчат то одинаково. (С) Artsnis