יצירת משחק בסיסי ב-Game Maker

בפוסט הזה ובאלו שאחריו אני אתמקד ביצירת משחק ב-Game Maker, כאשר כל פעם נוסיף למשחק תכונות ואלמנטים אחרים. כל האלמנטים שאשתמש בהם נמצאים בספריית Game Maker 8, תוכלו למצוא אותה בספריית program files לאחר שתתקינו את התוכנה.

יצירת בסיס למשחק

במשחק הבסיסי יהיו האלמנטים הבאים:

דמות ראשית

הדמות הראשית תנוע ע”י מקשי החצים (בשליטה של השחקן, כמובן)

דמות אויב

דמות האויב תנוע באופן עצמאי בחדר, התנגשות של הדמות הראשית עם דמות האויב תגרום לשלושה דברים:

  • השמעת סאונד
  • הקפצת הדמות הראשית לנקודת ההתחלה
  • הורדת החיים ב-1

חיים

מן הסתם נצטרך גם חיים, במשחק יהיו 3 חיים, כאשר אין עוד חיים – המשחק נגמר.

בונוסים

כל בונוס שהדמות הראשית אוספת, תזכה ב-10 נקודות וישמע סאונד מתאים

ניקוד

ולכן אנחנו צריכים גם ניקוד, שמתחיל ב-0.

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

יצירת ספרייטים

אני מתחילה תמיד ביצירת הספרייטים עבור האוביקטים במשחק. במשחק הבסיסי נצטרך עבור הדמות שלנו 4 ספרייטים לפחות (תנועה לכל אחד מהכיוונים).
לא זוכרים איך יוצרים ספרייטים בתנועה? קראו שוב את הפוסט בנושא הסרת רקע בעורך התמונות, הוא כולל הסבר מפורט.

אז כמה ספרייטים אנחנו צריכים?

4 לדמות הראשית (הקפידו לשמור אותם בתיקייה נפרדת)

1 לדמות האויב (כמובן שאפשר יותר, אבל אנחנו נתחיל בזה)

1 לבונוס

טיפ חשוב שיעזור לכם בהמשך – לכל ספרייט ואוביקט, וגם לסאונדים, לפונטים ולחדרים תנו שם שמתאר אותם, אל תשאירו את השם שהוא ברירת המחדל, למשל, sprite0, אלא שנו את השם, למשל, לboyRight כאשר מדובר בדמות הראשית כאשר היא פונה ימינה.

יצירת אוביקטים

כעת ניצור 3 אוביקטים עבור: דמות ראשית, דמות אויב והבונוס.

create an Objectלחיצה על אייקון יצירת אוביקט בסרגל העליון תיצור אוביקט חדש.

לכל אוביקט נשייך את הספרייט שלו, במקרה של הדמות הראשית, נבחר את הספרייט שפונה ימינה.

יצירת סאונד

לחצו על אייקון יצירת סאונד ואח”כ על Load sound. במסך שיפתח בחרו אחד מקבצי הסאונד, אני בחרתי את beep1 וקראתי לו coin1, כיוון שהוא יהיה הסאונד שישמע כאשר הדמות תאסוף מטבע, ואת הסאונד boomshot עבור ההתקלות עם האויב.

בשלב הזה, אלו האלמנטים שצריכים להיות במשחק שלכם מסודרים בתיקיות

my First Game screen1

הוספת אירועים ופעולות לאוביקטים

נתחיל עם אירועים עבור הדמות הראשית.

האירועים הראשונים שנגדיר הם אירועי לחיצה על מקשי החצים, שבאמצעותם נזיז את הדמות הראשית.

1. תנועה

כדי שהדמות תזוז שמאלה, נוסיף אירוע לחיצה key press left ונשייך לו את הפעולה move fixed ע”י גרירה של האייקון לחלון ה-actions. (פעולה זו נמצאת בלשונית move של הפעולות). במאפייני התנועה נציין תנועה שמאלה ומהירות 3.

move left

2. שינוי ספרייט

עוד פעולה שנשייך לאירוע זה, הוא שינוי הספרייט לספרייט שבו הדמות פונה שמאלה.
פעולת שינוי ספרייט נמצאת בלשונית main1. נגרור אותה לחלון ה- actions ובאפשרויות נבחר את הספרייט שבו הדמות פונה שמאלה. אין צורך לשנות את יתר המאפיינים.

