Id Tech 3
id Tech 3 הוא מנוע משחק שפותח על ידי id Software עבור המשחק Quake 3: Arena ומאוחר יותר עבור משחקים רבים, בדרך כלל תחת השמות Quake 3: Arena engine או Quake 3: Team Arena engine. כשם שהמשחק פותח כדי להתחרות בUnreal Tournament, כך גם המנוע פותח כדי להתחרות במנוע של UT הלוא הוא Unreal engine.
מימין - 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 הוא וריאציה של המנוע המפורסם 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
עריכה- Heavy Metal: F.A.K.K.²(2000)
- American McGee's Alice(2000)
- Medal of Honor: Allied Assault(2002) וההרחבות שלו Spearhead ו-Breakthrough
- Star Trek: Elite Force II(2003)
ראו גם
עריכהקישורים חיצוניים
עריכה- אתר האינטרנט הרשמי של Id Tech 3
- קוד המקור של המשחק להורדה מאתר id(הקישור אינו פעיל)
- קוד המקור של המשחק להורדה מאתר github
- סקירת קוד המקור של המנוע
- פרויקט ioquake3
הערות שוליים
עריכה