Это иллюзия из-за плохого знакомства с архитектурой.а первый представленный там пример - реализация как в Ксаше.
оттуда:А ещё на source inside есть статья по принципам работы клиент-сервера GS:
http://source-inside.ru/index.php?id=73
тоже какой-то больной писал.Сервер является машиной рендеринга, без какой либо графики.
Клиент является машиной рендеринга, с графической и акустической системами которые также взаимодействуют с игроком при помощи клавиатуры, мыши, джойстика, всего того что использует игрок.
А что за переменная за это отвечает?Дядя Миша said:Игровой цикл у меня хороший, надо просто сервер запустить со своим FPS.
Скорость игры, зависящая от переменного FPS - ошибся, я про второй пример.Дядя Миша said:Это иллюзия из-за плохого знакомства с архитектурой.
DWORD prev_frame_tick;
DWORD curr_frame_tick = GetTickCount();
bool game_is_running = true;
while( game_is_running )
{
prev_frame_tick = curr_frame_tick;
curr_frame_tick = GetTickCount();
update_game( curr_frame_tick - prev_frame_tick );
display_game();
}
Да в том-то и дело, что фпс сервера сейчас гуляет как хочет. Это неправильно.А что за переменная за это отвечает?
Не знаю я что там написано. У меня в ксаше фпс постоянно гуляет в раёне 300-3000 фпс. Единственное, на чём это сказывается - на скорости перемещения игрока, потому что в usercmd_t время представлено байтом и не может быть менее одной микросекунды. Никаких других проблем там нет.А как это скажется на позиции игрока при его предикте?
Не порядок со всем этим, не порядок. Это получается, игрок, в зависимости от разного фпс, будет разную позицию занимать?Дядя Миша said:Да в том-то и дело, что фпс сервера сейчас гуляет как хочет. Это неправильно.
Не знаю я что там написано. У меня в ксаше фпс постоянно гуляет в раёне 300-3000 фпс. Единственное, на чём это сказывается - на скорости перемещения игрока, потому что в usercmd_t время представлено байтом и не может быть менее одной микросекунды. Никаких других проблем там нет.