อ่าน 9 นาที
ไอดี เทค 3
id Tech 3หรือที่รู้จักกันในชื่อเดิมว่าQuake III Arena engineเป็นเอนจิ้นเกมที่พัฒนาโดยid SoftwareสำหรับเกมQuake III Arena ในปี 1999 และต่อมาได้ถูกนำไปใช้ในเกมอื่นๆ อีกมากมาย...
ไอดี เทค 3
| ไอดี เทค 3 | |
|---|---|
![]() | |
Quake IIIเกมต้นแบบของเอนจิ้นนี้ | |
| นักพัฒนา | id ซอฟต์แวร์ |
| เวอร์ชันสุดท้าย | 1.32 เซนต์ / 19 สิงหาคม 2548 |
| เขียนเป็น | ภาษา C (เขียนใหม่ 14% ด้วยภาษา C++ ) |
| แพลตฟอร์ม | Windows , Mac OS , OS X , Linux , Dreamcast , GameCube , Nintendo Switch , Nintendo Switch 2 , PlayStation 2 , PlayStation 3 , PlayStation 4 , Xbox , Xbox 360 , iOS , Android |
| ผู้มาก่อน | เอ็นจิ้น Quake II |
| ผู้สืบทอด | id Tech 4 , เครื่องยนต์ IW |
| ใบอนุญาต | GNU GPL-2.0 หรือเวอร์ชันที่ใหม่กว่า |
| เว็บไซต์ | www.idsoftware.com/business/idtech3/ |
| ที่เก็บข้อมูล | github.com/id-Software/Quake-III-Arena |

