Страница: 1 |
Страница: 1 |
Вопрос: Сетевая игра
Добавлено: 27.01.08 17:27
Автор вопроса: Ellic | Web-сайт:
Вот сделал сетевую игру на 4х человек посредством DirectPlay по схеме PeerToPeer. Там по 2Д карте бегаю 4 игрока. Но вот реализовать всё плавно как то не получается. Пытался сделать так:
- тупо передовать координаты. Но так как используется TCP/IP и передача по пакетам, то получается дёрганая картинка. Да и к тому же ест много трафика.
- передовать нажатые клавиши игрока, а клиент сам расчитывает движение. Трафика почти не есть, картинка плавная, но иногда всё же получается, что координаты настоящие, и координаты, которые видят игроки не совпадают. И инога ты оказываешься вообще в другом месте на карте.
-Второй метот + ежесекундная синхронизация с координатами. Пока это самый рабочий метод, но всё равно картинка иногда дёргается, и пожирается траффик.
Может кто-нибудь уже делал подобные вещи? Если подскажете, буду очень благодарен.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Sneaks
Вопросов: 9
Ответов: 84
Профиль | | #1
Добавлено: 29.01.08 08:35
есть несколько другая система, можно так же тупо передавать фактические координаты где находится клиент, а те координаты которые он получает это не координаты где находится обьекты других играков,а то место куда идут его персонажи. Будет немного с затарможкой от реальных зато плавно )) и еше тут можно сделать через каждые 15-20 сек полная синхранизация, те принимать принимаемые как фактические, а дальше опять лишь как координаты направления
Номер ответа: 2
Автор ответа:
Ellic
Вопросов: 17
Ответов: 26
Web-сайт:
Профиль | | #2
Добавлено: 29.01.08 23:02
спс. Я сделал по другому. Когда происходит нажатие клавиши передаюся фактические координаты, а потом код клавиши. И при отпускании клавиши передаётся такая же информация. В итоге всё синхронно получается и не поедается траффик.
Номер ответа: 3
Автор ответа:
Андрей
ICQ: 353336595
Вопросов: 11
Ответов: 16
Web-сайт:
Профиль | | #3
Добавлено: 30.01.08 15:52
попробуй вместо TCP/IP использовать UDP... трафика будет меньше, а с корость - больше...
Номер ответа: 4
Автор ответа:
Андрей
ICQ: 353336595
Вопросов: 11
Ответов: 16
Web-сайт:
Профиль | | #4
Добавлено: 30.01.08 15:52
попробуй вместо TCP/IP использовать UDP... трафика будет меньше, а с корость - больше...
Номер ответа: 5
Автор ответа:
Ellic
Вопросов: 17
Ответов: 26
Web-сайт:
Профиль | | #5
Добавлено: 30.01.08 15:55
Ага, я уже перешёл. В TCP/IP железно все пакеты переходят, если теряются, передаются заного. А тут то этого и не надо