Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
#1

Механизмы онлайн игр - C++

28.07.2013, 15:00. Просмотров 1218. Ответов 28
Метки нет (Все метки)

Как в онлайн играх происходит одновременое отображение действий персонажа, к примеру, на всех экранах играющих?
Игрок, к примеру, нажимает на какое-то умение, информация об этом отправляется на сервер, а сервер высылает всем игрокам строку типа "игрок:id111;действие:id10;" и все игроки обрабатывают эту строку и прорисовыва.т нужное действие, так?
если так, то как можно снизить нагрузку на сервер..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2013, 15:00     Механизмы онлайн игр
Посмотрите здесь:

Механизмы обработки исключений / Нужен пример - C++
Пишу курсовую работу на тему, аналогичную заголовку этой темы. Проблема в том, что у нас убрали пары по программированию во втором...

Есть ли механизмы наследования в C++ как в Delphi? - C++
Приветствую. Я Delphi'ст. И интересует следующий вопрос. А именно в чём различие методов классов abstract от virual в плане наследования?...

Какие механизмы для защиты кучи есть? - C++
Необходимо отключить механизмы защиты от переполнения кучи стоит windows 8.1 vs 12 -13 при необходимости готов менять операционку

Какие механизмы обеспечивают разделение интерфейса и реализации? - C++
Добрый день! Не подскажите какие механизмы обеспечивают разделение интерфейса и реализации? Чем больше – тем лучше.

Механизмы взаимодействия прикладных программ с системным календарем и таймером - C++
Пожалуйста помогите ответить на вопрос: какие могут быть механизмы взаимодействия прикладных программ с системным календарем и таймером и...

Онлайн компилятор! - C++
Народ подскажите плиз онлайн компилятор c++

Онлайн C++ компилятор - C++
Думаю что обратился по теме. Хочу обратиться к опытным пользователям, необходимо поставить на сайт онлайн C++ компилятор, что для этого...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
28.07.2013, 15:04     Механизмы онлайн игр #2
Ну в любой игре, нагрузка на сервер не слишком большая, как вы думаете. Так же дота. Для каждой новой битве, 5х5, создается новый сервер. Так что обрабатывать 10 человек не такая, уж тяжелая работа.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
28.07.2013, 16:40  [ТС]     Механизмы онлайн игр #3
если взять игровые серверы крупных оналйн игр, к примеру вов, то там сотни запросов на сервер только от одного игрока за пару секунд получается..
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
28.07.2013, 16:47     Механизмы онлайн игр #4
Цитата Сообщение от spydark91 Посмотреть сообщение
сотни запросов на сервер только от одного игрока за пару секунд получается..
Не получается. У вас игрок сотни раз в секунду на кнопки жмёт?
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
28.07.2013, 16:51     Механизмы онлайн игр #5
Цитата Сообщение от NoMasters Посмотреть сообщение
Не получается. У вас игрок сотни раз в секунду на кнопки жмёт?
а может он отправляет информацию о том, что игрок все еще онлайн (при том, что он ни чего не делает), или у него не произошел обрыв связи.
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
28.07.2013, 16:53     Механизмы онлайн игр #6
Цитата Сообщение от VLK Посмотреть сообщение
а может он отправляет информацию о том, что игрок все еще онлайн (при том, что он ни чего не делает), или у него не произошел обрыв связи.
Что, тоже сотни раз в секунду?
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
28.07.2013, 16:56     Механизмы онлайн игр #7
Цитата Сообщение от NoMasters Посмотреть сообщение
Что, тоже сотни раз в секунду?
ну это автор приврал или напутал, или это обоснованные запросы.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
28.07.2013, 16:57     Механизмы онлайн игр #8
100 раз в секунду, ну ни как не может это произойти, ну только если он выполняет какие-то действия очень быстро, и на каждое действие необходимы запрос.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
28.07.2013, 17:00     Механизмы онлайн игр #9
spydark91, есть один извращенный способ который родился в мой голове, разделить типы запросов на важные и не важные, важные (допустим потеря ХП) будут идти только через сервер, а вот не важные, допустим в том же WOW, эмоции и т.д. будут идти через других игроков, т.е. игровой клиент будет иметь еще и функции сервера.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
28.07.2013, 17:09     Механизмы онлайн игр #10
Цитата Сообщение от VLK Посмотреть сообщение
spydark91, есть один извращенный способ который родился в мой голове, разделить типы запросов на важные и не важные, важные (допустим потеря ХП) будут идти только через сервер, а вот не важные, допустим в том же WOW, эмоции и т.д. будут идти через других игроков, т.е. игровой клиент будет иметь еще и функции сервера.
А ты представь, что у игровой сервер весит пару гигов. Но ты еще и хочешь в него запихать функции сервера, а вдруг этих функций очень много? То что тогда? Не вариант.
_THE_MASTER_
Сообщений: n/a
28.07.2013, 17:16     Механизмы онлайн игр #11
В хорошей инфраструктуре на сервер отправляется только уведомления о нажатых кнопках на клавиатуре и текущее состояние мышки, сервер же уже сам решает, что с этим делать
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
28.07.2013, 21:33  [ТС]     Механизмы онлайн игр #12
к примеру игрок бежит(запросы пару раз в секунду чтоб все обновлялось бытстро), одновременно юзая заклинанию(еще запрос), магию сбили(еще запрос),хп снимают,ману снимают, еще чтонить можно придумать
около 10 запросов в секунду
VLK
28.07.2013, 21:41
  #13

Не по теме:

_THE_MASTER_, бедняга 1 сообщение и уже заблокирован.

Smiler
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 5
28.07.2013, 21:55     Механизмы онлайн игр #14
Цитата Сообщение от spydark91 Посмотреть сообщение
Как в онлайн играх происходит одновременое отображение действий персонажа, к примеру, на всех экранах играющих?
Игрок, к примеру, нажимает на какое-то умение, информация об этом отправляется на сервер, а сервер высылает всем игрокам строку типа "игрок:id111;действие:id10;" и все игроки обрабатывают эту строку и прорисовыва.т нужное действие, так?
если так, то как можно снизить нагрузку на сервер..
не ВСЕМ игрокам отправляет а только тем которые есть у него в так называемом KnownList (другими словами тем кто его видит) а таких как правило немного.

Добавлено через 2 минуты
Цитата Сообщение от spydark91 Посмотреть сообщение
к примеру игрок бежит(запросы пару раз в секунду чтоб все обновлялось бытстро), одновременно юзая заклинанию(еще запрос), магию сбили(еще запрос),хп снимают,ману снимают, еще чтонить можно придумать
около 10 запросов в секунду
зависит от игры конечно.

но судя по L2 AION WOW (то с чем сталкивался) не более 2-3 пакетов (вместе с пингом) в секунду. это не очень большая нагрузка.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
28.07.2013, 22:05  [ТС]     Механизмы онлайн игр #15
это понятно, что расслыаем мы не всему серверу, а 50-100 человекам
но разве то что мы постоянно обращаемся к серверу не сказывается пагубно на его работе?
Wolkodav
601 / 454 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
28.07.2013, 22:45     Механизмы онлайн игр #16
Тут. Почитайте, немного написано про онлайн игру типа WoW. Может поможет проясниться.

Добавлено через 35 минут
Тут, еще немножко про онлайн игра.
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
28.07.2013, 22:53     Механизмы онлайн игр #17
Цитата Сообщение от spydark91 Посмотреть сообщение
к примеру игрок бежит(запросы пару раз в секунду чтоб все обновлялось бытстро), одновременно юзая заклинанию(еще запрос), магию сбили(еще запрос),хп снимают,ману снимают, еще чтонить можно придумать
около 10 запросов в секунду
Запросов? Пакетов от сервера может быть, а от клиента нужны _только_ действия игрока. Всё остальное сервер и другие клиенты посчитают сами. Более того, даже не все действия, а только те, которые невозможно предугадать.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
29.07.2013, 09:42  [ТС]     Механизмы онлайн игр #18
Цитата Сообщение от NoMasters Посмотреть сообщение
Запросов? Пакетов
а чем различаются пакеты и запросы?
Wolkodav
601 / 454 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 09:46     Механизмы онлайн игр #19
Пакет это, что содержится в запросе) Как слова в вопросе.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 10:55     Механизмы онлайн игр
Еще ссылки по теме:

Онлайн таблица рекордов. - C++
Здраствуйте. У меня есть игра тетрис. Игра написана на Си++. Мне нужно сделать онлайн таблицу рекордов, такую таблицу где имена игроков...

симулятор онлайн-магазина - C++
пожалуйста, очень надо сдать до конца недели. программирую всего 4 месяца. и то не очень хорошо. задали такое вот задание. нужно...

Онлайн обновление курса валют - C++
Я написал программу (C++ Embarcadero RAD) конвертирования валюты и каким образом можно реализовать онлайн обновление курса ?

Двумерные массивы, экзамен, онлайн - C++
Здравствуйте! Очень нужна помощь на экзамене который состоится 26.06 в пятницу в 10:00 По Москве (9:00 по киеву). Мне понадобится помощь в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
29.07.2013, 10:55  [ТС]     Механизмы онлайн игр #20
пост запрос это пакет, так? к примеру
Yandex
Объявления
29.07.2013, 10:55     Механизмы онлайн игр
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru