|
Xors3D Графический движок с поддержкой DirectX9 |
04.03.2012, 18:31
|
#46
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Black Bird
В общем тестировал сегодня со всеми, очень понравилось, прикольно, но не хватает очень много на стороне клиента плюшек.
Например система стрельбы ракетами, прикольная, т.к. ракеты контролируются мышкой, но при этом это сбивает прицел для туррели. Но это имхо ок.
А вот то что не чувствуется дистанция ракет и других персонажей - это имхо важно.
Для этого есть имхо две идеи как можно это улучшить:
1. Ракеты должны подсвечиваться аугментной реальностью, и иметь данные о дистанции.
2. Радар. На деле это нужно 3д радар, с плоскостью и вертикальными линиями для улучшения ориентации в пространстве и понимании где кто находится. Ракеты тоже должны находиться на этом радаре. Желательно и патроны туреллей.
Конечно такой элемент в интерфейсе весьма тяжёлый, и требует очень много усилий для реализации.
Плюс, ну тут не прими как недостаток - у тебя опыта работы с сетью не так и много, плюс объём работы большой. Но нужна синхронизация и предсказания (экстраполяция), а не интерполяция. Иначе картинки у игроков сильно отличаются..
В такую игру хочется иметь наводную базу с туреллями, которую будут игроки атаковать, точнее две базы (две команды).
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
10.06.2012, 16:57
|
#47
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Black Bird
Появилась возможность играть без хамачи.
Ну как, прошлые версии понравились по игре? Стоит - ли развивать тему?
Скорее всего это последнее, во что я вложусь на ксорсе.
Планируется гаражик, что-то вроде World of tanks, можно будет настроить свой самолет , купить новый и тп. Ну и по игре самой - режим с базами, как Мока предложил.
Что скажите?
|
(Offline)
|
|
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
|
|
10.06.2012, 17:21
|
#48
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Black Bird
Ни на один тест увы не смог попасть, а очень хотелось, люблю авиасимуляторы. Скрины радуют. Если есть время - конечно развивай.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.06.2012, 16:26
|
#49
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Black Bird
Продолжай, если хочется.
Мне понравилось как мы полетали в прошлый раз)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.06.2012, 18:56
|
#50
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Black Bird
Работа продолжается.
Поработал в сабере, получил опыта, открыл блек бирд. Сразу кучу всего пределал) Графика снова будет переработана. Прикрутил оптимизации, поднял около 30ти фпс, это хватит, чтобы обустроить игровую сцену. Убрал лишнее из худа, переделал работу с камерой.
на карте предположительно будет ночной каньон.
Может кто-нибудь подкинит каких-нибудь крутых идей, кроме выше пречисленных? Идеи должны быть направленны на поднятие гемплея.
Пока идеи такие:
1) Добавить на Q/E какие-нибудь финты с уворотами от ракет
2) Можно сделать какие-нибудь абилити для игроков на кнопку X. Например сброс ИК ловушек, починка и тп.
3) Ангар, где можно настроить самолет и купить новый, также с оружием для него.
4) Добавить небольшую РПГ систему. За сбитого игрока будет начисляться опыт, за опыт начисляется уровень, уровень может давать доступ к новым самолетам и оружиям, абилитям. Сразу возникает вопрос как потом отделять нубов от высокоуровневых игроков.
5) Можно попробовать воткнуть на мой сайт статистику.
6) Есть идея летать не только на самолетах. Хочется какие-нибудь штуки с множеством турелей что-ле. Или открыть классы самолетов, сделать перехватчиков, истребителей, что-то в таком духе. Отсюда можно будет делить абилки.
7) Ракеты поделить на: - а) Не управляемые, большие повреждения и высокая скорострельность.
- б) Ручное управление мышкой, средние повреждения
- с) С наведением на таргет автоматически с использованием центрального круга(захват цели будет происходит в центре экрана, во время захвата нужно держать цель именно в круге).
8 ) Написать восьмой пункт просто для вида.
9) Убрать физику баллет.
Последний раз редактировалось EvilChaotic, 28.06.2012 в 20:37.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
|
|
28.06.2012, 20:22
|
#51
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Black Bird
Переделать сетевую часть, с нормальной и честной синхронизацией с экстраполяцией (а то из-за задержки, стреляя и попадая - не попадает).
|
(Offline)
|
|
28.06.2012, 20:37
|
#52
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Black Bird
Сообщение от MoKa
Переделать сетевую часть, с нормальной и честной синхронизацией с экстраполяцией (а то из-за задержки, стреляя и попадая - не попадает).
|
Сетевую часть можно передать. Только мне нужны все тонкости правильной реализации. Физику баллет я скоро отключу.
Знач так, идея такая.
На клиенте будут отслеживаться нажатые клавиши, кнопки посылаются на сервер, сервер их обсчитывает и посылает посчитанные пакеты клиентам. Полученные пакеты клиент будет приводить в действие на экране игрока, движение самолетов будет немного сплайниться.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.06.2012, 03:38
|
#53
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Black Bird
Суть "справедливых" решений заключается в том кто решает что игрок попал, а кто нет, и на основании каких данных.
Т.к. избежать задержки невозможно, и данные с одного клиента будут идти до другого за промежуток времени задержки одного клиента плюс задержки другого, то тут нужно думать о симуляции "будущих" данных на клиентах.
Суть проста: Authoritative Server <> Client модель самая стойкая и популярная на данный момент.
Сервер всегда прав и просчитывает всё сам.
Клиент лишь "просит" у сервера всё, и отдаёт ему собственный ввод.
Сервер получает ввод и симулирует поведение сетевых объектов.
Затем с определённой частотой раздаёт клиентам пакеты состояний. Частота раздач намного меньше чем частота симуляции. Например симуляция может быть 30 тактов в секунду, а раздач 10 в секунду.
Следственно клиент должен сглаживать данные. Но т.к. мы уже говорили о том что клиент должен предсказывать, следственно получая данные от сервера, клиент должен вычислять предполагаемые будущие данные, и затем симулировать поведение уже с расчётом на предполагаемые данные. Это называется экстраполяция.
Долгота предположений должна зависеть от промежутка времени между пакетами состояния мира (в данном случае 100 мс), плюс собственный пинг (сглаженный по времени), таким образом клиент будет пытаться предположить весьма далеко состояние которое на самом деле сейчас происходит на сервере.
Задача симулировать как можно ближе реальное состояние на данный момент у всех клиентов.
Собственные данные, применять сразу, но смешивать с предполагаемыми данными как и других клиентов, сглаживать границу своей симуляции так, чтобы не сильно отличалось от данных при экстраполяции, но и не чувствовалось лага, иначе игроку очень не понравиться задержка реакции, тем более в такой активной игре.
Далее самое сложное, это серверная часть. Т.к. симулируем всё на клиентах приближенно к серверным в реальном времени данным, ошибка будет, но мы её не учитываем. Задача тут, является вычисления в прошлом.
Например клиента А с задержкой 80мс, в момент 100мс, стреляет. Пакет приходит на сервер уже в момент 180мс, но данные основывались на 80мс времени ранее. Для справедливости, сервер должен посмотреть на критичные данные для справедливых вычислений (позиции самолётов), на 80мс назад по времени с момента получения пакета (180мс), сделать вычисления, и послать клиенту ответ. Клиент же уже всё симулировал (выстрел), но реально попал или нет, узнал только от сервера на 300мс. Почему не 260? Потому что сервер посылает пакеты обновлений каждые 100мс. И лишь потом мы можем увидеть изменения в ХП у противника, и возможно эффекты взрывов (если уже не симулировал).
Отклик будет 200мс хоть и задержка у клиента 80мс.
Хитрости которые можно тут применить, это полёт пули на клиенте, как раз не мгновенный, когда сервер же вычисляет всё сразу (лучи), тем самым можно клиенту дать инфу о поподаниях, даже до того как у клиента пуля долетит до противника. Следственно с такой хитростью, упрощается логика на сервере, и не чувствуется лага.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
30.06.2012, 17:55
|
#54
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Black Bird
Ок я понял. Спасибо.
Рассихра происходит из-за отсутствия алгоритма, который будет считать следующее положение тела еще до прихода пакета. Особенно на высоких скоростях.
И да, еще раз подумал насчет подсчетов попаданий. У меня сделано не правильно, мягко говоря.
Суть в том, что текущая система зависима от фпс клиента. Полный п*.
Новая система будет примерно такая, основанная на таймере.
У пушки будет радиус действия, т.е. скорость * время на жизнь в секундах.
До цели будет посчитан радиус, если он в зоне поражения, и игрок стреляет то проверяем как стоит на клиенте прицел.
Если прицел будет стоять в положении на опережении, а цель прибудет в будущую позицию вместе с пулей через дистанцию / скорость времени то засчитываем попадание. Отсюда следуюет, что все эти трейсеры и ракеты будут просто тупо выступать в качестве эффекта) Как-то так.
- Убрал эту стремную физику и теперь самолет игрока не трясется.
- Добавил всякие эффекты на форсаже, двигатели меняют цвет горения зависимости от скорости.
- Ленс флеер, возможность обставить сцену статическими объектами.
- Шлейфы vblur
- Теперь есть конекшен таймуат, если сервер не доступен переходит в офлайновы режим, пишет ошибку.
- Озвучка, радио переговоры в самолете.
- Q/E - бочка
- Чем сильнее наклон самолета, тем выше звук "искажения воздуха" ala Battletfield 3
Пока вот пилю, сломались максы, переустановка не помогает..тупо провисы на загрузке. Хз как теперь экспортить.
Последний раз редактировалось EvilChaotic, 30.06.2012 в 23:29.
|
(Offline)
|
|
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
|
|
30.06.2012, 21:39
|
#55
|
Знающий
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений (для 82 пользователей)
|
Ответ: Black Bird
Шикарно
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.07.2012, 13:04
|
#56
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Black Bird
Последний раз редактировалось EvilChaotic, 01.07.2012 в 20:39.
|
(Offline)
|
|
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:36.
|