כך יראה חלון האפשרויות:

change sprite

3. פעולת עצירה

כדי שהדמות לא תמשיך לזוז כאשר אנחנו מפסיקים ללחוץ על מקש החץ במקלדת, אנחנו צריכים פעולת עצירה. נוסיף אירוע key release left ונשייך לו פעולה move fixed. הפעם במאפיינים נבחר את הריבוע המרכזי, שמסמל עצירה ונשאיר את המהירות על 0.

חלון האפשרויות יראה כך:

stop

יש לבצע את כל הפעולות בסעיפים 1-3 עבור כל הכיוונים.

כך אמור להיראות חלון המאפיינים של הדמות הראשית בשלב הזה:

main character

עכשיו נוסיף אירוע עבור מצב בו הדמות שלנו מחוץ לחדר.
למה צריך אירוע כזה? כדי שכל פעם שהדמות שלנו תצא מגבולות החדר, היא לא תמשיך ללכת עד אין קץ, אלא תיכנס שוב מהצד הנגדי. כמו בפקמן.
צריך לזכור שגם כאשר האוביקט מחוץ לחדר, עדיין המשחק שומר עבורו משאבים (זיכרון), שכדי שנרצה להשתמש בו שוב נוכל לעשות זאת. גם אם אנחנו נשכח את זה, game maker לא שוכח, וכל אוביקט כזה גם אם אינו מופיע בחדר, משפיע על משקל המשחק.

נחזור לפעולות. מה צריך כדי להחזיר את הדמות הראשית מהצד השני?

4. אירוע outside room

נוסיף את האירוע outside room שנמצא בקטגוריה other של האירועים ונשייך לו את הפעולה wrap screen שנמצאת בלשונית move. שימו לב, יש לבחור באפשרות in both directions, כיוון שאנחנו רוצים שהדמות תוכל להיכנס חזרה לחדר מכל הצדדים.

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

הרצה של המשחק

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

בפוסט הבא – התנגשות עם דמות אויב.

לפוסט הזה יש 22 תגובות

  1. איתי

    אני משתמש בunity 3D אבל אני עדין לא יודע איך להפעיל משחק

  2. אדר יערי

    אני הולך לתכנת משחק מגניב וכיפי

  3. יעל חקשוריאן

    בן – לא משנה איזה שם תתן לקובץ הסאונד, כל עוד הוא באנגלית ולא בעברית.
    רצוי שהשם יתאר את סוג הסאונד.

  4. ben

    זה משנה מה יהיה השם של הסאונד?

  5. חסוי אלמוני

    איך קוראים לתוכנה ליצור המשחק?

  6. עמרי

    התוכנה לא עובדת לי, אין חיבור לסרבר שלהם..
    חבל 🙁

  7. אהרון

    אני לא הבנתי כלום, במילא אני גרוע באנגלית ואני לא מבין כלום

  8. יעל חקשוריאן

    יובל הקובץ הוא בגרסה ישנה של Game Maker ולכן יש לפתוח אותו ישירות מהתוכנה של Game maker

  9. יובל

    אני הורדתי את הקובץ אבל שאני לוחץ על פתח זה לא עושה כלום אני צריך שזה יתמוך במשהו? מה אני צריך לעשות בשביל שזה יעבוד

  10. רז

    אני מוריד זה מזה טוב

  11. Shaunna Gustave

    Best post, which everyone should be interested. This blog may become my favorite.

  12. יעל חקשוריאן

    נדב, לפני שאתה מתחיל ליצור משחק בדוק האם יש לך רעיון למשחק ואיך אתה רוצה שהוא יתנהל. אני מציעה לך לקרוא קודם את הפוסט בנושא תכנון ואפיון של משחק מחשב:
    http://www.gamestudies.co.il/wordpress/?p=953
    בהצלחה.

  13. נדב

    איך יוצרים משחק ???

    1. אהרון

      אני כמוך היום זה פעם ראשונה שאני מתעסק בזה ואני בן 12

  14. יעל חקשוריאן

    אדירוס – מה בדיוק אתה לא מצליח לעשות?

  15. אדירוס

    דיי אני לא מצליח!XDD

    1. אהרון

      כמוך

  16. אדירוס

    קול אני רוצה ליצור משחק בשם ציקלופ!

    1. דביר

      גם אני לא הבנתי

  17. דניאל

    יפה

להגיב על אדר יערי לבטל