Blizzard oyunlarında Mac OS ve Windows'u nasıl destekliyor? [kapalı]


22

Direct X'i Windows için kullanmanın, günümüzde modern grafiklerle oyunlar oluşturmak için en güçlü, kolay ve modern yöntem olduğunu düşündüm. Sadece Windows olduğunu bilerek, diğer platformlarda benzer bir şey yapmanın oldukça zor olduğunu düşünüyorum; Mac OS, kesin olarak. Ancak, Blizzard bir şekilde Mac OS için Starcraft 2'yi sunmayı başardı ve Diablo 3 de Mac için hazır olacak.

Öyleyse ilgilendiğim şey hakkında bilgi:

  • oyun motorları için hangi teknolojileri kullanıyorlar?
  • Her iki oyun için de bir motor mu kullanıyorlar (Starcraft 2 ve Diablo 3), yoksa her oyun için özel motorlar mı geliştiriyorlar?
  • Mac OS desteği için zaman ve para bakımından ne ödüyorlar?


1
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum, çünkü "bu oyun nasıl yapıldı" veya "bu oyun nasıl yaptı" sorusunu desteklemiyoruz. Bu tür sorular çoğunlukla spekülatif ve yapıcı değildir; soruyu genellikle "bu özelliği nasıl yapabilirim?" sorusunu düzenleriz, ancak bu soru bu tür düzenlemelerin yapıcı olması için çok eski.
Gnemlock

Yanıtlar:


17

Blizzard çok özel bir teknoloji kullanıyor. Makalelere bağlantılarım yok, ancak hem çoklu platform uyumluluğu hem de geriye dönük uyumluluk için oyun başına binlerce özel gölgelendirici geliştirdiklerini gördüğümü hatırlıyorum.

Multiplatform desteği yeni bir şey değil. Bol yazılım Linux, Mac OS ve Windows destekliyor. Yukarıda bahsedildiği gibi, önemli kısım platform özelliklerinden uzaklaşıyor.

Herhangi bir çağdaş oyun motoru çok platformludur ve çoğu platforma bağlı olarak OpenGL ve DirectX arasında geçiş yapabilir.

Blizzard, çoğu profesyonel büyük ölçekli geliştirici gibi bir C ++ evidir. Ancak, S.gfx tarafından belirtildiği gibi, kolay bir çözüm arıyorsanız, jMonkeyEngine veya LWJGL dahil, pek çok C ++ olmayan çözüm vardır.

C ++ tarafından, OpenGL'yi kullanırken farklı işletim sistemlerini kolayca idare etmek için Glut ve Glu'yu kullanabilir veya belirli işletim sistemi çağrıları için kendi özetinizi yazabilirsiniz.

Mermilerinize daha spesifik olarak cevap vermek için:

oyun motorları için hangi teknolojileri kullanıyorlar? Blizzard muhtemelen söylemezdi; ancak, motorun C ++ ile yazılmış ve OpenGL veya OpenGL ve DirectX kullandığından emin olabilirsiniz. Unutmayın, OpenGL Windows'ta çalışır.

Her iki oyun için de bir motor mu kullanıyorlar (Starcraft 2 ve Diablo 3)? Veya her oyun için özel geliştirmek? Blizzard'ın birden fazla motoru koruduğu biliniyor. Diablo 3, başlangıçtan beri, WoW'un kodunun bir çatal olduğunu düşünüyorum. Ancak, projeyi bitirdikten sonra WoW gibi bir şey olmayacağından emin olabilirsiniz. Blizzard, proje başına bol miktarda kod yazmaktan korkan bir şirket değil.

Mac OS desteği için zaman ve para bakımından ne ödüyorlar? Doğru yapılırsa, Mac OS desteği, maliyet açısından "çok" önemli olmamalıdır. Herkes tahmin edebilir. Blizzard'ın dediğim gibi, özel gölgelendiriciler yazma eğilimi var, bu nedenle her şey "doğru" görünüyor; yani, diğer evlerin ödediğinden daha fazla olabilir.


Teşekkürler, bence cevabınız aradığım en yakın cevap. Genel çoklu platform geliştirmeye oldukça aşinayım, Blizzard'ın nasıl yaptığı hakkında biraz bilgi istiyorum. Geliştirme süreçleriyle ilgili ek bilgilere bağlantılar yayınlarsanız minnettar olurum.
saat

9

DirectX ve OpenGL üzerine soyut bir katman sağlayan grafik motorlar var ( örnek olarak Ogre3D'yi kullanın ). Bu yüzden bir geliştirici olarak, sadece Çerçeveyi kullanırsınız ve temel GPU-API'sine çok fazla önem vermek zorunda değilsiniz. Gölgelendiriciler gibi bazı özel şeylerin HLSL ve GLSL'de yazılması gerekebilir, ancak her iki API'de de çalışabilen / derleyebilen daha üst düzey gölgelendirici dilleri de vardır.

Benim varsayım, Blizzard'ın kullandığı motorun (kendi yazılarını yazdıkları), aynı zamanda bir Mac portu için tüm grafik kodlarını yeniden yazmak zorunda kalmamaları için temel grafik API'sini değiştirmeyi kolaylaştıran bir soyutlama katmanı sağlamasıdır.


2

Ne kullandıklarından emin değilim (her birinin mutlaka güçlü bir çözümü olurdu). Muhtemelen zaten kanıtlanmış ve kullanılmış oyun motorları bu platformdaki oyunları başarıyla piyasaya sürdüler ya da kendi özel çözümlerini kullandılar. Ama bana göre çoğunlukla opengl, gölgelendiriciler vb. Bir indy geliştiricisiyseniz veya ticari oyunlar yapmayı planlıyorsanız (sadece AAA yok) jMonkeyEngine 3 oldukça hoş bir çözümdür. Java tabanlı olduğundan, muhtemelen OSX'in içerdiği JRE'ye (çok modern bir jre kullanmıyorsanız muhtemelen özellikleri keserek) güvenerek konuşabilirsiniz veya mevcut ücretsiz olan herhangi birini kullanarak bir ikili (gömme (Windows için böyle bir test yaptık) kullanabilirsiniz) Ticari çözümler. OSX ve diğer platformları derleyen, ancak tamamen 'AAA' olmayan, OSX ve diğer platformlar için üretilen birçok motor var:,C4 Motor , vb. Veya başka bir açık kaynaklı veya ticari çoklu platform motoru kullanıyorsanız, InstallBuilder gibi bir çapraz platform kurucusu kullanmanız gerekebilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.