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

เกี่ยวข้อง: gamedev.stackexchange.com/questions/195/…
Tetrad

1
ฉันลงคะแนนเพื่อปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากเราไม่สนับสนุนคำถามที่ถามว่า "เกมนี้เกิดขึ้นได้อย่างไร" หรือ "เกมนี้ทำเช่นนั้นได้อย่างไร" คำถามดังกล่าวส่วนใหญ่เป็นการเก็งกำไรและไม่สร้างสรรค์ เรามักจะแก้ไขคำถามเพื่อถามว่า "ฉันจะใช้คุณสมบัตินี้ได้อย่างไร แต่คำถามนี้เก่าเกินไปสำหรับการแก้ไขที่สร้างสรรค์
Gnemlock

คำตอบ:


17

Blizzard ขับเคลื่อนด้วยเทคโนโลยีที่กำหนดเองมาก ฉันไม่มีลิงก์ไปยังบทความ แต่ฉันจำได้ว่าเห็นว่าพวกเขาพัฒนา shaders ที่กำหนดเองหลายพันรายการต่อเกมสำหรับทั้งความเข้ากันได้หลายแพลตฟอร์มและความเข้ากันได้ย้อนหลัง

การสนับสนุนหลายแพลตฟอร์มไม่ใช่เรื่องใหม่ ซอฟต์แวร์จำนวนมากรองรับ 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 ฉันจะขอบคุณถ้าคุณโพสต์ลิงก์ไปยังข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการพัฒนาของพวกเขา
begray

9

มีเอ็นจินกราฟิคอยู่ข้างนอก ( ยกตัวอย่างOgre3D ) ที่ให้เลเยอร์นามธรรมที่ด้านบนของ DirectX และ OpenGL ดังนั้นในฐานะนักพัฒนาคุณเพียงแค่ใช้ Framework และไม่ต้องสนใจอะไรมากเกี่ยวกับ GPU-API พื้นฐาน บางสิ่งที่พิเศษเช่น shaders อาจต้องเขียนด้วย HLSL และ GLSL แต่ก็มีภาษาระดับ shader ที่สูงกว่าที่สามารถเรียกใช้ / คอมไพล์ไปยัง API ทั้งสองได้

ข้อสันนิษฐานของฉันคือเครื่องยนต์ Blizzard ใช้ (พวกเขาเขียนของตัวเอง) ยังมีเลเยอร์นามธรรมที่ทำให้การสลับ API กราฟิกพื้นฐานง่ายขึ้นดังนั้นพวกเขาจึงไม่จำเป็นต้องเขียนโค้ดกราฟิกทั้งหมดสำหรับพอร์ต Mac อีกต่อไป


2

ฉันไม่แน่ใจในสิ่งที่พวกเขาใช้จริง ๆ (แต่ละอันจะมีทางออกที่ทรงพลังอย่างแน่นอน) เอ็นจิ้นเกมที่ผ่านการพิสูจน์แล้วและอาจใช้แล้วประสบความสำเร็จในการวางจำหน่ายเกมบนแพลตฟอร์มนั้น แต่สำหรับฉันแล้วมันน่าจะเป็น opengl, shaders ฯลฯ ส่วนใหญ่ หากคุณเป็นนักพัฒนาอินดี้หรือวางแผนที่จะทำเกมเชิงพาณิชย์ (เพียงแค่ไม่มี AAA) jMonkeyEngine 3เป็นโซลูชั่นฟรีที่ดีทีเดียว มันใช้ภาษาจาวาดังนั้นคุณอาจปรับใช้ความน่าเชื่อถือบน OSX ของ JRE ที่รวมอยู่ (อาจตัดฟีเจอร์ถ้าไม่ใช้ jre ที่ทันสมัยมาก) หรือฝัง / ตัดไบนารี (เราทำการทดสอบให้กับ Windows) โดยใช้ฟรีหรือ โซลูชันเชิงพาณิชย์ มีเอ็นจินอื่น ๆ ที่รวบรวม OSX และแพลตฟอร์มอื่น ๆ แต่ไม่ทั้งหมด 'AAA' ซึ่งแสดงผลสำหรับ OSX และแพลตฟอร์มอื่น ๆ :, C4 เครื่องยนต์ฯลฯ หรือถ้าใช้โอเพนซอร์สอื่น ๆ หรือเครื่องมือหลากหลายในเชิงพาณิชย์คุณอาจต้องใช้การติดตั้งข้ามแพลตฟอร์มเช่นInstallBuilder

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.