Як Blizzard вдається підтримувати Mac OS та Windows у своїх іграх? [зачинено]


22

Я завжди думав, що використання Direct X для Windows - це найпотужніший, простий і сучасний метод створення ігор із сучасною графікою. Знаючи, що це лише Windows, я думаю, що зробити щось подібне на інших платформах досить складно; Точніше для Mac OS. Однак Blizzard якось вдалося поставити Starcraft 2 для Mac OS, а Diablo 3 також буде доступний для Mac.

Тож мене цікавить інформація про:

  • які технології вони використовують для своїх ігрових двигунів?
  • вони використовують один движок для обох ігор (Starcraft 2 та Diablo 3), або розробляють власні двигуни для кожної гри?
  • що вони платять за час та гроші за підтримку Mac OS?


1
Я голосую, щоб закрити це питання поза темою, тому що ми не підтримуємо запитання "як була зроблена ця гра" чи "як це зробила ця гра". Такі питання переважно спекулятивні, а не конструктивні; ми зазвичай редагуємо питання, щоб запитати "як я можу зробити цю функцію, але це питання занадто старе, щоб такі зміни були конструктивними"
Gnemlock

Відповіді:


17

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

Підтримка мультиплатформи - це не щось нове. Багато програмного забезпечення підтримує Linux, Mac OS та Windows. Як було сказано вище, важливою частиною є відсторонення від специфіки платформи.

Будь-який сучасний ігровий движок обробляє багатоплатформну платформу, і багато хто може перемикатися між OpenGL та DirectX залежно від платформи.

Blizzard - це будинок C ++, як і більшість професійних розробників великого масштабу. Але, як зазначав S.gfx, якщо ви шукаєте простого рішення, існує безліч рішень, що не містять C ++, включаючи jMonkeyEngine або LWJGL.

З боку C ++ ви можете використовувати Glut та Glu, щоб легко керувати різними операційними системами під час використання OpenGL або писати власну абстракцію для конкретних викликів ОС.

Щоб більш конкретно відповісти на ваші кулі:

які технології вони використовують для своїх ігрових двигунів? Завіруха, мабуть, не скаже; але, ви можете бути впевнені, що двигун написаний на C ++ і використовує OpenGL або OpenGL та DirectX. Пам'ятайте, OpenGL працює на Windows.

вони використовують один движок для обох ігор (Starcraft 2 та Diablo 3)? Або розробити на замовлення для кожної гри? Відомо, що Blizzard підтримує декілька двигунів. Diablo 3 з самого початку, я вважаю, роздвоєний код WoW. Але, ви можете бути впевнені, що WoW не закінчиться проектом. Blizzard - це не компанія, яка боїться писати багато коду на проект.

що вони платять за час і гроші за підтримку Mac OS? Якщо все зроблено правильно, підтримка Mac OS не повинна бути «надто» значною вартістю. Будь-хто може здогадатися. Як я вже казав, Blizzard має тенденцію писати власні шейдери, тому все виглядає «як раз»; Таким чином, це може бути більше, ніж інші будинки платять.


Дякую, я думаю, що ваша відповідь найбільш близька до тієї, яку я шукав. Я досить добре знайомий із загальною розробкою багатоплатформних платформ, просто хотів отримати інформацію про те, як це робить Blizzard. Буду вдячний, якщо ви опублікуєте посилання на додаткову інформацію про процес їх розробки.
беграй

9

Існують графічні двигуни (для прикладу візьміть Ogre3D ), які надають абстрактний шар поверх DirectX та OpenGL. Таким чином, як розробник, ви просто використовуєте Framework і не маєте особливих турбот про базовий GPU-API. Деякі спеціальні речі, такі як шейдери, можливо, повинні бути записані в HLSL та GLSL, але також існують мови шейдерів вищого рівня, які можуть запускати / компілювати обидва API.

Моє припущення, що двигун, який використовує Blizzard (вони написали своє), також надає шар абстракції, що дозволяє легко поміняти графічний інтерфейс, що лежить в основі, так що їм не доведеться переписувати весь свій графічний код для порту Mac.


2

Я не впевнений у тому, чим вони насправді користуються (безумовно, кожен би мав потужне рішення). Ймовірно, вже перевірені та використані ігрові двигуни успішно випускають ігри на цій платформі або прокатують власне користувацьке рішення. Але мені здається, що це, головним чином, відкриття, шейдери тощо. Якщо ви індійський розробник або навіть плануєте робити комерційні ігри (просто немає AAA), jMonkeyEngine 3 - це приємне безкоштовне рішення. Це на базі Java, тому, ймовірно, ви можете розгорнути довіру на ОС JRE (включно з можливістю вирізання, якщо не використовуєте дуже сучасний jre), або вставити / обернути двійковий файл (ми зробили тест для Windows), використовуючи будь-який із доступних безкоштовних або комерційні рішення. Існує маса інших двигунів, що збираються на OSX та інші платформи, але не зовсім «AAA», які виводять для OSX та інших платформ:, C4 Engine тощо. Або якщо ви використовуєте інший відкритий комерційний або комерційний багатоплатформовий двигун, можливо, вам знадобиться встановлення крос-платформи, наприклад InstallBuilder .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.