Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 08.01.2008, 09:12   #1
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Сетевая синхронизация движущихся объектов

Делаю сетевую синхронизацию движущихся объектов, на базе кубических сплайнов.
Скудную информацию черпаю отсюда - http://www.gamedev.ru/articles/?id=80102 .
Вопросов больше, чем ответов:
1. Как выглядит оригинальный алгоритм расчета при получении параметров, а не его математические выкладки?
2. Как правильно вычислить дельту времени t?
3. Что делать при достижении конца сплайна, когда не пришли следующие координаты по сети?
И т.д. Если кто занимался уже этим и существуют наработки, буду рад выслушать, а еще лучше поглядеть.
(Offline)
 
Ответить с цитированием
Старый 08.01.2008, 12:16   #2
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сетевая синхронизация движущихся объектов

Вот пример на официальном сайте: http://blitzbasic.com/codearcs/codearcs.php?code=345
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
stone_evil (08.01.2008)
Старый 08.01.2008, 12:19   #3
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Re: Сетевая синхронизация движущихся объектов

Сообщение от Tadeus Посмотреть сообщение
Вот пример на официальном сайте: http://blitzbasic.com/codearcs/codearcs.php?code=345
Спасибо большое!

Последний раз редактировалось stone_evil, 08.01.2008 в 12:47.
(Offline)
 
Ответить с цитированием
Старый 08.01.2008, 18:06   #4
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Сетевая синхронизация движущихся объектов

я занимался 3 года назад
Наработок было много, но толку мало...

вот немножко нашел:
Вложения
Тип файла: zip spln.zip (4.5 Кб, 448 просмотров)
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
stone_evil (09.01.2008)
Старый 09.01.2008, 05:25   #5
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Re: Ответ: Сетевая синхронизация движущихся объектов

Сообщение от tormoz Посмотреть сообщение
я занимался 3 года назад
Наработок было много, но толку мало...
Класс, спасибо!
spline.bb - это как раз то, что я сейчас собирался сделать для рассмотрения работы этого алгоритма. А теперь буду сидеть исследовать.
Два вопроса только возникло:
1. Почему от этих наработок толку мало - вследствии практической неработоспособности алгоритма или потому что просто он не был нигде применен?
2. Что за алгоритм newsPlain? Я так понимаю, что это самописный простой алгоритм, который мягко преследует объект (ни разу не использовал TranslateEntity, точно не знаю, что за оператор). Вроде движение выглядит не хуже, но почему тогда используют кубические сплайны вместо простого алгоритма, непонятно.
(Offline)
 
Ответить с цитированием
Старый 09.01.2008, 18:34   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Сетевая синхронизация движущихся объектов

TranslateEntity, аналог MoveEntity без учёта поворота объекта (двигает по глобальным координатам).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
stone_evil (10.01.2008)
Старый 09.01.2008, 20:33   #7
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Re: Ответ: Сетевая синхронизация движущихся объектов

Сообщение от stone_evil Посмотреть сообщение
Класс, спасибо!
spline.bb - это как раз то, что я сейчас собирался сделать для рассмотрения работы этого алгоритма. А теперь буду сидеть исследовать.
Два вопроса только возникло:
1. Почему от этих наработок толку мало - вследствии практической неработоспособности алгоритма или потому что просто он не был нигде применен?.
Я пытался применять в динамичном шуттере-леталке.
Но от дерганий так и не избавился.
Поэкспериментируй с примерами - сам поймешь
Там иммитируется работа реальной сети с запаздыванием и пропаданием пакетов.
Видишь, как запаздывает и дергается ведомый шарик ?

2. Что за алгоритм newsPlain? Я так понимаю, что это самописный простой алгоритм, который мягко преследует объект (ни разу не использовал TranslateEntity, точно не знаю, что за оператор). Вроде движение выглядит не хуже, но почему тогда используют кубические сплайны вместо простого алгоритма, непонятно
Это ноухау
Но он тоже не решает проблемы, хотя вроде работает стабильнее сплайнов
По-идее кубсплайны должны решать проблему, но насколько я знаю, на блитце еще никому не удалось сделать реальное предсказание и сглаживание.
Все, что я видел - еще хуже этих примеров.
Если что то найдешь, или доведешь до ума - поделись
__________________
(Offline)
 
Ответить с цитированием
Старый 10.01.2008, 05:39   #8
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Re: Ответ: Re: Ответ: Сетевая синхронизация движущихся объектов

Сообщение от tormoz Посмотреть сообщение
Там иммитируется работа реальной сети с запаздыванием и пропаданием пакетов.
Видишь, как запаздывает и дергается ведомый шарик ?
Да, дергание вижу, но как я понимаю, это происходит из-за того, что шарик проходит расстояние быстрее, чем приходит очередной пакет. У меня есть мысль, как избежать дергания, я ее постараюсь реализовать, но пока надо до конца врубиться в алгоритм: как правильно рассчитать время, почему рассчитываемое предсказание в примерах является 3-им параметром, а не 4-ым, как должно быть по идее, и т.д. По чужим алгоритмам довольно сложно это сделать, придется самому пописать , там же все постараюсь и до ума довести, если получится.
Кстати, насколько я помню, пропадание пакетов можно не иммитировать при TPC\IP, вроде как он сам отвечает за это, и при пропадании пакета повторно высылает его.
У меня аська в профиле есть, постучись если что, можно будет пообщаться на эту тему. Если что-нибудь путнее получится, конечно, поделюсь.
(Offline)
 
Ответить с цитированием
Старый 10.01.2008, 06:04   #9
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Сетевая синхронизация движущихся объектов

Кстати, насколько я помню, пропадание пакетов можно не иммитировать при TPC\IP, вроде как он сам отвечает за это, и при пропадании пакета повторно высылает его
На TPC\IP динамичные игры не делают.
Он очень сильно тормозит
Нужно (и правильно) эзать UDP
А там пакеты пропадают.
Для ответственных пакетов делается подтверждение доставки, а для обычных это не критично.
Нормальное запаздывание для локалки - 10-30 мс
Для инета до 100
Вот контра то работает !
И работает отлично.
И еще сотни других динамичных игр.
Как там сделано это самое предсказание...
__________________
(Offline)
 
Ответить с цитированием
Старый 11.01.2008, 12:19   #10
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сетевая синхронизация движущихся объектов

Не знаю как у вас, но у меня на UDP все летает без предсказаний
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевая игра на б3д, или 3д чат (наброски) tormoz Проекты на Blitz3D 8 21.09.2011 02:30
EntityCollided, при движущихся навстречу друг другу объектах ELIAS 3D-программирование 18 03.09.2009 01:03
Синхронизация PhysX Mr_F_ Blitz3D 19 01.08.2009 00:00
Сетевая 3D игра HolyDel Проекты на Blitz3D 53 10.11.2007 14:10
Синхронизация HolyDel Blitz3D 31 19.08.2007 16:21


Часовой пояс GMT +4, время: 10:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com