Id Tech 3

מתוך ויקיפדיה, האנציקלופדיה החופשית
id Tech 3

מימין - Quake 3: Arena, המשחק הראשון להשתמש במנוע זה משמאל - המשחק Call of Duty, אחד מהמשחקים האחרונים להשתמש במנוע זה
מימין - Quake 3: Arena, המשחק הראשון להשתמש במנוע זה
משמאל - המשחק Call of Duty, אחד מהמשחקים האחרונים להשתמש במנוע זה
מפתח id Software
מחזור חיים 1999–הווה (כ־25 שנים)
מערכת הפעלה Microsoft Windows
Macintosh
פלייסטיישן 2
Xbox
Dreamcast
Linux
נכתבה בשפות C
סוג רישיון הרישיון הציבורי הכללי של גנו
קוד מקור ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip עריכת הנתון בוויקינתונים
קטגוריה מנוע משחק
דף הבית (ארכיון)
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

id Tech 3 הוא מנוע משחק שפותח על ידי id Software עבור המשחק Quake 3: Arena ומאוחר יותר עבור משחקים רבים, בדרך כלל תחת השמות Quake 3: Arena engine או Quake 3: Team Arena engine. כשם שהמשחק פותח כדי להתחרות בUnreal Tournament, כך גם המנוע פותח כדי להתחרות במנוע של UT הלוא הוא Unreal engine.

כמו קודמו, גם id Tech 3 הוא וריאציה של המנוע המפורסם Quake engine, אם כי בניגוד לקודמו id Tech 2, רוב הקוד במנוע שוכתב מחדש. id Tech 4, המנוע שפותח עבור דום 3, התבסס על מנוע זה.

קוד המקור פורסם ב-2005 על ידי ג'ון קארמק לציבור הרחב תחת הרישיון הציבורי הכללי של גנו וניתן להורדה מהאתר של id.

תכונות[עריכת קוד מקור | עריכה]

גרפיקה[עריכת קוד מקור | עריכה]

בניגוד למנועים הקודמים, הוחלט בפיתוח מנוע זה לנטוש את האצת התוכנה (המבוצעת על ידי המעבד המרכזי) ולכן כדי להריץ משחקים המופעלים במנוע זה נדרש מאיץ חומרה (כרטיס מסך) תואם OpenGL. המנוע הציג תמיכה במשטחים מעוגלים על בסיס משטחים מישוריים, אשר אחראים לחלק ניכר מהממשטחים הנוכחיים בתוך המשחק.

המנוע הציג טכנולוגיית מצללים (Shaders) חדשנית, כאשר הרעיון העומד בבסיס הטכנולוגיה הזו היא ליצור שכבה של טקסטורות דינאמיות בה חישובי האור והצל במשטח מסוים ישתנו על פי תזוזת השחקן ואיך שהשחקן מסתכל על המשטח שלפניו.[1] לצורך יישום טכנולוגיה זו נעשה שימוש בסקריפטים מיוחדים (shader scripts) שבהם נעשה שימוש בשורש הריבועי הפוך מהיר לחישוב המצללים.

הווידאו במשחק משתמש בפורמט קנייני בשם RoQ שפותח במקור על ידי המעצב של Quake 3 בעבור המשחק The 11th Hour. גם קוד המקור של פורמט זה השתחרר לציבור כקוד פתוח, אולם הוא לא נראה הרבה במשחקים אחרים פרט לאלה מבוססי id Tech 3 ו-4.

