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

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

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

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 04.03.2012, 18:31   #46
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Black Bird

В общем тестировал сегодня со всеми, очень понравилось, прикольно, но не хватает очень много на стороне клиента плюшек.

Например система стрельбы ракетами, прикольная, т.к. ракеты контролируются мышкой, но при этом это сбивает прицел для туррели. Но это имхо ок.
А вот то что не чувствуется дистанция ракет и других персонажей - это имхо важно.
Для этого есть имхо две идеи как можно это улучшить:
1. Ракеты должны подсвечиваться аугментной реальностью, и иметь данные о дистанции.
2. Радар. На деле это нужно 3д радар, с плоскостью и вертикальными линиями для улучшения ориентации в пространстве и понимании где кто находится. Ракеты тоже должны находиться на этом радаре. Желательно и патроны туреллей.
Конечно такой элемент в интерфейсе весьма тяжёлый, и требует очень много усилий для реализации.

Плюс, ну тут не прими как недостаток - у тебя опыта работы с сетью не так и много, плюс объём работы большой. Но нужна синхронизация и предсказания (экстраполяция), а не интерполяция. Иначе картинки у игроков сильно отличаются..


В такую игру хочется иметь наводную базу с туреллями, которую будут игроки атаковать, точнее две базы (две команды).
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
EvilChaotic (04.03.2012), Randomize (05.03.2012)
Старый 10.06.2012, 16:57   #47
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Black Bird

Появилась возможность играть без хамачи.
Ну как, прошлые версии понравились по игре? Стоит - ли развивать тему?
Скорее всего это последнее, во что я вложусь на ксорсе.

Планируется гаражик, что-то вроде World of tanks, можно будет настроить свой самолет , купить новый и тп. Ну и по игре самой - режим с базами, как Мока предложил.

Что скажите?
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
Harter (11.06.2012), Igor (11.06.2012), is.SarCasm (12.06.2012), moka (10.06.2012), Randomize (11.06.2012), RBK (10.06.2012), St_AnGer (10.06.2012)
Старый 10.06.2012, 17:21   #48
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (28.06.2012)
Старый 11.06.2012, 16:26   #49
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений
(для 2,520 пользователей)
Ответ: Black Bird

Продолжай, если хочется.
Мне понравилось как мы полетали в прошлый раз)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (28.06.2012)
Старый 28.06.2012, 18:56   #50
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Black Bird

Работа продолжается.
Поработал в сабере, получил опыта, открыл блек бирд. Сразу кучу всего пределал) Графика снова будет переработана. Прикрутил оптимизации, поднял около 30ти фпс, это хватит, чтобы обустроить игровую сцену. Убрал лишнее из худа, переделал работу с камерой.
на карте предположительно будет ночной каньон.

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

Пока идеи такие:
1) Добавить на Q/E какие-нибудь финты с уворотами от ракет
2) Можно сделать какие-нибудь абилити для игроков на кнопку X. Например сброс ИК ловушек, починка и тп.
3) Ангар, где можно настроить самолет и купить новый, также с оружием для него.
4) Добавить небольшую РПГ систему. За сбитого игрока будет начисляться опыт, за опыт начисляется уровень, уровень может давать доступ к новым самолетам и оружиям, абилитям. Сразу возникает вопрос как потом отделять нубов от высокоуровневых игроков.
5) Можно попробовать воткнуть на мой сайт статистику.
6) Есть идея летать не только на самолетах. Хочется какие-нибудь штуки с множеством турелей что-ле. Или открыть классы самолетов, сделать перехватчиков, истребителей, что-то в таком духе. Отсюда можно будет делить абилки.
7) Ракеты поделить на:
  • а) Не управляемые, большие повреждения и высокая скорострельность.
  • б) Ручное управление мышкой, средние повреждения
  • с) С наведением на таргет автоматически с использованием центрального круга(захват цели будет происходит в центре экрана, во время захвата нужно держать цель именно в круге).
8 ) Написать восьмой пункт просто для вида.
9) Убрать физику баллет.
__________________

EvilChaotic About

Последний раз редактировалось EvilChaotic, 28.06.2012 в 20:37.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
LLI.T.A.L.K.E.R. (28.06.2012), St_AnGer (28.06.2012)
Старый 28.06.2012, 20:22   #51
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Black Bird