id Tech 3หรือที่รู้จักกันในชื่อเดิมว่าQuake III Arena engineเป็นเอนจิ้นเกมที่พัฒนาโดยid SoftwareสำหรับเกมQuake III Arena ในปี 1999 และต่อมาได้ถูกนำไปใช้ในเกมอื่นๆ อีกมากมาย ในเชิงพาณิชย์ id Tech 3 แข่งขันกับUnreal Engine เวอร์ชันแรกๆ โดยทั้งสองเอนจิ้นต่างก็ได้รับอนุญาตให้ใช้งานอย่างแพร่หลาย เดิมทีเป็นซอฟต์แวร์กรรมสิทธิ์ แต่ปัจจุบันเป็นซอฟต์แวร์โอเพนซอร์สแล้ว
id Tech 3 พัฒนามาจากid Tech 2 รุ่น ก่อนหน้า โดยมีการเขียนโค้ดใหม่เป็นจำนวนมากid Tech 4ก็พัฒนามาจาก id Tech 3 เช่นเดียวกับIW EngineของInfinity Wardที่ใช้ในเกม Call of Duty 2เป็นต้นไป
ในงาน QuakeCon 2005 John Carmack ได้ประกาศว่า ซอร์สโค้ด id Tech 3 จะถูกเผยแพร่ภายใต้GNU General Public License v2.0 หรือเวอร์ชันที่ใหม่กว่า และได้มีการเผยแพร่ในวันที่ 19 สิงหาคม 2005 [ 1 ]เดิมทีมีการแจกจ่ายผ่านFTPและต่อมาได้ย้ายไปที่ GitHub
คุณสมบัติ
กราฟิก
แตกต่างจากเอนจิ้นเกมอื่นๆ ส่วนใหญ่ที่วางจำหน่ายในเวลานั้น รวมถึงคู่แข่งหลักอย่างUnreal Engine id Tech 3 ต้องการการ์ดเร่งกราฟิกที่รองรับOpenGLในการทำงาน เอนจิ้นนี้ไม่มีตัวเรนเดอร์แบบซอฟต์แวร์ซึ่งแตกต่างจาก id Tech 2
id Tech 3 ได้นำเสนอ พื้นผิวโค้งแบบ splineนอกเหนือจากปริมาตรระนาบ[ 2 ]
เทคโนโลยีกราฟิกของเกมนั้นใช้ ระบบ เชเดอร์ เป็นหลัก โดยสามารถกำหนดลักษณะของพื้นผิวต่างๆ ได้ในไฟล์ข้อความที่เรียกว่าสคริปต์ เชเดอร์ เช เดอร์จะถูกอธิบายและแสดงผลเป็นหลายเลเยอร์ แต่ละเลเยอร์ประกอบด้วยพื้นผิว โหมดการผสม (blend mode) ที่กำหนดวิธีการซ้อนทับกับเลเยอร์ก่อนหน้า และโหมดการวางแนวพื้นผิว เช่น การแมปสภาพแวดล้อม การเลื่อน และการหมุน คุณสมบัติเหล่านี้สามารถมองเห็นได้อย่างชัดเจนในเกม โดยมีพื้นผิวที่สว่างและเคลื่อนไหวมากมายในแต่ละแผนที่และแม้แต่โมเดลตัวละคร ระบบเชเดอร์ไม่ได้จำกัดแค่เพียงรูปลักษณ์ภายนอกเท่านั้น แต่ยังกำหนดเนื้อหาของปริมาตร (เช่น ปริมาตรน้ำถูกกำหนดโดยการใช้เชเดอร์น้ำกับพื้นผิว) การปล่อยแสง และเสียงที่จะเล่นเมื่อเหยียบลงบนปริมาตร นั้น [ 3 ]เพื่อช่วยในการคำนวณเชเดอร์เหล่านี้id Tech 3ได้นำ ฟังก์ชัน รากที่สองผกผันที่รวดเร็ว มาใช้ ซึ่งดึงดูดความสนใจอย่างมากในชุมชนการพัฒนาเกมเนื่องจากการใช้การดำเนินการจำนวนเต็มอย่างชาญฉลาด[ 4 ] [ 5 ]
การสร้างเครือข่าย
เช่นเดียวกับเกมก่อนหน้าของ id อย่างDoomและQuake , Quake III Arenaมีระบบรองรับผู้เล่นหลายคนผ่านฟีเจอร์ที่สร้างขึ้นในเอนจิ้น id Tech 3 ใช้ระบบสแนปช็อตเพื่อส่งต่อข้อมูลเกี่ยวกับเฟรมเกมไปยังไคลเอนต์ผ่านUDPเซิร์ฟเวอร์จะอัปเดตการโต้ตอบของวัตถุในอัตราคงที่โดยไม่ขึ้นกับอัตราที่ไคลเอนต์อัปเดตเซิร์ฟเวอร์ด้วยการกระทำของตน จากนั้นจะพยายามส่งสถานะของวัตถุทั้งหมดในขณะนั้น (เฟรมเซิร์ฟเวอร์ปัจจุบัน) ไปยังไคลเอนต์แต่ละราย เซิร์ฟเวอร์พยายามละเว้นข้อมูลเกี่ยวกับแต่ละเฟรมให้มากที่สุดเท่าที่จะเป็นไปได้ โดยส่งต่อเฉพาะความแตกต่างจากเฟรมสุดท้ายที่ไคลเอนต์ยืนยันว่าได้รับแล้ว (การเข้ารหัสเดลต้า ) แพ็กเก็ตข้อมูลทั้งหมดจะถูกบีบอัดด้วยการเข้ารหัส Huffmanด้วยข้อมูลความถี่คงที่ที่คำนวณไว้ล่วงหน้าเพื่อลดการใช้แบนด์วิดท์ให้มากยิ่งขึ้น[ 6 ]
Quake III Arena มีระบบ ป้องกันการโกงแบบบูรณาการและค่อนข้างซับซ้อนที่เรียกว่า "pure server" ไคลเอนต์ใด ๆ ที่เชื่อมต่อกับ pure server จะเปิดใช้งาน "pure mode" โดยอัตโนมัติ ในขณะที่เปิดใช้งาน pure mode จะสามารถเข้าถึงได้เฉพาะไฟล์ภายใน data pack เท่านั้น ไคลเอนต์จะถูกตัดการเชื่อมต่อหาก data pack ของพวกเขาไม่ผ่านการตรวจสอบความสมบูรณ์หลายรายการcgame.qvmไฟล์ที่มีศักยภาพสูงในการแก้ไขที่เกี่ยวข้องกับการโกงจะต้องผ่านการตรวจสอบความสมบูรณ์เพิ่มเติม นักพัฒนาต้องปิดใช้งาน pure server ด้วยตนเองเพื่อทดสอบแผนที่หรือม็อดที่ไม่ได้อยู่ใน data pack โดยใช้รูปแบบไฟล์ PK3 เวอร์ชันต่อมาได้เพิ่ม การรองรับ PunkBuster เข้าไปใน pure server แม้ว่า hooks ทั้งหมดจะไม่มีอยู่ในซอร์สโค้ดที่เผยแพร่ เนื่องจาก PunkBuster เป็น ซอฟต์แวร์ แบบปิด และการรวมการรองรับไว้ในซอร์สโค้ดที่เผยแพร่จะทำให้ผู้แจกจ่าย /ผู้ใช้โค้ดซ้ำละเมิดGPL [ 7 ]
ไอโอเควก3
| ไอโอเควก3 | |
|---|---|
| นักพัฒนา | มิสเตอร์นิวเคลียร์มอนสเตอร์ (แจ็ค สเลเตอร์) |
| เวอร์ชันเสถียร | 1.36 / 23 เมษายน 2552 |
| รุ่นทดลองใช้งาน | GIT_801 / 6 พฤศจิกายน 2025 |
| เขียนเป็น | 97% C |
| ใบอนุญาต | GNU GPL-2.0 หรือเวอร์ชันที่ใหม่กว่า |
| เว็บไซต์ | https://ioquake3.org/ |
| ที่เก็บข้อมูล | [1] |

