חזרה
Catlantean 3D: משחק יריות בסגנון 1993 עם פלטה של 256 צבעים
SiTech AI Team3 წთ. საკითხავი

Catlantean 3D: משחק יריות בסגנון 1993 עם פלטה של 256 צבעים

המפתח מרקו סטאניץ' פרסם יומן פיתוח ראשון ל-Catlantean 3D, משחק יריות בגוף ראשון שנבנה בטכניקות של תחילת שנות ה-90: רזולוציית 320x240, פלטה של 256 צבעים ורינדור שנכתב ביד.

המפתח מרקו סטאניץ' פרסם יומן פיתוח ראשון ל-Catlantean 3D, משחק יריות בגוף ראשון שהוא בונה בזמנו הפנוי כבר יותר משנה ואמור לצאת ב-Steam. זהו תרגיל באילוצים מכוונים: המשחק נכתב מאפס, כולל הנכסים, והן הרינדור והן מיקס הסאונד נעשים ביד.

חוקים משנת 1993

הרזולוציה המיועדת היא 320x240 עם 256 צבעים — VGA Mode-X ולא 320x200 הקלאסי של Mode 13h, מפני ש-320x200 על צג 4:3 יוצר פיקסלים לא מרובעים. הלוגיקה של המשחק משתמשת בחשבון נקודה קבועה כדי שההתנהגות תהיה דטרמיניסטית בכל הפלטפורמות, בעוד הרינדור רשאי להשתמש בנקודה צפה. שכבת הפלטפורמה היחידה המותרת כוללת מאגר פריימים, קלט מקלדת ועכבר, מאגר אודיו וקריאה/כתיבה לקבצים. ברינדור מבוסס פלטה כל פיקסל הוא בית אחד — אינדקס בפלטה של 256 צבעים — ולכן כל בחירת צבע חייבת להיות מחושבת. הפלטה, 768 בתים, שומרת מקומות לשקיפות, ללבן טהור ולשחור טהור, ואת השאר היא מקדישה לאדומים צבע דם, לירוקים ולכחולים למפתחות ולדלתות מקודדות בצבע, לגווני המדבר של קטלאנטיס — ארץ פרודית בסגנון מצרים העתיקה — ולאפורים של המתקנים הקיברנטיים שכובשים אותה.

תאורה בלי שיידרים

Catlantean 3D הוא רייקסטר קלאסי: המפה היא רשת משבצות, וכל עמודת מסך נסרקת באלגוריתם DDA כדי לקבוע היכן היא פוגעת בגאומטריה. שיידר היה מחשיך גאומטריה רחוקה על ידי הכפלת וקטור הצבע במקדם, אבל מרנדר מבוסס פלטה מכיר רק אינדקסים, ומעבר על הפלטה עבור כל פיקסל איטי מדי. לכן המנוע מחשב מראש מפת צבע: 32 רמות הצללה, כאשר לכל צבע 31 גרסאות כהות יותר שנלקחות מהפלטה עצמה. ההתאמה הקרובה ביותר נמצאת במרחב התפיסתי Oklab ולא לפי מרחק אוקלידי, שנטה למשוך הכול לאפור, וגוונים כהים מוטים מעט לגוונים חמים — טכניקה מוכרת בפיקסל ארט בשם hue shifting. בזמן ריצה החיפוש הוא O(1): אינדקס השורה נגזר ממרחק הפרגמנט חלקי טווח הראייה, ומכיוון שקירות אנכיים, רצפות אופקיות וספרייטים שטוחים, הוא מחושב פעם אחת לעמודה, פעם אחת לשורה ופעם אחת לספרייט.

נכסים וכלים

הגרפיקה מגיעה משלושה מקורות: ספרייטים מצוירים ביד, טקסטורות שנוצרות באופן פרוצדורלי על ידי סקריפטים בפייתון, ומודלים תלת-ממדיים שמורכבים ומונפשים ב-Blender ואחר כך מרונדרים לגליונות ספרייט דרך ה-API של פייתון ב-Blender. הרינדורים יצאו תחילה מטושטשים ודהויים, ולכן סטאניץ' נעזר ברכיב הקומפוזיציה של Blender לניגודיות ובהירות קצוות, ואחר כך סקריפט מכמת את התמונה לפלטה ואורז אותה בפורמט TEX של המשחק. ספרייטים של אויבים מרונדרים לכל אנימציה בשמונה כיוונים. עריכת השלבים החלה ב-Tiled אך עברה לעורך עצמאי ב-wxPython עם צביעת תאורה לפי תא, דגלי תאים והרצת שלב ישירות; חלק מהמודל שלו נשען על pybast, מעטפות פייתון לחלקים הפנימיים של המנוע.

תוכניות יציאה

סטאניץ' מתכוון להוציא את Catlantean 3D ברבעון הראשון של 2027 במחיר של כ-5 עד 8 דולר. קוד המקור יפורסם כקוד פתוח ב-GitHub, ואילו ארכיון הנתונים — גרפיקה, שלבים, צלילים ומוזיקה — ידרוש רכישה של המשחק.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.