מודלי תלת המימד במשחק נשמרים בפורמט MD3 שלצורך בנייתם נעשה שימוש באנימציה "קודקודית" (Vertex animation) בניגוד לפורמט MD2 ממנועים קודמים שהשתמש באנימציית "שלד". באמצעות שימוש בפורמט שכזה ניתן היה ליצור אנימציות תלת־ממדיות מורכבות יותר שלא מוגבלות במספר ה־keyframes לשנייה, ואפשור חלוקת המודל לחלקים כדי ליצור עבור כל חלק אנימציה נפרדת וכך להפוך את האנימציות ליותר ריאליסטיות. המודלים התלת־ממדיים מוארים ומוצללים באמצעות הצללת גוראוד (Gouraud shading - שיטת הצללה שפותחה בשנות ה-1970 על ידי הנרי גוראוד המבוססת על אינטרפולציה של קווי המצולע מקודקודיו[2]), בעוד שהמפות (שנשמרות, כמו המנועים הקודמים, בפורמט BSP) מוארות על ידי מפת-תאורה (lightmap). הייתה אמורה להיות גם תמיכה בפורמט MD4 אך נראה שהיא מעולם לא הושלמה[3] אם כי Ritual Entertainment פיתחו תמיכה שכזאת במשחק Heavy Metal: F.A.K.K². (מאוחר יותר הם שחררו שדרוג למנוע המשחק בשם Ritual's ÜberTools)

טכנולוגיות נוספות שהוצגו במנוע הם שימוש בצללים דינאמיים בעבור המודלים, נתינת נפח לאובייקטים כגון עננים או ערפל, פורטלים, מראות, סימני פגיעות קליעים, ואנימציה ריאליסטית יותר של מקווי מים.

סאונד[עריכת קוד מקור | עריכה]

במנוע נעשה שימוש ב־2 ערוצי סאונד עם סטריאו מרחבי ואפקט דופלר שהמיקס שלו נעשה כחלק מהמנוע, מה שהקשה על מפתחים חיצוניים להכניס לשם אפקטים כגון סאונד חיצוני, והיווה גם פגימה בביצועי המשחק במיוחד בתפריטים שם הסאונד שנשמע הופק מהמנוע עצמו כמו הגרפיקה ולא ממיקסר נפרד.

רשת[עריכת קוד מקור | עריכה]

המנוע הציג טכנולוגיית "snapshot" כדי לשלוח מידע לשרתי המשחק בזמן אמת על פרוטוקול UDP. כמו כן המנוע הציג למנהלי השרתים שיטה למניעת שימוש בציטים ועזרי משחק לא חוקיים בשם "Pure server" בו כל מי שנכנס לשרת הזה נסרק קודם כל על ידי המערכת לראות אם יש לו עריכות לא חוקיות של הקליינט. בעדכון האחרון ביותר של המשחק Quake 3‏(1.32) הוצגה גם מערכת Anti cheat מובנית בשם PunkBuster (שמשתמשים בה הרבה משחקים אחרים ונחשבת למתחרה הגדולה ביותר של Valve Anti-Cheat) שפועלת הן ברמת הקליינט והן ברמת השרת. כיוון שזו מערכת קניינית היא לא נכללה בשחרור הקוד הפתוח.

משחקים המשתמשים במנוע[עריכת קוד מקור | עריכה]

משחקים שמשתמשים בהפצת ioquake3 מבוססת קוד פתוח[עריכת קוד מקור | עריכה]

  • Space Trader
  • Smokin' Guns
  • Urban Terror שהיה קיים כמוד ושוחרר מאוחר יותר כמשחק עצמאי
  • Tremulous

משחקים שמשתמשים בהפצה המסחרית של המנוע[עריכת קוד מקור | עריכה]

  • Quake 3: Arena‏(1999)
    • ההרחבה Quake 3: Team Arena‏(2000)
  • Star Trek: Voyager – Elite Force‏(2000)
  • Return to Castle Wolfenstein‏(2001)
  • 007: Agent Under Fire‏(2001)
  • 007: Everything or Nothing‏(2004)
  • Soldier of Fortune II: Double Helix‏(2002)
  • Star Wars Jedi Knight II: Jedi Outcast‏(2002)
  • Star Wars Jedi Knight: Jedi Academy‏(2002)
  • Call of Duty‏(2003) וההרחבה United Offensive‏(2004)
  • Call of Duty Classic‏(2009)
  • Severity‏(2007)
  • Iron Grip: Warlord‏(2008)
  • Dark Salvation‏(2009)
  • Quake Live‏(2010)

ממשחקים שמשתמשים בהפצה המסחרית של המנוע עם ÜberTools[עריכת קוד מקור | עריכה]

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]