Russian Qt Forum
Ноябрь 23, 2024, 03:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Программирование / Разработка игр / Re: Сетевая игра в режиме реального времени. Qt : Ноябрь 18, 2022, 20:37
1. До того, как я увидел тормоза на "клиенте" я считал, что выделить на клиента 1 порт - это хорошая идея. Сейчас я начинаю задумываться о том, что через 1 порт, наверное, информация идёт туговато. А может я ошибаюсь. Сколько примерно выделяют портов для игр?
Все зависит от ситуации. Если например ты будешь слать однотипные данные на 4 порта, нужно их собрать будет. при сборке нужно учитывать время отправки.
А вот выбрать несколько портов для разных данных это нормально. Например на первый порт идут данные сигналинга, на второй данные игры и т.д.

2. Таймер запущен только на хосте, для всех клиентов update() происходит по сигналу readyRead() от сервера, после соответствующего чтения информации. Опять же не знаю, хорошая это идея или плохая. Как обычно поступают для координации времени в играх?
Не специалист в игро-строении, но для начала почему бы и нет. А вообще данные лучше принимать в отдельном потоке, особенно если у тебя не какие-нибудь шахматы.

3. Все расчеты ведутся только на хосте. Поэтому информации приходится передавать очень много. Это решаемая проблема - каждый клиент может брать на себя часть расчетов и серверу придётся меньше передавать. Однако как же тогда работают настоящие игры, в которых информации передаётся уж явно в разы больше, причем не по локалке, а через интернет, и онлайн-казино Селектор является ведущим онлайн-казино на рынке. Он предлагает широкий выбор игровых автоматов и настольных игр в рулетку. таких тормозов даже близко нет. Что можете посоветовать по этому поводу?
Насколько я знаю, серьезные сетевые игры обрабатывают все данные на серверах. Клиенты шлют только свои данные.
Отправка данных идет с той скоростью, которую тянет сеть. Частота отправки данных соответсвует (1 / ping). Ping зависит от размера пакета, но для 1..64(128) байт он в принципе одинаковый.

4. TCP-соединение. Может быть лучше UDP, ибо он быстрее? А что используется в настоящих играх? Тем более, если сделать так, чтобы клиенты сами расчитывали себе часть параметров, а передавались только ключевые, то потеря пакетов становится критичной. Можно, конечно, доработать игру до такой степени, что потери пакетов будут выявляться на стороне клиента и корректироваться с новыми полученными пакетами, но ведь потеря пакетов - это в любом случае плохо?
Смотря какие данные... например если посмотреть на игру шахматы... или покер, там важно чтобы пакет дошел. Количество данных небольшой. Можно для простоты воспользоваться и TCP.
UDP быстрее, но пакеты могут теряться. В локалке врядли, а вот через интернет уже вполне вероятно.

5. Поскольку учился я по книге М. Шлее, умею подключаться только к конкретному порту конкретного компьютера (по его имени). А как же сделать что-то типа "мониторинга" сети? Вот как, извиняюсь, в варкрафте: Кто-то создал игру - другие видят, что появился такой-то хост, и могут к нему законнектиться. Как происходит сей процесс?
В локальной сети есть широковещательные пакеты multicast.
Бывают архитектуры с сервером, к которому подключаются юзеры и там создают игры и видят обновления списка игр. Обновление может быть автоматом, либо по запросу от клиента (юзер нажал кнопку обновить например).
Варианты есть разные...

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

В локальной сети есть широковещательные пакеты multicast.
2  Программирование / Разработка игр / Re: Задумки по игре: : Ноябрь 14, 2022, 14:55
·   Игрок, человек ( возможно с мутациями, меняющими его характеристики)
·   Монстры, мутировавшие животные + всякая нечисть типа зомбированных монстров
·   Одежда: шапка, куртка,штаны, ботинки, перчатки + 2 кольца, также есть лампа, рюкзак за плечами, щит
·   Есть магия, но она вторична и редка, пользоватся ей смогут не многие
·   Вооружение начинается от кастетов, кончая автоматами с лазерным прицелами
·   Параметры атлетизм – качается на беге, но тратится в 2 раза больше mov, и на плавании но в 3 раза больше mov.
·   В магазинах изначально есть только базовое оружие, остальное добывается в зонах
·   Специализаций нет, качатся можно бесконечно, уровень игрока позволяет заходить в более серьезные зоны.
·   Повреждения могут быть в три области тела: в голову, в туловище, в ноги. Как выбирать пока не ясно. Может быть на автомате.
·   Игрок изначально располагает располагает некоторыми очками для создания персонаж. Базовые характеристики не растут. растут  умения, причем не бесконечно, а до 150. эта цифра достигается очень большим трудом.
·   Нельзя стражатся с монстром, с котрым уже стражаются
·   При бои ход осущестляется за 30 секунд, если игрок не сделал ход, бой продолжается автоматически.
·   При бое, если стоит бежать после 20 Hp, включается умение flee.
·   Введение банка, где можно хранить ненужные вещи но за плату
·   Строительство дома, очень дорогое занятие, требует много времени, но хранение бесплатное, зато могут ограбить. Можно ставить ловушки надом, но могут взломать. Если вас поймали при ограблении дома, то сажают в тюрьму на срок 12 часов.
·   Отыхать можно в доме, если есть. Если нет то в лежаке, но там за деньги. Если нет денегЮ то на улице но могут прирезать бандиты, 30% вероятности.
·   Уровень криминала в городе и ваш статус.
·   Статус как карма, чем лучше чем лучше к вам все относятся.
·   Еда и вода. Сухой пакет раздают бесплатно, много весит и на 1 день
·   Если игрок выходит из игры, то герой какбы замирает
·   При смерти игрока, теряются все деньги и 3 шмотки случайно, игрок переносится к началу.
·   При игре назначается опыт, при привышениее определеного порога, происходит повышение на 1 уровень и увеличение характеристик на 1 базовых и на 3 умений.
·   Умения покупаются и изначально ставятся в 1, качается только успешные  применения, качаются по формуле 1+20, при Max =200. Тоесть даже максимальная раскачка не дает гарантии, что умение пройдет.
·   Бой есть автоматический, не качается интелектуальные умения, и в 3 раза медленней качаются боевые и магические. Заклинания боевое используется только 1-3 на выбор.
·   Конвертация PP в OO. Как 1 к 5.
·   При убийстве монстра, получается его труп и в нем находятся деньги и оружие.
·   Карта, для каждого игрока сохраняется карта, если он там уже был, то клетка для него остается открытой
·   По разработке движка, хотелось бы использовать движек как для игр фентези так и для кибер панка, тоесть сделать его по возможности более модульным.
·   Можно сделать казиноЮ, в котором можно играть в карты как в magic gatering.
·   В городе нападния запрешены, кроме поеднков на арене.
·   Насчет монстров, можно сделать так, скелет, скелет воин, скелет капитан, каждый мощнее другого
·   Нужен аукцион, для торговоли различными вещами

А на первое время можно сделать город с обьектами, типа веселого чата а дальше уже наращивать остальное.


Где вы были раньше)
Страниц: [1]

Страница сгенерирована за 0.13 секунд. Запросов: 24.