forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Сетевые игры (http://forum.boolean.name/showthread.php?t=18463)

ABTOMAT 14.08.2013 18:46

Сетевые игры
 
В-общем пока что хочу сделать просто перемещение (WASD) кубиков-игроков по сети и в перспективе стрельбу шариками. Почему-то мне всегда казалось, что сделать сетевое перемещение это весьма просто. Однако прочитал я вот это:
https://developer.valvesoftware.com/...g_compensation
http://www.racer.nl/tech/multiplayer.html
И был впечатлён.
Переварив в голове прочитанное плюс более ранние знания, я придумал себе такой список действий, чтоб побегать с пацанчиками:

1. Определить понятие NMO — Net Manipulated Objects. То есть то, что может изменяться по сети.
2. Определить понятие Snapshot — "снимок" состояний всех NMO в определённый момент времени.
3. Определить понятие синхронизации. Вести отсчёт по миллисекундам с начала игры (или просто по системным миллисекундам). Например номер снапшота 100 соответствует стольки-то мсек на сервере и стольки-то на клиенте.
4. Определить понятие события. Например "подключился новый игрок" и "среспаунился новый разрушаемый ящик" или "ящик был разбит к чёртовой бабушке".
5. Запилить линейную интерполяцию NMO на клиенте. Время на клиенте всегда на 100 мсек меньше чем на сервере, чтобы было что интерполировать. Например для теста запилить NMO-куб, который будет по кругу летать на сервере и чтоб он отображался на клиенте. Пока без управления со стороны игрока.
6. Запилить игроков и передачу управления на сервер.
7. Запилить предсказание на клиенте и сверку с ответом сервера.

Думаю на начальном этапе от предсказания на клиенте пока можно отказаться (лагать будет управление на 100 мс, но жить можно в принципе, а если игра не FPS, то и вовсе будет незаметно).

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

А также выслушаю ваши предложения относительно организации мультиплеера.

nil0q 15.08.2013 20:21

Ответ: Сетевые игры
 
Если не ошибаюсь, такая тема уже была
http://forum.boolean.name/showthread.php?t=17766

MadMedic 30.08.2013 19:04

Re: Сетевые игры
 
ABTOMAT, как успехи на сетевом поприще?

ABTOMAT 30.08.2013 19:56

Ответ: Сетевые игры
 
Хреновые. Пока что показывать нечего. Зря я взялся. надо было сделать пока что-нибудь сингловое (тем более новые фичи движка остались неоттестированы).

Wegox 30.08.2013 22:17

Ответ: Сетевые игры
 
Цитата:

Сообщение от ABTOMAT (Сообщение 266138)
Хреновые. Пока что показывать нечего. Зря я взялся. надо было сделать пока что-нибудь сингловое (тем более новые фичи движка остались неоттестированы).

Так говоришь будто тебя заставляют(и обратного пути нет).:4to: Не, ну понятно - горе от ума, ну так просто завязывай, да и всё:-) делай что-нибудь сингловое...
Всегда так, делаем шаг назад и пробуем решить задачу иначе, кто с тебя спрашивать то будет?;)

ABTOMATЭ тебя взяли в плен американцы? и заставили делать NMO Half Life 3?!:-)

ABTOMAT 30.08.2013 22:56

Ответ: Сетевые игры
 
Раз взялся — надо доделать.

Wegox 30.08.2013 23:17

Ответ: Сетевые игры
 
Цитата:

Сообщение от ABTOMAT (Сообщение 266164)
Раз взялся — надо доделать.

Хорошо сказал
Ну Я какбэ.. и не призывал всё бросить...


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot