Понедельник, 11 Ноября 2024, 03:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
kr0n4ikДата: Вторник, 25 Декабря 2018, 21:58 | Сообщение # 1 | Тема: Сервер для MMORPG
был не раз
Сейчас нет на сайте
Я считаю понятие о одновременном у вас размыто. Если взять скажем cs то там поток данных одновременный и можно сказать что количество пользователей сильно влияет на нагрузку. Тут всё иначе, если считать, как вы предлагаете, то 5000 пользователей должны одновременно(очень важно слово) скажем начать двигаться из одной точки в одну общую точку. Если это условие не выполняется то нагрузку так считать нельзя. И опять же это будет пиковая нагрузка, а не средняя
kr0n4ikДата: Вторник, 20 Ноября 2018, 14:46 | Сообщение # 2 | Тема: Сервер для MMORPG
был не раз
Сейчас нет на сайте
Цитата avkvl ()
Даже не понятно откуда такая уверенность. Как 1000 кроликов могут сигнализировать о том, что 100+ человек (которые асинхронно бегают, совершают действия, имеют разного качества интернет и латенси) смогут комфортно играть? Или имеется ввиду что 100+ человек бегают вдали друг от друга и никак не контактируют?

Игрок это дочерний юнит (в нашем случае кролик). И все действия кроликов это действия игрока минус одна команда на отправку данных.
Цитата drcrack ()
надо 10000 кроликов чтобы примерно оценить нагрузку на сеть от 100 человек в одном месте (т.к. каждому из 100 надо послать инфу обо всех остальных)
Но при одном условии, что 100 игроков в одно и тоже время начнут выполнять одно и то же действие (можно сказать что любое действие, но при этом размер пакетов будет разный). И тогда это не примерная (средняя), а пиковая нагрузка. И что то мне слабо верится что 100 игроков будет одновременно что то делать.
Ну ок создал 18000 сокетов, время задержки 2-3мс. Из ваших рассуждений получаем 140 клиентов держит спокойно или 100+.
Кому интересно:
-добавил движение игрокам
-добавил модельки
kr0n4ikДата: Воскресенье, 18 Ноября 2018, 22:23 | Сообщение # 3 | Тема: Сервер для MMORPG
был не раз
Сейчас нет на сайте
С горем пополам дошел до заполнения мира. Решил протестировать задержку на 1000 кроликов. Работает без проблем. Ну правда не все функции обработки написаны и время обработки физических данных возрастет, но можно точно сказать что 100+ человек потянет. вот ссылка github
kr0n4ikДата: Суббота, 17 Ноября 2018, 00:18 | Сообщение # 4 | Тема: Сервер для MMORPG
был не раз
Сейчас нет на сайте
Первые наброски

как разгребу немного выложу на гитхаб
kr0n4ikДата: Воскресенье, 21 Октября 2018, 20:59 | Сообщение # 5 | Тема: Сервер для MMORPG
был не раз
Сейчас нет на сайте
Пришла в голову идея создания сервер для mmorpg. Но писать код хочу на js. Вообще идея в том посмотреть будет он быстрее скажем таких же серверов на c++ или с. В интернете полно споров про такие вещи и вроде js набирает плюсы в плане производительности и меньшего потребления ресурсов. Вообще интересно начальное мнение по этому вопросу.
Как в пример наверное возьму сервер для wow или rose. Для полдней есть даже клиент на js клиент. Бред или выстрелит, как считаете?
kr0n4ikДата: Воскресенье, 05 Августа 2018, 21:06 | Сообщение # 6 | Тема: Конвертирование неизвестного файла с 3d моделью
был не раз
Сейчас нет на сайте
Вопрос по сложности на 5+
Есть файл, в котором есть 3d объект, надо вытащить его из файла
файл
Чего я добился
по адресам 0x1640-0x11428, 0x12f90-0x15a87 лежат vertices
что к примеру лежит по адресу 0x11428-0x116e1
kr0n4ikДата: Четверг, 19 Октября 2017, 16:02 | Сообщение # 7 | Тема: MMORPG на three.js
был не раз
Сейчас нет на сайте
Цитата JackNazaryan ()
Привет!

