Re: Cheb's Game Engine
Добавлено: 19.12.2015 19:25:18
Ты не понимаешь сути lockstep. Инпуты, опоздавшие к моменту финализации состояния, можно только отбросить. Всё держится на идеально совпадающем - до бита - повторении физики всеми клиентами на основании идеально совпадающих инпутов. Физика только целочисленная, поскольку добиться идентичного поведения плавающей запятой на разных платформах - задача нерешаемая (а если решаемая - то нужны титаны уровня Кармака).
В оригинале, этот механизм мультиплеера (DooM, Duke Nukem 3d - и все прочие игры до изобретения клиент-серверной модели в 1996 году с пришествием Квейка) позволял играть только по локалке, максимум 2..4 игрока. Бессерверная технология. Каждый клиент не мог приступать просчёту следующего кадра, пока не получал инпуты от всех остальных участников. Малейший лаг - и у всех проседал FPS.
Я возвращаюсь к истокам, исправляя недостатки этой первобытной системы разделением на слои и вводя сервер, который тут, скорее, служит как арбитр и ретранслятор.
P.S. Да, в молодости доводилось играть с другом в Дюк Нюкема в кооператив, соединив два ДОСовских компа кабелем за COM-порты.
В оригинале, этот механизм мультиплеера (DooM, Duke Nukem 3d - и все прочие игры до изобретения клиент-серверной модели в 1996 году с пришествием Квейка) позволял играть только по локалке, максимум 2..4 игрока. Бессерверная технология. Каждый клиент не мог приступать просчёту следующего кадра, пока не получал инпуты от всех остальных участников. Малейший лаг - и у всех проседал FPS.
Я возвращаюсь к истокам, исправляя недостатки этой первобытной системы разделением на слои и вводя сервер, который тут, скорее, служит как арбитр и ретранслятор.
P.S. Да, в молодости доводилось играть с другом в Дюк Нюкема в кооператив, соединив два ДОСовских компа кабелем за COM-порты.