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 має тенденцію писати власні шейдери, тому все виглядає «як раз»; Таким чином, це може бути більше, ніж інші будинки платять.