מנוע משחק

  • פותח הנושא koler
  • פורסם בתאריך

koler

New member
מנוע משחק

שלום. אני חדש בתחום למדתי JAVA ועכשיו אני קורא על הצד הגראפי שלה. אני רוצה לשאול: 1. מה נותן לי פיתוח מנוע משחק? 2. מה אפשר לעשות איתו? 3. איך אני מתחיל לבנות מנוע כזה? תודה רבה
 

freak2100

New member
הא?

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

koler

New member
אפשר לקבל קישור ליותר מידע?

כמו איך בונים? וכמו מה הרעיון.. ואיך משלבים עם הגרפיקה והכל? מצטער על הבורות
 

somebodddy

New member
ברוך הבא לשירותה של הוד מעלתה!

קודם כל, אני רוצה לברך אותך על הבחירה שלך. JAVA היא שפה מעולה שמשלבת פשטות, עוצמה ומהירות. ועכשיו לעניין - בתור מתכנת משחקים מתחיל שעובד פחות או יותר לבד, יש לך שתי אפשרויות - אתה יכול להשתמש במנוע מוכן או לבנות אחד בעצמך. מן הסתם תוכל למצוא בקלות מנוע מוכן הרבה יותר טוב ממה שתוכל לבנות לבד בלי להעליב, צוות של אנשים מנוסים יכולים לעשות עבודה הרבה יותר טובה ממה שאתה יכול לעשות כרגע. מצד שני, אם אתה בונה את המנוע לבד אתה יכול להוסיף בקלות כל מיני דברים חדשים כשאתה נתקל בצורך להוסיף אותם. אבל אתה לא שאלת "מה נותן לי מנוע משחק שפיתחתי בעצמי?". אתה שאלת "מה נותן לי פיתוח מנוע משחק?". גם אני מיד אחרי שלמדתי קצת גראפיקה בJAVA ניגשתי לפתח מנוע. מה זה נתן לי? המון ניסיון. כשאתה כותב מנוע, גם אם זה מנוע פשוט, אתה מתמודד עם כל מיני בעיות מאתגרות, בין אם זה בעיות של אלגוריתם משחק כמו קפיצות על אובייקטים בתוך המשחק(זה נשמע פשוט אבל לקח לי המון זמן לממש את זה), ובין אם זה בעיות יותר טכניות כמו סאונד(רמז - פונקצית הקול הבסיסית של JAVA לא עושה את העבודה כמו שצריך). זה מלמד אותך הרבה על השפה ועל פיתוח משחקים - הרבה יותר ממה שאתה יכול ללמוד אם אתה סתם מתכנת משחקים עם מנוע מוכן. זה גם מאוד כיף! מנוע משחק הוא בעצם החומר שממנו בנויות העצמות של המשחק. הוא כולל את לולאת המשחק הראשית, שזה בעצם הקוד שרץ ב"רקע" של המשחק וקורא לכל הפונקציות האחרות. הוא כולל גם מחלקות אב לכל מה שירוץ לך בתוך הלולאה הראשית(למשל מחלקת אב לדמויות, מחלקת אב לאירועי התנגשות וכו'). כדאי מאוד שהוא יכלול גם קוד לקלט. לבסוף רצוי שהמנוע גם יכלול כל מיני כלים שיעזרו לך במשחק. כל מנוע משחק יכול להריץ גראפיקה של דמויות על המסך, אבל בדרך כלל הם גם יכולים לעשות הרבה יותר - למשל לבדוק התנגשויות, לעשות קצת פיסיקה(אם אין מנוע פיסיקלי נפרד) וכו'. איך אתה מתחיל? דבר ראשון, תזכור לשים כל מה שקשור למנוע בחבילה(package) נפרדת. בJAVA לשים אותם במחלקות נפרדות זה כמעט טבע שני, אבל אם לא תשים אותם בחבילה נפרדת יהיה לך בלאגן אחר כך. קודם כל אתה צריך לבנות משהו שיכיל את הגראפיקה. במנוע שלי אני השתמשתי בJComponent אבל זו בחירה שלך. אחרי זה אתה צריך לבנות לולאת משחק, שתרוץ שוב ושוב(עם הפסקה בין פריים לפריים[כל ריצה של הלולאה נקראת "פריים"]). הלולאה צריכה להריץ קוד שיצייר דברים וקוד שיזיז דברים. אני ממליץ לבנות מחלקות אב בשביל זה, ולתת ללולאה איזה מבנה נתונים בשביל להכיל אותם, כדי שתוכל לכתוב קוד כזה בקלות כשאתה כותב משחקים. אחרי זה כדאי גם להוסיף גם בקרת התנגשות, פונקציות לטעינת גראפיקה ופונקציות קלט או מחלקות קלט, ומשם הבמה שלך. אם תצטרך עזרה תרגיש חופשי לשאול כאן.
 
למעלה