Re: Multiplayer and physics engine
От: M.Faith Германия  
Дата: 07.10.05 13:38
Оценка:
Здравствуйте, Сергей, Вы писали:

С>Добрый день!

Привет
С> Как вообще по-хорошему можно сделать такую вещь, причем собственный физический движок писать не хочется?

Если не хочешь напрягать сервер — предлагаю следующий подход:

На сервере должен идти основной обьект управления — назовём его — "карта", распределительное ядро — скажем "синхронизатор" и информационный блок — пусть будет "телеком".

"карта" должна предоставлять публиц функции objectXY_changed, object_dissapiered ...

"телеком" получает сообщения от клиентов в виде двух пакетов: физика, персонаж.

оба передаются "синхронизатору".

В "синхронизаторе" всё разбивается по очередям и приоритетам,

Как только очередь прозесса приходит, изменение некоторых физических данных рассылается всем клиентам через "телеком", персонаж же когда подходит его очередь передаётся на "карту", а от туда и "телекому".

В это время на узерах логические движки принимают информацию и отстраивают миры — каждый локально.

Такой конструкт хорошим не назовёшь, потому что существует ни один мир а столько сколько клиентов подключено, таким образом больше вероятнасть ошибок и у каждого uzera дожна быть полная версия программы. Но эффект разгружения сервера на лицо — сервер в данном случае выполняйет лишь синхронизирующую роль — конструкт старых игрушек — "Warcraft I, Dune II"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.