Комментарии 5
Что скажите про RedDwarf (http://www.reddwarfserver.org/), в прошлом Project Darkstar?
На RedDwarf ничего не делал поэтому сказать что-то определенного не могу. Если у вас есть его структура — пришлите обсудим. На сайте написано что от него отказался Оракл. А от перспективных проектов врядли отказываются.
>Мы долго искали оптимальную структуру логики и разработали свою модель, которую назвали «Изолированный расчёт игровых объектов». Данная модель позволяет избежать логических коллизий и максимально упростить расчёт логики для одного объекта. Используя, в полной мере асинхронное программирование и отложеные процедуры.
Видимо поэтому вам нужно аж 10машин на 10к игроков :)
Для симуляции игрового мира возьмём где-нибудь 60ворлд тиков в секунду, это 16мс на 1тик — целых 16мс!
Игровая логика ммошки отлично параллелится. Делайте какой-нибудь dsl, в котором описываете декларативным язычком всю игровую логику и на выходе получаете dac граф, по которому потом бегаете тред-пулом/cuda/opencl/итд.
что-то вроде:
move_mobiles
send_priv_msg
send_msg: depends(move_mobiles)
check_los: depends(move_mobiles)
apply_damage: depends(check_los)
Когда не можем продвинуться по графу и есть свободные треды, кидаем их на работу с сетью итп. В итоге 10к онлайна отлично себя чувствуют на одной машинке.
Видимо поэтому вам нужно аж 10машин на 10к игроков :)
Для симуляции игрового мира возьмём где-нибудь 60ворлд тиков в секунду, это 16мс на 1тик — целых 16мс!
Игровая логика ммошки отлично параллелится. Делайте какой-нибудь dsl, в котором описываете декларативным язычком всю игровую логику и на выходе получаете dac граф, по которому потом бегаете тред-пулом/cuda/opencl/итд.
что-то вроде:
move_mobiles
send_priv_msg
send_msg: depends(move_mobiles)
check_los: depends(move_mobiles)
apply_damage: depends(check_los)
Когда не можем продвинуться по графу и есть свободные треды, кидаем их на работу с сетью итп. В итоге 10к онлайна отлично себя чувствуют на одной машинке.
Ну если у вас 10К игроков подключены и обсчитываются на 1 машине — то вы просто гений. Если конечно это не пошаговая стратегия а нормальный реалтайм :)
На бигворде для расчета 15К онлайн используют пул в 30 машин.
Попробуйте настроить машину просто как роутер (перекачка трафика) без разницы Линукс или Виндовс и посмотрите сколько у вас ЦПУ займет когда подключатся 10К юзеров.
На бигворде для расчета 15К онлайн используют пул в 30 машин.
Попробуйте настроить машину просто как роутер (перекачка трафика) без разницы Линукс или Виндовс и посмотрите сколько у вас ЦПУ займет когда подключатся 10К юзеров.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Распределённое серверное решение для ММО проектов (результаты тестирования транспортной части)