24a2 הוא מנוע משחק בסיסי מאוד, אך פועל במלואו, עבור מתכנתי JavaScript. יש לו מראה ותחושה יוצאי דופן, אבל אתה יכול להשתמש בו כדי ללמוד את היסודות של תכנות משחקים.
עם תמיכה בלולאת משחק, גרפיקה צבעונית וקלט פשוט, ל-24a2 יש את כל מה שצריך כדי ליצור משחקים קטנים במינימום מאמץ.
בדוק את 24a2 והתחיל את המסע שלך לקראת פיתוח משחקים מלא עוד היום.
מה זה 24a2?
24א2 הוא מנוע קטן בקוד פתוח שעוזר לך לבנות משחקים בסיסיים. זה מאוד קל ללמוד וכל מה שאתה צריך כדי להתחיל לבנות את המשחקים שלך הוא דפדפן אינטרנט ועורך טקסט.
24a2 לוקח את שמו מהרזולוציה שלו: 24 x 24. אפילו בהשוואה לאחרים מנועים מינימליסטיים כמו PICO-8, עם רזולוציית 128 x 128 שלו, זה זעיר! 24a2 משתמש ב'פיקסלים' עגולים, עם פערים גדולים ביניהם, כך שהוא נראה די ייחודי.
סביר להניח שלא תשתמש ב-24a2 כדי להמציא את משחק הווידאו הבא, אבל זה לא באמת העניין. 24a2 מושלם למתחילים, ואתה יכול להשתמש בו כדי ללמוד כמה מהמושגים הבסיסיים מאחורי פיתוח משחקים.
זה נהדר גם ליצירת אב טיפוס של רעיון ליבה. אם אתם מוצאים את עצמכם מוסחים מפיזיקה מורכבת של משחק או אנימציות ספרייט, הפשטה של כל זה אמורה לעזור לכם להתמקד.
יתרה מכך, קוד המקור 24a2 הוא א קובץ TypeScript יחיד. אתה יכול להשתמש בו להשראה, או אפילו לשנות אותו, כדי ליצור מנוע משחק משלך ומתקדם יותר.
איך משתמשים ב-24a2?
התחל עם תבנית בסיסית למשחק שלך:
<html>
<רֹאשׁ>
<תַסרִיט
src=" https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
תַסרִיט>
<תַסרִיטsrc="game.js">תַסרִיט>
רֹאשׁ>
<גוּף>גוּף>
html>
שים לב כיצד זה משתמש ברשת אספקת תוכן (cdn.jsdelivr.net) למקור engine.js קובץ, כך שאתה אפילו לא צריך להוריד או להתקין שום דבר.
התסריט השני, game.js, מיועד לקוד המשחק שלך. התחל עם קוד העבודה המינימלי המוחלט, כדי לבדוק שהכל עובד כמו שצריך:
new Game({}).run();
תוכנית זעירה זו תציג את רשת ברירת המחדל 24a2 בדפדפן האינטרנט שלך:
לאחר מכן, תרצה להכיר את פונקציות ה-callback של 24a2 המהוות את הליבה של המנוע. מושגים אלה ניתנים להעברה בין מנועי משחק, כך שלימוד כיצד הם פועלים יועיל לך מעבר לשימוש שלך ב-24a2.
יש קומץ של פונקציות חיוניות שאתה יכול להגדיר ולהעביר לבנאי Game() באמצעות a תצורה לְהִתְנַגֵד.
לתת config = {
ליצור: ליצור,
עדכון: עדכון,
onKeyPress: onKeyPress,
onDotClicked: onDotClicked
};
לתת משחק = חָדָשׁ משחק (תצורה);
game.run();
24a2 קורא לפונקציה שציינת ב-config.create כשהיא מופעלת. אתה יכול להשתמש בזה כדי לאתחל את התצורה של המשחק שלך, להגדיר מבני נתונים וכו'.
פוּנקצִיָהלִיצוֹר(מִשְׂחָק) {}
פונקציית העדכון פועלת מעת לעת למשך המשחק שלך. זה לולאת המשחק הראשית אשר, במנועים אחרים, מורכב בדרך כלל משלבים נפרדים לעדכון מצב המשחק ולציור מחדש של המסך. עם 24a2, אתה תטפל בשתי הפעולות בפונקציה זו.
פוּנקצִיָהעדכון(מִשְׂחָק) {}
לבסוף, כדי ללכוד קלט, תרצה להתמודד עם לחיצות על מקשי החצים, לחיצות עכבר או שניהם. 24a2 מעביר כיוון לפונקציית onKeyPress שלך כאשר הנגן לוחץ על מקש חץ. זה מעביר קואורדינטות x ו-y ל-onDotClicked אם הם לוחצים על נקודה באמצעות העכבר שלהם.
פוּנקצִיָהonKeyPress(כיוון) {}
פוּנקצִיָהonDotClicked(x, y) {}
אילו סוגי משחקים אתה יכול ליצור עם 24a2?
ה אתר 24a2 מכיל שלושה משחקים לדוגמה כולל הדרכה. האחרים שהוא מציג הם משחק סנייק פשוט ואתגר סקי.
ה מאגר GitHub כולל קישורים לכמה משחקים אחרים כולל Space Invaders, Tic-Tac-Toe ותוכנית Paint מינימלית. You Killed a Bear הוא מתקדם יותר ו-Maze Craze הוא הדגמה טובה של איך לשכב גרפיקה נוספת על גבי הרשת הסטנדרטית.
24MadRush הוא 'שיבוט' טטריס שעושה שימוש נהדר בפלטת הצבעים. זה גם מתחיל עם מדריך חדשני שניתן לשחק בו המדגים את התכונות שלו.
המפרט הטכני של משחקי 24a2
24a2 מוגבל מאוד, לפי התכנון. אבל זה מספק הזדמנות מצוינת ליצירתיות. אחד מ טיפים מובילים להיות יותר יצירתיים זה לאמץ אילוצים.
מלבד הרזולוציה המוגבלת שלו, 24a2 מגביל אותך ל:
- פלטת צבעים של תשעה צבעים בלבד: אלה בקשת בתוספת שחור ואפור.
- קלט בסיסי מאוד: לחיצות על מקשי החצים ולחיצות עכבר על רשת הנקודות.
- שקט: אין תמיכה במוזיקה או אפקטים קוליים בכלל.
עם זאת, אתה תמיד יכול לכתוב קוד JavaScript משלים כדי להרחיב את המשחק שלך מעבר למגבלות אלה. ומכיוון שהמנוע הוא קוד פתוח, אתה חופשי לפתח אותו בכל דרך שתמצא לנכון.
עודד את עצמך לדברים גדולים יותר עם 24a2
נסה לבדוק את עצמך עם 24a2. צור מחדש משחק קלאסי או המציא משחק משלך. משחקים מבוססי תור, כמו משחקי לוח, יעבדו טוב מאוד עם המנוע.
אם 24a2 מצית את התשוקה שלך לפיתוח משחקים, יש המון הזדמנויות להמשיך במסע. PICO-8, Godot, Unity ו-GameMaker הן כולן אפשרויות פופולריות.