Переделать сетевую часть, с нормальной и честной синхронизацией с экстраполяцией (а то из-за задержки, стреляя и попадая - не попадает).
(Offline)
 
Ответить с цитированием
Старый 28.06.2012, 20:37   #52
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Black Bird

Сообщение от MoKa Посмотреть сообщение
Переделать сетевую часть, с нормальной и честной синхронизацией с экстраполяцией (а то из-за задержки, стреляя и попадая - не попадает).
Сетевую часть можно передать. Только мне нужны все тонкости правильной реализации. Физику баллет я скоро отключу.

Знач так, идея такая.
На клиенте будут отслеживаться нажатые клавиши, кнопки посылаются на сервер, сервер их обсчитывает и посылает посчитанные пакеты клиентам. Полученные пакеты клиент будет приводить в действие на экране игрока, движение самолетов будет немного сплайниться.
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (28.06.2012)
Старый 29.06.2012, 03:38   #53
moka
.
 
Регистрация: 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 за это полезное сообщение:
4yBa4Ok (30.06.2012), EvilChaotic (30.06.2012), LLI.T.A.L.K.E.R. (29.06.2012), St_AnGer (30.06.2012)
Старый 30.06.2012, 17:55   #54
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Black Bird

Ок я понял. Спасибо.
Рассихра происходит из-за отсутствия алгоритма, который будет считать следующее положение тела еще до прихода пакета. Особенно на высоких скоростях.

И да, еще раз подумал насчет подсчетов попаданий. У меня сделано не правильно, мягко говоря.
Суть в том, что текущая система зависима от фпс клиента. Полный п*.

Новая система будет примерно такая, основанная на таймере.
У пушки будет радиус действия, т.е. скорость * время на жизнь в секундах.
До цели будет посчитан радиус, если он в зоне поражения, и игрок стреляет то проверяем как стоит на клиенте прицел.
Если прицел будет стоять в положении на опережении, а цель прибудет в будущую позицию вместе с пулей через дистанцию / скорость времени то засчитываем попадание. Отсюда следуюет, что все эти трейсеры и ракеты будут просто тупо выступать в качестве эффекта) Как-то так.
  • Убрал эту стремную физику и теперь самолет игрока не трясется.
  • Добавил всякие эффекты на форсаже, двигатели меняют цвет горения зависимости от скорости.
  • Ленс флеер, возможность обставить сцену статическими объектами.
  • Шлейфы vblur
  • Теперь есть конекшен таймуат, если сервер не доступен переходит в офлайновы режим, пишет ошибку.
  • Озвучка, радио переговоры в самолете.
  • Q/E - бочка
  • Чем сильнее наклон самолета, тем выше звук "искажения воздуха" ala Battletfield 3


Пока вот пилю, сломались максы, переустановка не помогает..тупо провисы на загрузке. Хз как теперь экспортить.
__________________

EvilChaotic About

Последний раз редактировалось EvilChaotic, 30.06.2012 в 23:29.
(Offline)
 
Ответить с цитированием
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
4yBa4Ok (01.07.2012), ARA (01.07.2012), FREE MAN (06.07.2012), HolyDel (30.06.2012), Mhyhr (01.07.2012), Randomize (30.06.2012), St_AnGer (01.07.2012)
Старый 30.06.2012, 21:39   #55
4yBa4Ok
Знающий
 
Аватар для 4yBa4Ok
 
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений
(для 82 пользователей)
Ответ: Black Bird

Шикарно
__________________





(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (01.07.2012)
Старый 01.07.2012, 13:04   #56
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Black Bird



Игра не работает.
Зае***л этот ксорс. Эти скрины последнее, что я сделал на нем.
__________________

EvilChaotic About

Последний раз редактировалось EvilChaotic, 01.07.2012 в 20:39.
(Offline)
 
Ответить с цитированием
Эти 7 пользователя(ей) сказали Спасибо EvilChaotic за это полезное сообщение:
4yBa4Ok (02.07.2012), ARA (02.07.2012), FREE MAN (01.07.2012), L.D.M.T. (01.07.2012), mauNgerS (01.07.2012), Randomize (01.07.2012), St_AnGer (01.07.2012)
Ответ


Опции темы

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

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


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


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