Тема: Aircraft
Показать сообщение отдельно
Старый 12.01.2007, 11:51   #9
BlackDeath
Нуждающийся
 
Регистрация: 05.01.2007
Сообщений: 86
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Aircraft

to Raiter
Спасибо, я и забыл, что они там лежат

игра никакой ошибки не выдала когда не смогла запуститься?
И незапустилась воопсче, т.е. даже стартовое меню не показалось, или не запустился именно сам геймплей, после меню который?

Наверное ты не вложил ниодного файла в папку music. Либо же блиц не смог его прочитать, он почемуто не все mp3 умеет читать а без хотябы одного читаемого файла музыки игра просто вываливается без каких бы то нибыло сообщений

to HolyDel

вот какраз DirectPlay я и попытался использовать, получил кучу гемороя но это скорее всего из-за неправильного формирования пакетов и их неправильной отсылки. Вопсчем идея была такая, что от клиента на сервер отсылается изменение состояния клавиатуры и мыши, т.е. если клиент ничего не изменял в нажатых клавишах и не двигал мышью, то от него на сервер прийдет только флажок - что он в сети и не отвалился от игры, а если что-то поменялось в нажатых им кнопках - или он дернул мышкой, то прийдет пакет апдейта о том, что именно поменялось. Клиент никак не реагирует на нажатие игроком клавиш, а лиш передает эту инфу на сервер. Сервер же, в свою очередь, сидит и слушает, пришли ли к нему пакеты от всех клиентов или нет. Ждет он это на протяжении определенного таймаута, если пакеты от всех клиентов пришли раньше таймаута - то он сразу продолжает свой основной цикл. Если же после истечения таймаута от какго-то из клиентов не пришел пакет - клиент считается отвалившимся. При получении пакета с апдейтами сервер заносит их к себе в структуру игрока и помечает, что состояние игрока изменилось. Дальше в своем цикле сервак производит все вычисления игрового мира и ставит флажки апдейта тем игрокам, у которых поменялось какое либо состояние (типа жизнь уменьшилась и т.д.). Когда сервер произвел все вычисления он отсылает всем своим клиентам апдейты всех игроков у которых стоит флажок апдейта. Клиент, получив пакет от сервера делает соответствующие изменения в своей структуре игроков и начинает обрабатывать их. Таким образом получается, что клиент отправляет на сервер инфу об изменении состояния управления, а потом получив от сервера инфу об этих же изменениях для самого себя и всех остальных игроков - воплощает их в жизнь .

Вроде как все красиво и логично, но, временами начинается рассинхронизация миров у сервера и у клиента таким образом, что объекты на сервере находятся в одних координатах, а объекты на клиенте находятся совсем в других координатах.

твой код я обязательно погляжу, и попробую разобраться

to All

Может кто расскажет, как работа сети реализована в их играх, подобных моей?
(Offline)
 
Ответить с цитированием