Project Darkstar был темой ежемесячного собрания JavaSIG в офисах Google в Нью-Йорке прошлой ночью. Для тех, кто не знает (возможно, всех), Project Darkstar - это основа для многопользовательских онлайн-игр, которые пытаются позаботиться обо всех «тяжелых вещах». Основная идея заключается в том, что вы пишете логику игрового сервера таким образом, чтобы все операции разбивались на крошечные задачи. Эти задачи передаются в инфраструктуру Project Darkstar, которая обрабатывает их до определенного узла в кластере, любые проблемы параллелизма и, наконец, сохраняя данные.Является ли проект Darkstar реалистичным?
Видимо, для подобных игр это совершенно другая проблема, чем для корпоративных приложений. Джим Уолдо, который прочитал лекцию, утверждает, что в MMO-играх коэффициент чтения/записи БД составляет 50/50, тогда как корпоративные приложения больше похожи на 90%, 10% на запись. Он также утверждает, что большинство существующих MMO хранят все в памяти exlcusively и только сбрасывают DB на каждые 6 часов. Это означает, что если сервер опустится, вы потеряете всю работу со времени последнего сброса базы данных.
Теперь проект сам по себе звучит очень круто, но я не думаю, что индустрия примет его. Во-первых, вы должны написать свой серверный код на Java. Клиентский код можно записать во что угодно (Джим утверждает, что ActionScript 3 является самым популярным, следуйте C++), но сервер должен быть Java. Звучит хорошо для меня, но у меня действительно создается впечатление, что все в игровой индустрии ненавидят Java.
Во-вторых, в отличие от других отраслей, где разработчики предпочитают использовать существующие фреймворки и библиотеки, ребята из игровой индустрии, похоже, любят сами писать все. Мало того, им нравится переписывать все для каждой новой игры, которую они производят. Вещи начинают меняться, когда разработчики используют Havok для физики, Unreal Engine 3 как свою платформу и т. Д., Но по большей части похоже, что все по-прежнему является собственностью.
Итак, ребята из Project Darkstar просто тратят свое время? Может ли общая структура, подобная этой, действительно работать для сложных игр с требуемой производительностью? Даже если это действительно работает, являются ли игровые компании готовы использовать его?
Спасибо за внимание! – 2009-01-30 22:14:55