Я думаю, что можно сказать да без большого количества hazzle.
один из первого сервера HTTP был статья-http
люди схемы приблизительно , DrScheme потратил замечательное количество времени на него:
www.franz.com работает на их собственном веб-сервере (AllegroServer) и webframework (webactions)
, Если Вы вызываете сомнение, проверяют пакеты языка Common LISP от Edi Weitz. Они обычно работают.
Так да можно сделать "серьезное" веб-программирование с языком Common LISP. Я с моей стороны в настоящее время не уверен для следования за некоторым маршрутом языка Common LISP или Ruby on Rails. Я предпочитаю обоих по чему-либо.NET....
Я предполагаю, что серверы будут работать на Linux, BSD или Solaris почти 99% времени.
Сервер, с которым общается ваш клиент, будет сервером, на котором запущены демоны или служба, которая простаивает и ожидает подключения. Для экземпляров (подземелий) обычно запускается новый процесс для каждой группы, что означает, что где-то есть диспетчерская служба, которая управляет этим (аналогично пулу потоков)
Используемый протокол - UDP. Это' s быстро, поскольку не дает никаких гарантий, что пакет будет получен. Вам все равно, если небольшая задержка заставит клиента потерять свое положение в мире.
У большинства MMO есть зоны, которые ограничивают это определенное количество людей. Для тех, у кого в одной области есть сотни людей, обычно наблюдается большая задержка. Серверу приходится иметь дело с сотнями отправляемых ему заклинаний, для каждого из которых он должен рассчитывать количество повреждений. Я полагаю, что для большой пятерки MMO есть команды из 10-20 очень умных, математически одаренных разработчиков, работающих над этим ежедневно, и пока нет MMO, которая бы все сделала правильно, большинство из них ломаются после 100 игроков.
- -
Найдите Wowemu (официального сайта нет, и я не не хочу давать ссылку на хитрый сайт). Это основано на ApireCore , который представляет собой симулятор MMO или, по сути, обратную разработку протокола WoW. Это то, что работают на частных серверах WoW. Насколько я помню, Wowemu - это
Однако ApireCore - это C ++.
Бэкэнд для Wowemu удивительно прост (однако я пробовал его в 2005 году) и, вероятно, является полным упрощением схемы базы данных . Это дает вам хорошее представление о том, в чем дело.
Бэкэнд для Wowemu на удивление прост (однако я пробовал его в 2005 году) и, вероятно, полностью упрощает схему базы данных. Это дает вам хорошее представление о том, в чем дело.
Бэкэнд для Wowemu на удивление прост (однако я пробовал его в 2005 году) и, вероятно, полностью упрощает схему базы данных. Это дает вам хорошее представление о том, в чем дело.
Поскольку MMO в общем и целом требует ресурсов бизнеса для разработки и развертывания, и в этот момент они являются ценным IP-адресом компании, нет тонны общедоступной информации о реализациях.
Достаточно точно известно, что, поскольку MMO в целом используют собственный клиент и средство 3D-рендеринга, они не используют HTTP, потому что они не являются веб-браузерами. Онлайн-игры будут иметь свои собственные протоколы, построенные на основе TCP / IP или UDP.
Сами игровые симуляции будут построены с использованием тех же методов, что и любая сетевая 3D-игра, поэтому вы можете искать ресурсы для этой проблемной области, чтобы узнать больше.
Что касается большого папы, World of Warcraft, мы можем предположить, что их база данных - это Oracle, потому что в списках вакансий Blizzard часто упоминается опыт Oracle как требование / плюс. Они используют Lua для написания сценариев пользовательского интерфейса. C ++, OpenGL (для Mac) и Direct3D (для ПК) можно считать языками реализации для игровых клиентов, потому что именно на них создаются игры.
Одна компания, которая круто обсуждает их реализацию, - это CCP, создатели Eve онлайн. Они опубликовали ряд презентаций и статей об инфраструктуре Евы, и это особенно интересный случай, потому что они используют Stackless Python для многих реализаций Евы.
http://www.disinterest.org/resource/PyCon2006-StacklessInEve .wmv http://us.pycon.org/2009/conference/schedule/event/91/
Недавно в журнале Game Developer Magazine была опубликована статья об архитектуре Евы:
В радиоподкасте Software Engineering был эпизод с Джимом Пурбриком о Second Life , в котором обсуждались серверы, миры, масштабирование и другие внутренние компоненты MMORPG.
Многие дороги ведут в Рим, а многие архитектуры ведут к MMORPG.
Вот несколько общих мыслей по пунктам списка:
В целом это очень большая тема. Я бы посоветовал вам заглянуть на Amazon.com, чтобы найти книги по этой теме.
ограничение количества игроков, находящихся в одной виртуальной вселенной, количеством игровых событий, которые один сервер (возможно, с большим количеством процессоров и памяти) может разумно обработать. Точный механизм обработки событий зависит от требований разработчика игры, но обычно я ожидаю, что входящие события попадут в очередь с приоритетом (с приоритетом по времени получения и / или времени отправки и, возможно, по другим критериям типа «насколько это плохо, если мы игнорируем это событие? »).В целом это очень большая тема. Я бы посоветовал вам заглянуть на Amazon.com, чтобы найти книги по этой теме.
ограничение количества игроков, находящихся в одной виртуальной вселенной, количеством игровых событий, которые один сервер (возможно, с большим количеством процессоров и памяти) может разумно обработать. Точный механизм обработки событий зависит от требований разработчика игры, но обычно я ожидаю, что входящие события попадут в очередь с приоритетом (с приоритетом по времени получения и / или времени отправки и, возможно, по другим критериям типа «насколько это плохо, если мы игнорируем это событие? »).В целом это очень большая тема. Я предлагаю вам проверить на Amazon.com книги по этой теме.
но обычно я ожидаю, что входящие события попадут в очередь с приоритетом (с приоритетом по времени получения и / или времени отправки и, возможно, по другим критериям типа «насколько плохо, если мы проигнорируем это событие?»).Это очень большая тема в целом. Я предлагаю вам проверить на Amazon.com книги по этой теме.
но обычно я ожидаю, что входящие события попадут в очередь с приоритетом (с приоритетом по времени получения и / или времени отправки и, возможно, по другим критериям типа «насколько плохо, если мы проигнорируем это событие?»).Это очень большая тема в целом. Я бы посоветовал вам заглянуть на Amazon.com, чтобы найти книги по этой теме.
Взгляните на Эрланг . Это язык параллельного программирования и исполняющая система, который был разработан для поддержки распределенных отказоустойчивых непрерывных приложений в режиме мягкого реального времени.