Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Сетевая игра Добавлено: 27.01.08 17:27  

Автор вопроса:  Ellic | Web-сайт: persound.vip.su
Вот сделал сетевую игру на 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-сайт: persound.vip.su
 Профиль | | #2
Добавлено: 29.01.08 23:02
спс. Я сделал по другому. Когда происходит нажатие клавиши передаюся фактические координаты, а потом код клавиши. И при отпускании клавиши передаётся такая же информация. В итоге всё синхронно получается и не поедается траффик.

Ответить

Номер ответа: 3
Автор ответа:
 Андрей



ICQ: 353336595 

Вопросов: 11
Ответов: 16
 Web-сайт: vstu.ucoz.ru/
 Профиль | | #3
Добавлено: 30.01.08 15:52
попробуй вместо TCP/IP использовать UDP... трафика будет меньше, а с корость - больше...

Ответить

Номер ответа: 4
Автор ответа:
 Андрей



ICQ: 353336595 

Вопросов: 11
Ответов: 16
 Web-сайт: vstu.ucoz.ru/
 Профиль | | #4
Добавлено: 30.01.08 15:52
попробуй вместо TCP/IP использовать UDP... трафика будет меньше, а с корость - больше...

Ответить

Номер ответа: 5
Автор ответа:
 Ellic



Вопросов: 17
Ответов: 26
 Web-сайт: persound.vip.su
 Профиль | | #5
Добавлено: 30.01.08 15:55
Ага, я уже перешёл. В TCP/IP железно все пакеты переходят, если теряются, передаются заного. А тут то этого и не надо =)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам