Общая модель программирования Darkstar

Общая модель программирования Darkstar должна была быть реактивной: серверная сторона игры пишется в виде получателя событий, генерируемых клиентами (то есть компьютерами, используемыми игроками, – PC или игровыми приставками). Обнаружив событие, игровой сервер генерирует задачу – кратковременную последовательность действий, которая включает обработку данных в виртуальном мире и взаимодействие с клиентом, сгенерировавшим исходное событие (и, возможно, с другими клиентами). Задачи также могут генерироваться самим игровым сервером – либо в ответ на некоторое внутреннее изменение, либо на периодической, регулярной основе. При такой схеме игровой сервер может генерировать персонажей игры или мира, не находящихся под управлением внешнего игрока.

Такая программная модель хорошо соответствует специфике игр и виртуальных миров, но она также применяется во многих крупных коммерческих архитектурах, например в J2EE и в веб-службах. Потребность в построении архитектуры, отличной от этих механизмов, была обусловлена спецификой среды, в которой существуют ММО и виртуальные миры. Эта среда является практически полной противоположностью среды применения этих архитектур; таким образом, все, что вам известно о корпоративных средах, в новом мире окажется неверным.

Согласно традиционным представлениям в корпоративной среде тонкий клиент обычно подключается к толстому серверу (который, в свою очередь, часто подключается к еще более толстому серверу баз данных). Сервер хранит большую часть информации, необходимой клиентам, и играет роль фильтра при обращениях к служебной базе данных. На стороне клиента хранится минимальный объем информации состояния; в лучшем случае клиентский компьютер обладает минимумом памяти, не имеет собственного диска и представляет собой «интеллектуальное устройство вывода» для работы с сервером, на котором выполняется большая часть реальной работы.

Related posts:

  1. Разработка архитектуры проекта Darkstar
  2. ММО и виртуальные миры

Подпишитесь на рассылку по почте:

Введите свой адрес почты, чтобы получать уведомления о новых статьях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>