הנדסת תוכנה בפיתוח משחקי מחשב

קוד קורס: 10103
2.5 נ"ז

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

חומר הלימוד:

  1. מבוא – מה זה משחק? מה נדרש לפיתוח משחק. שפת ג'אווה כפלטפורמה לפיתוח משחקים.
  2. מבוא הנדסי – מניפולציות על וקטורים ומטריצות, יצוג עצמים במישור ובמרחב, יחסים גיאומטריים בין עצמים. התנגשויות, תנע, זוית.
  3. מבוא חישובי – גרפיקה בג'אווה, יצוג עצמים, מערכת קואורדינטות וצבעים, תכנות מונחה אירועים. רנדומליות בג'אווה.
  4. הפרדת הממשק מהלוגיקה – בניית מנוע משחק בסיסי. משחקים לשחקן אחד כמו סודוקו, ריבוע קסם, תשבץ וכו'. בניית מנוע ששולט בחוקי המשחק, יצירת משחקים רנדומליים, הפרדת רמות, שמירת משחק.
  5. אנימציות ותזמון אובייקטים – מה זאת אנימציה? שימוש ב-Timer, יצירת תנועה ע"י Threads, הגדרת sprites, מימוש היבטים של תנועה כמו התנגשות, קפיצה, סיבוב וכו'. מימוש משחקים כמו פקמן, דיגר, סנייק, שובר קירות וכו'.
  6. קול בג'אווה – הוספת סאונד, שליטה בפס קול, אפקטים מיוחדים, מיקום שליטה בקול בתיכון המשחק.
  7. השחקן הממוחשב – מימוש שחקן מחשב, מבוא לבינה מלאכותית עבור משחקים – מימוש חוקיות למשחק, עצי החלטה, יוריסטיקה, אלגוריתם מינימקס.

רשימת ספרות מומלצת:

Davison A., Killer Game Programming in Java, O'Reilly Media May 1, 2005

Buckland M., Programming Game AI by Example, Jones & Bartlett Learning; 1 edition September 30, 2004

קרא עוד