Контекст определил первую цель нашей архитектуры. Требования к масштабированию означали, что система должна быть распределенной и параллельной, но разработчику игры нужно было предоставить значительно упрощенную модель программирования. Проще говоря, разработчик должен воспринимать систему как отдельный компьютер, на котором работает один программный поток, а все механизмы, обеспечивающие работу многих потоков на множестве компьютеров, должны быть скрыты инфраструктурой проекта Darkstar.
В общем случае скрыть распределенность или параллелизм от приложения невозможно. Но ММО и виртуальные миры не относились к общему случаю. За изоляцию, к которой мы стремились, приходилось расплачиваться обязательным применением крайне конкретной и ограниченной модели программирования. К счастью, именно такая модель хорошо соответствует типу программирования, уже применяемому в серверных компонентах игр и виртуальных миров.
Related posts: