Quake engine

Quake Engine (מנוע המשחק Quake, ידוע גם בשמות id Tech או id Tech 2.0) הוא מנוע משחק שפותח ב-1996 על ידי id Software עבור המשחק Quake. המנוע היה הראשון שהציג רינדור תלת-ממד בזמן אמת (מה שנקרא "תלת־ממד 'אמיתי'") המנוע היה בסיס טוב למנועי הדורות הבאים ששימשו את משחקי id הבאים, דוגמת Quake 2, Quake 3: Arena ועוד, וכן לשלל מודים ומנועי משחק אחרים דוגמת GoldSrc, ששימש את Half-Life. רוב הפיתוח של המנוע נעשה על ידי ג'ון קארמק, אם כי המתכנת מיכאל אברש עזר לו בפיתוח אלגוריתמים והתאמה לשפת מכונה. מאוחר יותר המנוע שודרג משמעותית כדי שישרת את המשחק Quake 2, ונקרא id Tech 2. המנוע היה הראשון מבית איד, ובין הראשונים בכלל, שהציג רינדור תלת-ממד בזמן אמת, בכך שבניגוד למנוע הישן ששירת את DOOM בו היה שימוש בספרייטים כדי ליצור את הסביבה והמודלים התלת־ממדיים, בנה את תצוגת התלת־ממד באמצעות פוליגונים שמאפשרים מראה הרבה יותר ריאליסטי. בכך, העומס שנדרש מהמעבד ומהמעבד הגרפי כדי להציג את הגרפיקה פחת בצורה משמעותית, וכדי להציג את המנוע בצורה מיטבית היה מספיק "רק" במעבד במהירות 55MHz. עורך המפות עוצב כתוכנה לעיצוב תלת-ממדי, שבו נעשה שימוש במברשות וכלי עריכה שונים כדי ליצור אובייקטים גרפיים על גבי המפה. כמו כן, המנוע הציג יכולת לחשב מקומות מוארים ומוצללים מראש בתלות באזור הרצוי, טכנולוגיה שהשתמשו בה הרבה משחקי תלת־ממד עד למנוע דום 3 שהציג את טכנולוגיית ההצללה וההארה המאוחדת. המנוע גם הציג טכניקה להצגה הדרגתית של חלקים מרוחקים במפה (הכוונה היא שאזורים מרוחקים מהשחקן יראו באופן מטושטש או כדי להפחית את העומס הגרפי, וכן טכניקות שונות שמטרתן הייתה להאיץ את תהליך הרינדור ומניעת יצירה מחדש של טקסטורות או מודלים שרונדרו כבר. המנוע השתמש בטכניקת הצללה ייחודית עבור המודלים התלת־ממדיים הנעים, בעוד שעבור הטקסטורות והמודלים הסטאטיים נעשה שימוש במפת-תאורה (Lightmap). המנוע, שתוכנן לרוץ באמצעות האצת תוכנה מותאמת ל־DOS ולWindows בנפרד, היה גם הראשון שהציג גם האצה מבוססת-חומרה שהטילה את העיבוד הגרפי על כרטיס המסך ולא רק על המעבד המרכזי. עבור כך הם השתמשו בממשק פריסת התצוגה OpenGL, שעל בסיסו פותחו גם המנועים הבאים תוצרת id. בנוסף לחידושים הגרפיים, המנוע הציג יכולות מתקדמות לשליטה בתנועות השחקן בשילוב המקלדת והעכבר. Quake היה המשחק תלת־ממד הראשון מבית id שהציג יכולת קפיצה. כמו כן נוספה האפשרות של מבט חופשי באמצעות העכבר לכל הכיוונים וכן האפשרות לכוון ולירות באופן ידני על אויבים שנמצאים מעל השחקן או מתחתיו, מה שהוסיף לתחושת הריאליזם. (בניגוד לדום, שם הכיוון היה אוטומטי לאויב לא משנה אם הוא נמצא מעל השחקן או מתחתיו ואף בלי שום צורך להזיז את העכבר ממש לכיוונו) מבחינת מצב מרובה משתתפים, המנוע תמך בשני מצבי משחק: Co-op וקרב "כולם על כולם" (Deathmatch) אם כי פותחו מודים צד שלישי שהוסיפו עוד מצבי משחק. המשחקים יכלו להתקיים דרך האינטרנט או דרך רשת מחשבים פנימית (LAN). המנוע השתמש לשם כך במודל לקוח-שרת, שאפשר הקמה של שרתים ביתיים וגם שרתי משחק ייעודיים. מודל זה שוכלל ושודרג במנועים הבאים וכן ביתר גלגוליהם. ב-21 בדצמבר 1999, שוחרר קוד המקור של המנוע לציבור הרחב תחת הרישיון הציבורי הכללי של גנו, מה שאפשר יצירת מודים ואף מנועים שלמים עצמאיים שפותחו על בסיס מנוע Quake. הווריאציות המפורסמות כוללות: Darkplaces - מנוע שמשתמשים בו בעיקר ליצירת גרסאות ומודים באיכות גבוהה למשחק GoldSrc - המנוע שפותח על ידי Valve לשימוש במשחק Half-Life, וכן הגלגול המפורסם שלו - מנוע Source Twilight Engine - ששם דגש על ביצועים מהירים ביותר ועוד. המשחקים שנבנו על מנוע זה באו ללא תוכנה ביתית לעריכת מפות תוצרת id, אולם Valve Hammer Editor שנבנתה עבור Half-Life מאפשרת גם בניית מפות למשחקי Quake הראשון והשני. Quake HeXen 2 Half-Life, Counter-Strike, Team Fortress Classic תחת מנוע GoldSrc Laser Arena CIA Operative: Solo Missions Urban Mercenary Silver Wings אתר האינטרנט הרשמי של Quake engine ניתוח הקוד של מנוע Quake קוד המקור של המנוע http://www.bluesnews.com/abrash/http://www.bluesnews.com/abrash/