![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
камрады. встала такая трабла:
имеется пвп турнир в котором принимают участие до 16х бойцов. каждый боец это человек на флешовом клиенте запущенном в браузере. все общение через собственный сокет сервер. флешер сказал что у него все завязано на фпс и он не гарантирует синхронное протекание процессов в игровых клиентах. тоесть у кого то перемещение юнита на 8 клеток займет 8 секунд, у кого то 4 а кого то 0,8. менять что либо пока отказывается ибо хочет весомые аргументы услышать. А по поводу рассинхронности грит что в пошаговой игре это не трабла а фича. какой на ваш взгляд в такой ситуации лучше всего механизм синхронизации действий применить? поясню: сейчас у меня на сервере отводится 30 секунд каждому игроку чтобы он начал ходить или переход хода. если игрок начал ходить то на ход дается 30 секунд вне зависимости от длины хода. тоесть вне зависимости от того на сколько клеток пошел игрок. на 1 или на 21. и возникает коллизия: если активный игрок сидит на быстром флеш клиенте с высоким фпс, то у него юнит пройдет свой ход значительно бысрее отведенных 30 секунд и если человек захочет совершить второе действие то олучит от сервера отлуп ибо с серверной точки зрения ход еще не закончился. конечно можно предположить что на перемещение на 1 клетку при среднем фпс 30 будет тратиться к примеру 0,75 секунды и исходить из этого, но это не поможет если у клиента будет 120фпс и хождение будет идти в 4 раза быстрее рассчетного . ЗЫ повторюсь хотелось бы красивое решение без привязки от фпс. к таймерам и времени флешер не хочет привязываться ибо грит что это все от сатанистов. :-( или таки нужно как то железобетонно аргнументировать чтобы он ушел от привязки к фпс.
__________________
fast restart: *((int*)0) = 0; |
![]() |
Часовой пояс GMT +4, время: 21:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|