Ioquake3 เป็น โครงการ เอนจิ้นเกมที่มุ่งสร้างต่อยอดจากซอร์สโค้ด id Tech 3 [ 8 ] [ 9 ]เพื่อกำจัดบั๊ก ทำความสะอาดซอร์สโค้ด และเพิ่มคุณสมบัติกราฟิกและเสียงขั้นสูงผ่านSDLและOpenAL Ioquake3 ยังตั้งใจให้เป็นแพ็กเกจพื้นฐานที่สะอาด ซึ่งโครงการอื่นๆ สามารถสร้างขึ้นได้ เอนจิ้นเกมนี้รองรับ รูปแบบ Ogg Vorbisและการบันทึกวิดีโอสาธิตในรูปแบบ . avi [ 10 ]
โครงการนี้เริ่มต้นขึ้นไม่นานหลังจากมีการเผยแพร่ซอร์สโค้ด โดยมีเป้าหมายเพื่อสร้างการแจกจ่ายซอร์สโค้ดของเอนจิ้นQuake III แบบ โอเพนซอร์สที่ปราศจากข้อบกพร่อง และได้รับการปรับปรุง ซึ่งสามารถใช้เป็นพื้นฐานสำหรับเกมและโครงการใหม่ๆ ได้ นอกจากนี้ โครงการนี้ยังมีจุดมุ่งหมายเพื่อมอบสภาพแวดล้อมที่ดีขึ้นสำหรับ การเล่นQuake III: Arena , แพ็กส่วนขยายTeam Arena และ ม็อด ที่ได้รับความนิยมทั้งหมด [ 11 ] [ 12 ] [ 13 ] [ 14 ]โครงการนี้ได้เพิ่มคุณสมบัติต่างๆ เช่นการรองรับ VoIP ในตัว การเรนเดอร์สเตอริโอแบบ Anaglyph (สำหรับการดูด้วยแว่นตา 3 มิติ) และการแก้ไขด้านความปลอดภัยจำนวนมาก
ioquake3 เป็นพื้นฐานของโปรเจกต์เกมหลายเกมที่ใช้เอนจิ้น id Tech 3 เช่นOpenArena (เลียนแบบQuake III Arena ), Tremulous , [ 15 ] [ 16 ] Smokin' Guns , [ 17 ] Urban Terror , [ 18 ] [ 19 ] Turtle ArenaและWorld of Padman [ 20 ] [ 21 ]และโปรเจกต์เอนจิ้นเกม เช่น efport ( เกมเลียนแบบ Star Trek: Voyager – Elite Force Holomatch ), ioJedi Outcast, ioJedi Academy, ioDoom3 และOpenMoHAAเอนจิ้นและเกมที่เกี่ยวข้องได้ถูกรวมอยู่ใน ระบบปฏิบัติการ LinuxและBSD หลาย ระบบ เอนจิ้น cMod ที่ได้มาจาก พอร์ต Elite Force รุ่นก่อนหน้าถูกนำมาใช้เพื่อบรรจุ เกมเวอร์ชันฟรีแวร์ฉลองครบรอบ 20 ปี สำหรับ Windowsและ Linux [ 22 ]
ซอร์สโค้ดสำหรับเอน จิ้ น Return to Castle WolfensteinและWolfenstein: Enemy Territoryได้รับการเผยแพร่ภายใต้GNU GPL-3.0-or-laterเมื่อวันที่ 12 สิงหาคม 2553 [ 23 ]นักพัฒนา ioquake3 ประกาศเริ่มโครงการเอนจิ้นอื่นๆ[ 24 ]
โครงการ ioquake3 ได้ถูกนำไปใช้ในการวิจัยทางวิชาการ เช่น ศูนย์วิจัยคอมพิวเตอร์ด้านดนตรีและเสียง (CCRMA) ของมหาวิทยาลัยสแตนฟอร์ด[ 25 ] [ 26 ] มหาวิทยาลัย นอเทรอดามใช้เป็นพื้นฐานสำหรับการวิจัย VR [ 27 ]และศูนย์สถาปัตยกรรมอินเทอร์เน็ตขั้นสูงของมหาวิทยาลัยเทคโนโลยีสวินเบิร์น[ 28 ] [ 29 ]ความร่วมมือจากนักวิจัยที่มหาวิทยาลัยคาร์เนกีเมลลอนและมหาวิทยาลัยโตรอนโตใช้ ioquake3 เป็นแพลตฟอร์มสำหรับการวิจัยที่ตีพิมพ์[ 30 ] [ 31 ] นักศึกษาได้ใช้ ioquake3 เป็นพื้นฐานสำหรับงานกราฟิกขั้นสูงสำหรับวิทยานิพนธ์ของพวกเขา เช่น งานของ Stephan Reiter [ 32 ] [ 33 ]ซึ่งได้รับการยกย่องในโครงการ LLVM [ 34 ]เนื่องจากการสังเคราะห์เอ็นจิ้น ioquake3 เทคนิคการเรนเดอร์แบบเรย์เทรซซิ่ง และ LLVM
โครงการนี้ได้รับการแยกออกเป็นหลายเวอร์ชัน เช่น Quake3e [ 35 ] Spearmint [ 36 ]และ vkQuake3 [ 37 ] [ 38 ]
เอ็นจิ้นที่พัฒนาต่อยอดอื่น ๆได้แก่ เอ็นจิ้น Daemonที่ใช้โดยUnvanquished [ 39 ] [ 40 ] [ 41 ]รวมถึงพอร์ตซอร์สโค้ดคู่แข่งอย่าง XreaL [ 42 ] [ 43 ] Kwaak3 สำหรับAndroid [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ]และ Quake-3-Android-Port-QIII4A [ 50 ]
เกมส์
| ปี | ชื่อ | นักพัฒนา | หมายเหตุ |
|---|---|---|---|
| 1999 | เควก III อารีน่า | id ซอฟต์แวร์ | |
| 2000 | เฮฟวี่เมทัล: FAKK 2 | พิธีกรรมบันเทิง | อูเบอร์ทูลส์ |
| สตาร์เทร็ค: วอยเอเจอร์ – หน่วยรบพิเศษ | ซอฟต์แวร์เรเวน | ||
| อเมริกัน แม็กกีส์ อลิซ | โร้ก เอนเตอร์เทนเมนต์ | อูเบอร์ทูลส์ | |
| เควก III: ทีมอารีน่า | id ซอฟต์แวร์ | ||
| 2001 | เควก III รีโวลูชั่น | บูลฟร็อก โปรดักชั่นส์ | |
| เจมส์ บอนด์ 007: สายลับภายใต้สถานการณ์คับขัน | อีเอ เรดวูด ชอร์ส | อูเบอร์ทูลส์ | |
| กลับสู่ปราสาทวูล์ฟเฟนสไตน์ | Gray Matter Studios (SP) Nerve Software (MP) | ||
| 2002 | เหรียญกล้าหาญ: การโจมตีของฝ่ายสัมพันธมิตร | 2015 | อูเบอร์ทูลส์ |
| สตาร์ วอร์ส เจได ไนท์ 2: เจได เอาท์แคสต์ | ซอฟต์แวร์เรเวน | ||
| ทหารรับจ้าง 2: ดับเบิลเฮลิกซ์ | ซอฟต์แวร์เรเวน | ||
| เหรียญกล้าหาญ: การโจมตีของฝ่ายสัมพันธมิตร - สเปียร์เฮด | อีเอ ลอสแอนเจลิส | อูเบอร์ทูลส์ | |
| 2003 | วูล์ฟเฟนสไตน์: ดินแดนศัตรู | ความเสียหายจากการกระเด็น | |
| สตาร์เทรค: กองกำลังชั้นยอด II | พิธีกรรมบันเทิง | อูเบอร์ทูลส์ | |
| เหรียญกล้าหาญ: การโจมตีของฝ่ายสัมพันธมิตร - การบุกทะลวง | ซอฟต์แวร์ TKO | อูเบอร์ทูลส์ | |
| สตาร์ วอร์ส เจได ไนท์: เจได อะคาเดมี | ซอฟต์แวร์เรเวน | ||
| คอลออฟดิวตี้ | อินฟินิตี้ วอร์ด | อูเบอร์ทูลส์ | |
| 2004 | เจมส์ บอนด์ 007: ทุกอย่างหรือไม่มีอะไรเลย | อีเอ เรดวูด ชอร์ส | อูเบอร์ทูลส์ |
| Call of Duty: United Offensive | เกรย์ แมทเทอร์ สตูดิโอส์เทรย์อาร์ช | อูเบอร์ทูลส์ | |
| เหรียญกล้าหาญ: การโจมตีแปซิฟิก | อีเอ ลอสแอนเจลิส | อูเบอร์ทูลส์ | |
| 2008 | พลังแห่งการยึดครอง: ขุนศึก | ไอโซทีเอ็กซ์ | |
| 2009 | ความรอดอันมืดมิด | สตูดิโอดวงตาที่บิดเบี้ยว | |
| เกม Call of Duty คลาสสิก | อินฟินิตี้ วอร์ด | อูเบอร์ทูลส์ | |
| 2010 | เควกไลฟ์ | id ซอฟต์แวร์ | |
| ยกเลิก | ความรุนแรง | สตูดิโอสแกลเลชั่น | |
| ทรีนิตี้: ผลกระทบที่แตกสลาย | เกรย์ แมทเทอร์ สตูดิโอส์ | ||
| โลกนี้ยังไม่เพียงพอ | อิเล็กทรอนิกส์อาร์ตส์ |
ดูเพิ่มเติม
ลิงก์ภายนอก
- "หน้าข้อมูลใบอนุญาตอย่างเป็นทางการ ของid Tech 3"เก็บถาวรจากต้นฉบับเมื่อวันที่ 8 พฤศจิกายน 2552 เรียกดูเมื่อวันที่ 6 กรกฎาคม 2555
{{cite web}}: CS1 maint: bot: สถานะ URL เดิมไม่ทราบ ( ลิงก์ ) - แหล่งเก็บซอร์สโค้ดดั้งเดิมของ Quake III (id Tech 3)อยู่ที่ idsoftware.com
- คลังเก็บซอร์สโค้ดปัจจุบันของ id สำหรับ Quake III (id Tech 3)อยู่ที่github.com
- หน้าโครงการ ioquake3ส่วนต่อขยายของชุมชน
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ไอดี เทค 3
id Tech 3หรือที่รู้จักกันในชื่อเดิมว่าQuake III Arena engineเป็นเอนจิ้นเกมที่พัฒนาโดยid SoftwareสำหรับเกมQuake III Arena ในปี 1999 และต่อมาได้ถูกนำไปใช้ในเกมอื่นๆ อีกมากมาย...
กราฟิก
แตกต่างจากเอนจิ้นเกมอื่นๆ ส่วนใหญ่ที่วางจำหน่ายในเวลานั้น รวมถึงคู่แข่งหลักอย่าง Unreal Engine id Tech 3 ต้องการ การ์ดเร่งกราฟิก ที่รองรับ OpenGL ในการทำงาน เอนจิ้นนี้ไม่มี ตัวเรนเดอร์แบบซอฟต์แวร์ ซึ่งแตกต่างจาก id Tech 2
การสร้างเครือข่าย
เช่นเดียวกับเกมก่อนหน้าของ id อย่าง Doom และ Quake , Quake III Arena มีระบบรองรับผู้เล่นหลายคนผ่านฟีเจอร์ที่สร้างขึ้นในเอนจิ้น id Tech 3 ใช้ระบบสแนปช็อตเพื่อ ส่งต่อข้อมูลเกี่ยวกับเฟรมเกม ไปยังไคลเอนต์ผ่าน UDP...
ไอโอเควก3
Ioquake3 เป็น โครงการ เอนจิ้นเกม ที่มุ่งสร้างต่อยอดจากซอร์สโค้ด id Tech 3 [ 8 ] [ 9 ] เพื่อ กำจัด บั๊ก ทำความสะอาดซอร์สโค้ด และเพิ่มคุณสมบัติกราฟิกและเสียงขั้นสูงผ่าน SDL และ OpenAL Ioquake3 ยังตั้งใจให้เป็นแพ็กเกจพื้นฐานที่สะอาด ซึ่งโครงการอื่นๆ...