Посмотрел код. Очень даже неплохо! Мы для RAPTOR хотели такое же делать, но звёзды не сошлись. Коль не своровал - молодец.

Полностью моя задумка, единственное что своровал это модельки из WoW т.к. не умею рисовать. По мере возможности буду пополнять функционал.

Обновление на сегодня
-Выбор персонажа по клику мышки
-Вывод текста над головой персонажа
kr0n4ikДата: Среда, 18 Октября 2017, 18:57 | Сообщение # 8 | Тема: MMORPG на three.js
был не раз
Сейчас нет на сайте
Прошу прощения.
для работы необходим node.js
На данный момент:
-сервер + клиент игры, количество пользователей не ограничено
-Анимации персонажей (персонажи в формате mdl)
-Движение персонажей по полю
-Загрузка npc (у npc нет ai)

Запуск игры (сервера и клиента). Скачиваем и распаковываем в папку nodejs. После запускаем node game/server.js. Возможно при скачивании папка будет называться game-master нужно переименовать как game.
kr0n4ikДата: Среда, 18 Октября 2017, 15:51 | Сообщение # 9 | Тема: MMORPG на three.js
был не раз
Сейчас нет на сайте
https://github.com/kr0n4ik/game
kr0n4ikДата: Вторник, 26 Сентября 2017, 22:03 | Сообщение # 10 | Тема: алгоритм обхода препятсвий
был не раз
Сейчас нет на сайте
ну может подскажите готовую библиотеку или алгоритм
kr0n4ikДата: Понедельник, 25 Сентября 2017, 22:09 | Сообщение # 11 | Тема: алгоритм обхода препятсвий
был не раз
Сейчас нет на сайте
Вообще даже не знал, что такие активные пользователи. Очень удивлен.
Смысл такой пишу клиент на js (three.js).
Задумка, есть мир где там объекты (дом, деревья) я их обернул в кубы и персонаж это куб. При столкновении использовал AABB модель, но в место огибания по черной линии, объект прилипает к грани и движется по красной линии
Код

if (
    (
    (this.root.position.x < obj.position.x + 200) &&
    (this.root.position.x > obj.position.x - 200) &&
    (this.root.position.z < obj.position.z + 200) &&
    (this.root.position.z > obj.position.z - 200) )
     ) {
     if (this.root.position.x < obj.position.x + 198 && this.root.position.x > obj.position.x + 180) {
      this.root.position.z += Math.cos(this.root.rotation.y) * 800 * delta;
     }
     if (this.root.position.z > obj.position.z - 198 && this.root.position.z < obj.position.z - 180) {
      this.root.position.x += Math.sin(this.root.rotation.y) * 800 * delta;
     }
     if (this.root.position.x > obj.position.x - 198 && this.root.position.x < obj.position.x - 180) {
      this.root.position.z += Math.cos(this.root.rotation.y) * 800 * delta;
     }
     if (this.root.position.z < obj.position.z + 198 && this.root.position.z > obj.position.z + 180) {
      this.root.position.x += Math.sin(this.root.rotation.y) * 800 * delta;
     }
    } else {
     this.root.position.x += Math.sin(this.root.rotation.y) * 800 * delta;
     this.root.position.z += Math.cos(this.root.rotation.y) * 800 * delta;
    }

Залил на ucoz
My WebPage


Сообщение отредактировал kr0n4ik - Понедельник, 25 Сентября 2017, 22:50
kr0n4ikДата: Воскресенье, 24 Сентября 2017, 21:37 | Сообщение # 12 | Тема: алгоритм обхода препятсвий
был не раз
Сейчас нет на сайте
вообщем загорелся идей написать рпг с сервером. возникла проблема. как обходить препятствия.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг