1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
|
|
1 | |
Организация сетевого шутера07.04.2016, 05:41. Просмотров 624. Ответов 17
Метки нет Все метки)
(
Всем привет!
Вопрос возник следующий: как грамотнее реализовать перемещение и стрельбу игроков на сервере? Есть идея сделать это передачей координат и направления, но уже предвижу множество проблем. Заранее спасибо! ![]()
0
|
|
07.04.2016, 05:41 | |
Организация сетевого приложения на Java Организация прямого сетевого взаимодействия между устройствами Организация сетевого приложения, в основе которого БД MS SQL Организация сетевого хранилища с возможностью работать с ним из Проводника |
|
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
|
|
11.04.2016, 03:54 [ТС] | 3 |
krapotkin, не понимаю, если подсказать было нечего, зачем оставлять подобный ответ?
0
|
11.04.2016, 09:13 | 4 |
а что тут подсказывать?
нужно организовать связь через сокеты на сервер, по ним будут передаваться координаты и все остальное сервер определяет группы игроков и всей группе как можно чаще пересылает координаты и статус остальных членов группы
0
|
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
|
|
11.04.2016, 09:19 [ТС] | 5 |
krapotkin, дело не в самой передаче снимков или событий, а в том, как минимизировать проблемы задержек. Если ограничиться простой передачей координат и направления, то в конечном итоге игроки будут бегать дёрганно и упираться в стены. Вопрос в том, как эффективнее реализовать обработку этой инфы клиентами, и как вообще лучше говорить о состоянии игроков. Возможно переача позиции и направления не самая лучшая идея.
0
|
11.04.2016, 09:29 | 6 |
так вот об этом и надо было спрашивать?
формально нет никакой возможности повлиять на этот процесс. Пока не пришла новая команда, игрок выполняет предыдущее действие, в предыдущем направлении А почему игроки будут бегать дерганно и упираться в стены? Какая задержка будет достаточной для игры? Думаю, тут только эксперимент даст ответ
0
|
53 / 23 / 5
Регистрация: 21.02.2016
Сообщений: 234
|
|
11.04.2016, 09:47 | 7 |
у меня вопрос первый,- а есть ли ваще игра написанная? и для начала надо знать как передавать переменные онлайн между программами .ехе
Я вот не знаю,и создал тему,чтобы сделали управление кубом по интернету ,Задание куб онлайн у вас разговор парадоксальный,может игры еще нет,а человек уже думает о сервере ) скриншот покажи че там за игра
0
|
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
|
|
11.04.2016, 10:42 [ТС] | 8 |
Detektor, у меня подход следующий: сначала я продумываю проект на бумаге. Затем я его создаю. При таком подходе у меня на этапе реализации меньше головной боли, и меньше проблем в будущем. У меня многое предусмотрено заранее.
И именно сейчас было бы еще более глупее сначала писать игру, а затем бегать по форумам с вопросами о том, что планировалось сделать изначально. UPD: у меня уже есть мультиплеерные проекты. Но здесь конкретный реалтайм. Поэтому подход к реализации нужен жесткий.
0
|
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
|
|
11.04.2016, 10:54 | 9 |
Если хочешь избежать читерства то подход должен быть немного другой - на сервер передаются клавиши и координаты (или смещения) мыши. А вот уже с сервера клиентам раздаются их координаты и направления, а так же направления и остальные параметры пуль в момент старта. Определение попадания пули тоже на сервере. А просчет траектории как на сервере, для определения попадания, так и на клиенте при необходимости отрисовки трассера, чтобы весь набор координат траектории не гонять туда-сюда для всех пуль.
0
|
2 / 2 / 0
Регистрация: 18.02.2016
Сообщений: 9
|
|
11.04.2016, 15:07 | 10 |
Слишком большая нагрузка на сервер тогда получается. В кратце, можно поступить так:
За определённое время серверу и с сервера всем кидать "кадры ключи" по TCP: это позиция и направление игрока, а так же какое-то состояние (например, игрок сидит, лежит или какое либо ещё), но состояние стрельбы здесь лучше не передовать — этот ключ наверняка устарел, и нужен для подгонки, если пинг очень низкий. По UDP передавать чаще надо такие ключи. Тем не менее, нужны также пакеты с изменением любого состояния: игрок начал движение — сообщи об этом остальным, чтобы началась анимация движения, а потом как можно чаще передавай пакеты позиций. Игрок начал стрелять — сообщи остальным, как можно чаще передавая пакеты направления. И так далее. И главное, обязательно в пакеты нужно оставлять временные метки, чтобы не применять старые пакеты. На самом деле, можно заглушить читерство простой проверкой скорости передвижений игрока и тому подобным, но вот, чтобы сервер вычеслял всё... Это уже слишком. Можно также делать разные проверки и на клиенте.
0
|
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
|
|
11.04.2016, 15:23 | 11 |
Зато читы устранены, да и серверу все равно всю модель физики, игровой логики и ИИ мобов считать. Кстати по снифу протоколов движков свежих MMORG все так и пашет. туда клавиши при нажатии/отпускании оттуда координаты/состояния перса при изменении. По мобам даются начальные координаты/состояния, а потом они считаются на каждом клиенте. Какое либо изменение состояния мобов типа попал в него и он помер тоже с сервера присылается.
А иначе будут под землей прятаться и с Макарыча стрелять с точностью СВД и скорострельностью Вулкана термоядерными боеприпасами.
0
|
2 / 2 / 0
Регистрация: 18.02.2016
Сообщений: 9
|
|
11.04.2016, 15:30 | 12 |
Так идёт просчёт в мморпг, а не в шутерах. Более того, чтобы снизить нагрузку, клавиши туда точно не отправляется. Ты просто представь, сколько всего серверу надо будет обрабатывать? Сервер в принципе не должен этим заниматься в шутерах. Единственное, что ему нужно делать — передавать геймплейные ключи, проверять и пересылать ключи игроков. Этого вполне достаточно. А то похоже у кого-то сильная ненависть к читерам, и хочется сделать сервер без возможности читерства вообще. Но, как уже я говорил, это слишком большая цена.
0
|
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
|
|
11.04.2016, 15:42 | 13 |
То же самое в картошке (варгаминовских игрухах). при этом даже траектории чужих снарядлрв оттуда. Проверял. при отвале связи остаются только свои траектории и корабль неподвижен.
Централизованно обрабатывать модель гораздо удобнее. При этом в ценах на электронику есть такой ньюанс что стоимость 100 вычислительных модулей Keppler купленных одним заказом равна стоимости 10 Keppler купленных по одному. Вообще насколько знаю уже ведутся разработки облачных игровых клиентов. Т.е. отрисовка на сервере, с клиента только клавиши, а ему стрим видео. Добавлено через 5 минут MMORG это тоже шутер, только не на 32 человека на локации, а на 32 тысячи как минимум + более развитая система итемов
0
|
2 / 2 / 0
Регистрация: 18.02.2016
Сообщений: 9
|
|
11.04.2016, 15:48 | 14 |
ММОРПГ — шутер?.. Кхм. Где ты такую информацию нашёл? Да, бывают MMOFPS, но чтобы так...
В общем, автору: Расчитывай схему на такой основе: Мощность, скорость, максимальный траффик сервера; минимальная скорость, пинг, мощность клиента. В зависимости от этих параметров и нужно подгонять определённую схему.
0
|
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
|
|
11.04.2016, 16:01 [ТС] | 15 |
GrWolf, Я тебя понял) В принципе схожая идея:
Собираем состояние всех данных клиентов, и делаем так сказать снимок изменений для играющих, или полный снимок для только зашедших. Сюда входят Позиции игроков и тд. Это делать можно раз в какой то промежуток времени. А вот выстрелы к примеру сделать событиями. При выстреле сервер не ждет лепки снимка, а сразу раскидывает всем сообщение о том, что игрок выстрелил. Отсюда есть один нюанс, который пока больше всего меня волнует. Сделать показ собственных выстрелов как в баттле, или как в квейке? В первом случае игрок видит просто как стреляет он, а во втором случае он не видит собственного выстрела сразу, а только тогда, когда он придет с сервера. Хотя второй вариант мне меньше нравится.
0
|
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
|
|
11.04.2016, 16:03 | 16 |
По сюжету не сосем шутер, или в малой доли шутер, а по технической стороне вопроса шутер + еще много чего
0
|
2 / 2 / 0
Регистрация: 18.02.2016
Сообщений: 9
|
|
11.04.2016, 16:05 | 17 |
Обычно идёт звук и анимация выстрела сразу, не зависимо, пришёл ли ответ с сервера. А вот эффекты и далее — только после ответа.
Добавлено через 2 минуты Fulcrum_013, как раз таки нет. Есть разновидности и того и другого, которые могут быть похожи. Но в целом шутеры и мморпг сильно отличаются как технически, так и по геймплею.
0
|
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
|
|
11.04.2016, 16:41 | 18 |
Естественно. Потому как ММОРГ технически это шутер очень большого масштаба, плюс еще куча всего чего в шутере нет. И если в таких масштабах нагрузка на сервер позволяет всю физику на сервере считать, то в меньших, с резко ограниченным числом клиентов в игровой комнате, и подавно. Опять же, шутеры с движками 5-летней давности (Worlds Of ... к примеру) всю модель считают на сервере. С клиента только приходят клавиши.
0
|
11.04.2016, 16:41 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Выходит обновление для шутера Quake 4 Возможно ли написать wallhack для шутера? Глобальный онлайн эксперимент - создание супер 3D шутера ! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |