Реален ли проект Darkstar? [закрыто]

Проект Darkstar был темой ежемесячной встречи JavaSIG, проходившей вчера вечером в офисах Google в Нью-Йорке. Для тех, кто не знает (вероятно, всех), Project Darkstar - это фреймворк для многопользовательских онлайн-игр, который пытается позаботиться обо всех «сложных вещах». Основная идея заключается в том, что вы пишете логику игрового сервера таким образом, что все операции разбиваются на крошечные задачи. Эти задачи передаются в инфраструктуру Project Darkstar, которая обрабатывает их распределение по конкретному узлу в кластере, устраняет любые проблемы с параллелизмом и, наконец, сохраняет данные.

Очевидно, что подобные вещи - это совсем другая проблема для видеоигр, чем для корпоративных приложений. Джим Уолдо, который выступил с лекцией, утверждает, что в MMO-играх соотношение чтения / записи в БД составляет 50/50, тогда как корпоративные приложения более похожи на 90% чтения и 10% записи. Он также утверждает, что большинство существующих ММО хранят все в памяти исключительно, и делают дамп только в БД каждые 6 часов. Это означает, что если сервер выйдет из строя, вы потеряете всю работу с момента последнего дампа БД.

Сам проект звучит очень круто, но я не думаю, что индустрия его примет. Во-первых, вы должны написать свой серверный код на Java. Код клиента может быть написан на чем угодно (Джим утверждает, что ActionScript 3 является самым популярным, за ним следует C ++), но серверная часть должна быть Java. Звучит хорошо для меня, но у меня действительно складывается впечатление, что все в игровой индустрии ненавидят Java.

Во-вторых, в отличие от других отраслей, где разработчики предпочитают использовать существующие фреймворки и библиотеки, ребята из игровой индустрии, похоже, любят писать все сами. Мало того, им нравится переписывать все для каждой новой игры, которую они производят. Ситуация начинает меняться, когда разработчики используют Havok для физики, Unreal Engine 3 в качестве своей платформы и т. Д., Но по большей части все выглядит так, как будто все еще является собственностью.

Итак, ребята из Project Darkstar просто тратят свое время? Может ли общая структура, подобная этой, действительно работать для сложных игр с требуемой производительностью? Даже если это работает, готовы ли игровые компании использовать его?

21.08.2008 14:13:11
7 ОТВЕТОВ
РЕШЕНИЕ

Изменить: Это было написано до того, как Oracle купил Sun и начал неистовствовать, чтобы убить все, что не приносит им миллиард долларов в день. Смотрите комментарии для OSS Fork. Я по-прежнему придерживаюсь своего мнения, что подобные вещи (MMO Middleware) реалистичны, вам просто нужна компания, которая не отстает от этого.

Рынок может доминировать в нескольких крупных играх, но это не значит, что не так много места для более нишевых игр. Посмотрим правде в глаза: если вы хотите охватить более 100 000 игроков, вы в конечном итоге создаете свой собственный стек технологий, по крайней мере, для критического ядра. Это то, что CCP сделал для EVE Online ( StacklessIO ), то же самое, что Blizzard сделал для World of Warcraft (хотя они используют много сторонних библиотек), то же самое сделал Mythic для Warhammer Online (хотя они основаны на Gamebryo).

Однако, если вы хотите стать небольшой, нишевой MMO (например, десятками MMO Free-to-Play / Itemshop), то правильно настроить работу с сетью просто безумно сложно, согласованность данных еще сложнее, а масштабируемость - самая большая b * тч.

Но игровые технологии не единственная ваша проблема - вам также нужно заняться биллингом. Только кредитная карта? Весело продавайте в Германии тогда, люди там хотят ELV. Вот где вам нужен надежный поставщик биллинга, но вам все равно нужно подключить приложение биллинга к своим аккаунтам, чтобы убедиться, что аккаунты заблокированы / активированы в случае сбоя биллинга.

Есть некоторые компании, которые уже предлагают «Инфраструктурные услуги MMO» (например , EEIS от Arvato ), но суть в том, что «Проект Darkstar IS реалистичен, но если вы можете построить многомиллиардную MMO полностью на стороннем стеке , оптимистично» возможно идеалистический.

Но опять же, полностью изобретать все технологии еще глупее - использовать сторонние материалы, которые вам нужны (например, выставление счетов, рендеринг шрифтов, вывод звука ...), но писать то, что действительно создает или разрушает ваш бизнес (т.е. Сетевой стек, интерфейс пользователя и т. Д.) Самостоятельно (Примечание: публикация Джеффа может быть немного ошибочной , но общее направление верное ИМХО.)

Приложение: Кроме того, игровая индустрия часто лицензирует и повторно использует движки. Самыми известными игровыми движками являются Unreal Engine , Source Engine и id Tech , которые питают десятки, если не сотни игр. Но есть некоторые менее известные (вне промышленности) двигатели. Существует Gamebryo , Middleware, стоящий за играми, такими как Civilization 4 и Fallout 3, был RenderWare, который теперь является только EA-in-House, но используется в играх, таких как Battlefield 2 или The Sims 3. Есть Ogre3d с открытым исходным кодом , который использовался в некоторых коммерческих названиях . Если вы просто ищете звук, есть такие вещи, как FMODили если вы хотите сделать рендеринг шрифтов, почему бы не дать FreeType вращение?

Я говорю следующее: сторонние движки / промежуточное программное обеспечение существуют, и они успешно используются уже более десяти лет (я точно знаю, что Wolfenstein Engine от id был лицензирован для других компаний, а это было в 1992 году), даже крупные компании с многомиллионными названиями. Важной вещью является поддержка, потому что хороший движок без посторонней помощи в случае возникновения проблемы в значительной степени бесполезен или, по крайней мере, очень дорог, если разработчику приходится тратить время на разработку игры с ненужной отладкой движка.

Если ребята из Darkstar удастся получить правильную поддержку и получить 2 или 3 высокопрофильных заголовка, я верю, что это может помочь открыть рынок MMO гораздо меньшим разработчикам и независимым разработчикам.

26
20.08.2010 18:08:27
Информация: Проект Darkstar был закрыт Oracle, однако некоторые члены первоначальной команды разработчиков под названием Red Dwarf Server запустили форк, который можно найти на сайте reddwarfserver.org .
Kynth 20.08.2010 14:09:10

Я не работаю в игровой индустрии, но мне кажется, что это сделает то же самое для видеоигр, что и движки Quake и Half-Life. То есть они будут способствовать тому, чтобы молодые разработчики заинтересовались индустрией, и продвигали разработку инди-игр.

Из того, что я могу сказать, компании, производящие видеоигры, не используют большую часть своего кода, потому что если они делают это, это означает, что их новая игра - просто перефразировка старой. Всем нужен крутой новый физический движок, лучшая графика, новые способы игры. Большинство игровых движков и фреймворков созданы для определенного сценария и, следовательно, не слишком гибки для других ситуаций.

Возможно, Темная Звезда все сделает правильно, но я в этом немного сомневаюсь, поскольку обобщение работает только на столько.

-1
21.08.2008 21:36:00
Но Darkstar - это бэкэнд-код, а не код на стороне клиента - игрокам (в целом) плевать на бэкэнд-технологии, когда они говорят о желании большего и лучшего.
Erik Forbes 1.10.2008 23:35:18

Из того, что я могу сказать, компании, производящие видеоигры, не используют большую часть своего кода, потому что если они делают это, это означает, что их новая игра - просто перефразировка старой.

Хм ... если вы имеете в виду длинный хвост компаний видеоигр, может быть. В компании, которая провела серию успешных игр, обычно есть некоторая доля повторного использования. Серьезные изменения в оборудовании могут привести к отказу от большой работы, но это действительно зависит от компании.

2
3.07.2012 14:54:36

Звучит как бесполезная технология для меня. Мир MMO контролируется несколькими крупными игровыми компаниями, которые уже имеют свои собственные технологии. Разработчики инди-игр любят пытаться создавать ММО, а иногда и делают, но эти игры редко набирают обороты. Крупные компании, проникшие в мир MMO, вероятно, лицензируют «проверенную» технологию или распространят свою собственную.

Игровые компании повторно используют огромное количество кода от игры к игре. Большинство / многие игровые компании разработали свои собственные технологии и используют их в каждой игре, которую они производят. Иногда они делают что-то вроде замены своего физического кода на сторонний физический движок. Если их внутренняя кодовая база (игровой движок, инструменты дизайна, внутренний конвейер) начинает слишком сильно стареть или становится громоздкой, они могут переключиться на один из крупных игровых движков, таких как Unreal. Даже в этом случае основные фрагменты кода будут продолжать использоваться из игры в игру.

3
29.09.2008 23:45:01

Дизайн и код звучат весело, но я думаю, что в конечном итоге все сводится к бесполезным абстракциям (украсть у Джоэла).

1
1.10.2008 21:28:26

В играх очень часто используются «игровые движки», даже сторонние. Это звучит как еще один шаг в этом направлении.

1
1.10.2008 23:32:03

Я думаю, что это здорово. Разработчикам не нужно беспокоиться обо всех вещах, о которых заботится проект darkstar, и им очень легко пользоваться. Но дело не только в том, чтобы заставить его работать, а не в том, чтобы узнавать все об интернет-коммуникации, но и в производительности. Проект Darkstar разрабатывался более 2 лет, и он становится все лучше, быстрее и надежнее.

Я думаю, что будет сложно и, вероятно, не стоит тратить время на написание этих вещей, когда мы нацелены на конкретную игру, когда вместо этого можно использовать подобные технологии. Кроме того, вы также получаете полезную информацию во время выполнения, сообщающую вам, где в приложении есть причина замедления или взаимоблокировки, чтобы вы могли ее улучшить.

1
18.07.2009 19:31:45