איך לעשות Pause ב-Game Maker

קצת מוזר, אבל אין פעולה שמורה של Game Maker עבור עצירה (pause) במשחק.

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

לשם כך נכין שני אובייקטים עם ספרייטים כמובן.

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

האוביקט הראשון יהיה בתנועה עד שנלחץ על pause. בדוגמא המצורפת – ריבוע כחול.

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

המשחק יחזור לנקודה בה הפסיק בלחיצה על מקש כלשהו במקלדת.

הוספת אירועים ופעולות

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

לאוביקט השני – ריבוע אדום הוסיפו אירוע של press realese של העכבר (כלומר, מה קורה כאשר לוחצים על הלחצן השמאלי של העכבר)

לאירוע זה הוסיפו פעולה של קוד – execute code והוסיפו את הטקסט הבא:

keyboard_wait();
io_clear();
כעת צרו חדר והוסיפו לו את שני האובייקטים.
הריצו את המשחק ולחצו על pause. אם המשחק עצר, עשיתם את זה נכון.
כרגיל אני מצרפת את קובץ המשחק לדוגמה להורדה (9.6kb)

פשוט וקל, לא?

אהבתם את הפוסט? אל תשכחו לעשות לייק [fblike]

איך ליצור קובייה ב- Game Maker

בפוסט זה מדריך קצר ליצירת קוביה וירטואלית ב- Game Maker.

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

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

ניצור 6 ספרייטים עבור כל פאה של הקובייה.

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

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

הגדרת פעולות לאובייקט

את פעולות שינוי הספרייט של האובייקט נגדיר באירוע יצירה – create.

סבירות וסיכויים

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

בכל פעם שאנו מטילים קובייה שיש לה 6 פאות הסבירות שתופיע הספרה 1 היא 1/6, כיוון שחוץ מהספרה 1 יכולות להופיע באותה מידה כל אחת מ-5 הספרות הנוספות. כל אחת באותה סבירות. לעומת זאת, אם הספרה 1 היתה מופיעה פעמיים על הקובייה, נניח במקום הספרה 6, תופיע שוב הספרה 1, אזי הסבירות שתופיע הספרה 1 כשנטיל את הקובייה היא 2/6.

כיוון הקובייה שלנו מייצגת קובייה תיקנית, הסבירות עבור כל אחת מהספרות היא 1/6.

נחזור להגדרת הפעולה עבור אירוע היצירה

כעת נוסיף את הפעולה – test chance שלמעשה בודקת את הסיכויים עבור כל אחת מהספרות. פעולה זו נמצאת בלשונית control. במאפייני בפעולה בשדה sides נגדיר 6, כיוון שזו הסבירות שתופיע כל ספרה:

test Chance

נוסיף את הפעולה change sprite עבור כל בדיקה בהתאם.

כך יראה המסך לאחר הוספת כל הפעולות לאירוע יצירה – create:

test Chance actions

 יצירת חדר

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

קובץ המשחק להורדה (קובץ exe, ניתן להשתמש בו כקובייה וירטואלית, גודל הקובץ 4.0 MB). לחצו על כל מקום במסך כדי לקבל מספרים חדשים באופן אקראי כל פעם מחדש.

אהבתם את הפוסט? עשו לייק [fblike]

משחקים בחינוך – מי רוצה להיות מיליונר?

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

את המשחק מי רוצה להיות מליונר כולם מכירים, נכון? את המבנה של מבחן אמריקאי גם כולם מכירים. אז למה לא לחבר בין השניים? במקום שאלות במבחן – שאלות במשחק מי רוצה להיות מליונר.

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

יש תבניות/מצגות מוכנות למשחק, אבל אני יצרתי אותו ב- Game Maker.
כמובן אפשר לעשות את המשחק גם עבור נושאים או קהל אחר, בעבר השתמשתי במשחק זה עבור מצגת למנהלים. כך במקום להציג להם בשקפים את כל המידע מוכן, הצגתי להם אותו כמשחק ובדקתי איתם מה הם יודעים על הנושא שהוצג.

שאלות ותשובות

הכינו שאלות בנושא המוצג, ו- 4 תשובות אפשריות לכל שאלה. אין לכם 4 תשובות? לא נורא, תמיד אפשר להשתמש בתשובות: אף תשובה לא נכונה, כל התשובות נכונות, או תשובות ב ו-ג נכונות…

כל השאלות במשחק הזה מבוססות על החומר שנלמד במסגרת שעורי משחקולוגיה – עיצוב ופיתוח משחקי מחשב בחט"ב דורות בראשל"צ.

שאלה לדוגמה:

מי רוצה להיות מיליונר - שאלה לדוגמא

חוקי המשחק

לא תמיד אפשר לשחק לפי חוקי המשחק כמו בטלוויזיה, במיוחד אם אין לכם אפשרות לבדוק את הקהל, או להתקשר עם חבר טלפוני. אבל כמעט תמיד אפשר להכין מראש 2 תשובות עבור 50:50. שימו לב, שאתם מוודאים שתמיד תישאר בין ה-2 אחת מהתשובות הנכונות…
תוכלו לקבוע כללים אחרים לגמרי, אני שיניתי את כללי המשחק כדי להתאים אותם למגבלות של שיעור בכיתה והרי הם בקצרה:

קבוצות המשחק: אדומים נגד כחולים, כל קבוצה תבחר: נציג + מתווך.
הנציג יושב כאשר גבו מופנה לכיוון הקבוצה

הגרלת קבוצה מתחילה תתבצע ע"י הטלת קובייה וירטואלית. הקבוצה שהגרילה מספר גבוה יותר – תתחיל ראשונה.

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

המתווך בלבד מעביר מידע בין הקבוצה לנציג. למתווך מותר לומר לנציג רק אחת מ-4 אותיות (א, ב, ג, ד) המייצגות את התשובה הנכונה לדעתם.

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

הקבוצה שבסוף המשחק צברה הכי הרבה נקודות היא הקבוצה המנצחת.

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

אם התשובה נכונה – הקבוצה מקבלת נקודה. אם הנציג ענה תשובה שונה מהחלטת הקבוצה והתשובה שגויה הקבוצה לא תקבל נקודה ולקבוצה יש אפשרות להחליף בין הנציג למתווך (אין אפשרות להחליף בין יתר חברי הקבוצה)

עזרה 50:50 – לכל נציג יש פעם אחת אפשרות להשתמש בעזרה מסוג זה.
אם הנציג הוחלף, הנציג החדש מקבל גם הוא עזרה אחת מסוג 50:50

פסילות

כל פנייה ישירה בין הנציג לקבוצה ללא מתווך = פסילה
כל תשובה שתישמע ע"י אחד מחברי הקבוצות = פסילה לקבוצה שלו
כל העברת מידע, למעט האותיות א, ב, ג, ד בין המתווך לנציג = פסילה

קבוצה שצברה 3 פסילות – מאבדת תור בסבב השאלות (כלומר הקבוצה השנייה תקבל שתי שאלות רצופות.

משתתפים

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

 חומר עזר

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

מי ניצח?

קבוצת הכחולים. אבל מה זה משנה? העיקר שכולם נהנו ויודעים את התשובה לשאלה 8 – Left Realese מגדיר מה קורה בשחרור הלחצן השמאלי בעכבר.

המשחק להורדה

רוצים לראות את כל המשחק ב- Game Maker? הורידו אותו מכאן. (גודל הקובץ 4.85 MB)

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

כדי לעבור בין השאלות לחצו על הספרות במקלדת (מאחד עד 0 לשאלות 1-10) ועל אותיות qwerty (לשאלות  11-16) , רק לפי סדר זה, לא ניתן לדלג.

כדי להשתמש בעזרה 50:50 לחצו על F12.

כדי להתחיל את המשחק מההתחלה לחצו על F11.

אהבתם את הפוסט? אל תשכחו לעשות לייק [fblike]

איך ליצור משחק מחשב פשוט – חלק ב'

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

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

אוביקט המטוס

נתחיל עם אוביקט המטוס ע"י יצירת ספרייט ואוביקט מתאימים.

לאוביקט המטוס נשייך אירוע אחד ופעולה אחת – כאשר המטוס מחוץ לחדר (אירוע outside room) נהרוס את המופע של האוביקט (destroy the instance).

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

אוביקט מנהל

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

לאוביקט זה נשייך שני אירועים: אירוע יצירה ואירוע alarm.

אנחנו רוצים שמופע של האוביקט יכנס מהחלק העליון של המסך, בכל פעם מנקודה אחרת על ציר ה-X (רוחב מסך)  לכיוון הציפור, כלומר כלפי מטה. ולכן נגדיר באירוע יצירה את המאפיינים הבאים:

1. נבחר את האוביקט המתאים, במקרה זה airplaneObj

2. נגדיר את נקודת ה-X בה יופיע האוביקט. כדי להגדיר נקודה אקראית, נשתמש בפונקציה random ובסגריים נגדיר את התחום ממנו המחשב יחשב נקודה אקראית.
כדי שהמטוס לא יופיע מחוץ למסך נגדיר את רוחב המסך (כלומר רוחב החדר) פחות רוחב האוביקט של המטוס.
לדוגמא, רוחב החדר במקרה זה הוא 640 ורוחב המטוס הוא 128, ולכן הנקודה המקסימלית שהאוביקט יכול להופיע בו על ציר ה-X מבלי שהמטוס יחתך היא 512. אני הגדרתי 510. את הרוחב נגדיר בתוך סגריים אחרי שם הפונקציה, כך:

create airplane

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

ערך המהירות צריך להיות בערך כמו המהירות של תנועת הציפור והכיוון כלפי מטה. כדי להגדיר את הכיוון למטה הגדירו 270. למה? כיוונים מוגדרים כמו זויות במעגל נגד כיוון השעון, ולכן ימינה=0, למטה=270, שמאלה=180 ולמעלה=90.

 הוספת אירוע עבור יצירת מופעים נוספים של אוביקט המטוס

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

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

אירוע שעון מעורר

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

כך יראה חלון האפשרויות של האוביקט המנהל:

manager object

הוספת פעולות ואירועים לציפור

הוספת חיים וניקוד לאוביקט הציפור

לאוביקט הציפור נוסיף אירוע יצירה ונשייך לו את הפעולות הבאות:

הגדרת חיים – אני הגדרתי 3, תוכלו להגדיר כמות אחרת אם תרצו. – set lives

הגדרת ניקוד – מתחיל ב- 0 – set the score

הצגת הניקוד והחיים בחלון המשחק – set the score caption info

 

אירוע No more lives

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

הוספת אירוע התנגשות

לאוביקט הציפור נוסיף אירוע התנגשות עם המטוס ונשייך לו פעולה של הריסת מופע המטוס (אחרת תמשיך להיות התנגשות עם הציפור).

bird object

 הרצת המשחק

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

בפוסט הבא – המשך המדריך: הוספת אוביקט גוזל עם אירועים ופעולות מתאימים.

 

אהבתם את הפוסט? אל תשכחו לעשות לייק [fblike]

איך ליצור משחק מחשב פשוט? – חלק א'

בפוסט זה מדריך ליצירת משחק מחשב פשוט בתוכנת Game Maker. המדריך כולל קטעי קוד קצרים שהוספתי באמצעות הפעולה Execute Code.
כמה פשוט יהיה המשחק? מאוד.
ניצור משחק שבו אובייקטים נכנסים מהחלק העליון של המסך וצריך לתפוס אותם או להתחמק מהם בחלק התחתון של המסך.
האובייקטים שאותם צריך לתפוס נותנים נקודות ואלו שמהם צריך להתחמק – מורידים נקודות.
במשחק הזה, האוביקט שבו נשלוט תהיה ציפור קטנה. הציפור צריכה להתחמק ממטוסים ולתפוס גוזלים.
המשחק הזה יכול להיות בסיס לכל משחק בסגנון זה ע"י שינוי הספרייטים של האובייקטים. פשוט לא? אז נתחיל בשלבים ליצירת המשחק.

יצירת דמות

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

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

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

אירועים ופעולות לדמות הציפור הראשית

לדמות הציפור נוסיף אירועי לחיצה על מקשי החצים עבור תנועת הציפור ימינה ושמאלה.
כדי שהדמות לא תיעלם בכל פעם כהיא יוצאת מצד אחד של החדר, נוסיף פעולה של כניסה מהכיוון השני לאירוע Outside Room.

הגדרות החדר

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

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

 

תנועת רקע החדר

הרקע יזוז רק כאשר תהיה תנועה של הציפור (ע"י לחיצה על מקשי החצים במקלדת) ולכן את הקוד עבור תזוזת הרקע נוסיף לפעולות של הציפור.

כדי ליצור מצב בו רקע החדר נע לכיוון ההפוך של כיוון מעוף הציפור (להמחשת התנועה) נוסיף לאירוע של תנועת הציפור Key Press Right/Left קטע קוד שכולל את השורה הבאה: background_hspeed = -2 כך שהרקע יזוז שמאלה (סימן המינוס מגדיר את כיוון התנועה לשמאל) או background_hspeed = 2 לתנועה של הרקע ימינה.

באירוע Left/Right Release הוסיפו את הפקודה: background_hspeed = 0, כך הרקע יעצור בכל פעם שהציפור תעצור.

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

birdObjectPro

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

כך יראה המסך (כשהציפור נעה באמצעות מקשי החצים ימינה ושמאלה והרקע לכיוון הנגדי):

[youtube width="600" height="365" video_id="9lp6a6H1X1c"]

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

משימה לטבלת אלופים לשבוע 22/1-27/1

משימת האלופים לשבוע 22/1-27/1, עבור תלמידי ח4 בחטיבת ביינים דורות – תרגול חדרים ב- Game Maker.

1. צרו קובץ משחק חדש ובו 5 חדרים:  room0, room1, room2, room3, room4

בכל אחד מהחדרים יופיע שם החדר (ע"י תמונת רקע מתאימה)

2. צרו 4 ספרייטים של חץ לכל אחד מהכיוונים: up, down, right, left (תוכלו ליצור ספרייט אחד ולשנות לו את הכיוון)

3. צרו 4 אובייקטים עבור כל חץ: up, down, right, left

4. הוסיפו את כל החצים ל-Room0 בצורה הבאה:

room 0

5. לחיצה על החצים (left release) תעביר לחדרים השונים לפי:

  • לחיצה על חץ עליון up תעביר לחדר 1
  • לחיצה על חץ עליון down תעביר לחדר 2
  • לחיצה על חץ עליון left תעביר לחדר 3
  • לחיצה על חץ עליון right תעביר לחדר 4

הוסיפו אפקטים של מעברים שונים בין החדרים

6. הוסיפו את האובייקטים של החצים ליתר החדרים באופן שיופיעו רק החצים שמובילים לחדרים אחרים. למשל, ב-room1 לא יופיע חץ up וכן הלאה, לדוגמא:

room1

את הקובץ יש לשלוח אלי במייל עד יום רביעי הבא, כלומר עד ה- 1/2/2012, ב- 23:30 יש לכם הרבה זמן.

קובץ התרגיל לא יעלה על 100K.

בהצלחה!

יצירת נתיב (path) ב-Game Maker

נתחיל בהסבר קצר מה זה נתיב ומתי נשתמש בו.

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

מתי כדאי להשתמש בנתיב?

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

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

 [youtube width="600" height="365" video_id="z4jCnXpc65Q"]

עוד כמה דברים שכדאי לדעת לגבי נתיבים:

הגדרת נתיב

לכל נקודת מפנה בנתיב יש x, y ומהירות

מהירות 100 = המהירות המקורית של מופע האובייקט.

המהירות תשתנה בהדרגה מנקודה לנקודה (אם יש ביניהן שינוי של ערך המהירות)

 איך מוסיפים או מוחקים נקודות בנתיב?

לחיצה על עכבר ימני למחוק נקודה

לחיצה על עכבר שמאלי להוסיף נקודה

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

 סוגי קווים

ניתן ליצור קוים ישרים או עגולים

ניתן ליצור נתיב פתוח או סגור

 

שיוך נתיב לאובייקט

כדי לשייך נתיב לאובייקט הגדירו אירוע ופעולה עבור הפעלת הנתיב ועדכנו את המאפיינים הבאים:

Path – איזה נתיב לשייך לאובייקט

Speed – מהירות שלילית = מנקודת הסוף להתחלה, מהירות חיובית = מנקודת ההתחלה לסוף

אם נבחר בשדה at end את האפשרות reverse האובייקט ינוע בנתיב מנקודת הסיום להתחלה בחזרה.

Absolute = האובייקט יתחיל לנוע במסלול בדיוק מהמיקום שנקבע בנתיב (גם אם הוא ממוקם בחדר במקום אחר).

 

משימה לטבלת אלופים לשבוע 15/1-20/1

משימת האלופים לשבוע 15/1-20/1, עבור תלמידי ח4 בחטיבת ביינים דורות – הפוסט הזה בשבילכם, אבל התרגיל הזה יכול להתאים לכל מי שרוצה לתרגל את הנושא של Time Line ונתיבים.

1. צרו קובץ משחק חדש ובו אוביקט של כדור (תוכלו להשתמש בספרייטים של game maker). שימו לב שאתם יוצרים שני ספרייטים עבור האוביקט בשני צבעים שונים. ביצירת האוביקט השתמשו באחד מהצבעים שיצרתם.

2. עם תחילת המשחק הכדור ינוע בצורה ראנדומלית על גבי המסך (שימו לב שהמהירות לא גדולה מ- 5)

3. בלחיצה על הכדור עם הלחצן הימני של העכבר יקרו הפעולות הבאות, ע"י שימוש ב-time line:

  • הכדור יחליף את צבעו (שינוי של ספרייט)
  • הכדור ינוע בנתיב מוגדר מראש (שימוש ב- path) פעם אחת ויעצור
  • הכדור יחליף את צבעו (שינוי של ספרייט) לצבע המקורי
  • הכדור יחזור לנקודת הפתיחה ויתחיל לנוע בצורה ראנדומאלית על המסך.

קובץ התרגיל לא יעלה על 100K. את הקובץ יש לשלוח אלי במייל עד ליום רביעי ב- 23:30.

בהצלחה!

איך ליצור טיימר (Timer) ב- Game Maker

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

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

מה צריך בשביל להגביל את המשחק בדקה?

אוביקט Timer

כדי שיראו את הטיימר על המסך צריך אוביקט שיכלול משתנה שיספור עבורנו 60 שניות.

ניצור אוביקט בשם timer

אירוע Create

נוסיף לאוביקט אירוע create וזה כיוון שאנחנו רוצים שהספירה תתחיל עם יצירת האוביקט.

לאירוע זה נוסיף את הפעולות הבאות:

1. יצירת משתנה בשם time ונגדיר לו ערך 60 (כיוון שבכל דקה יש 60 שניות).

var time

2. הפעלה של שעון (alarm) לאחר 30 צעדים (שזה שווה ערך לשנייה אחת)

alarm

אירוע שעון – Alarm

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

מוסיפים לאירוע שעון את הפעולות הבאות (שימו לב, יש להוסיף אותו ל- alarm0 שהוא אותו שעון שמופיע באירוע create):

הפחתה של 1 למשתנה time (שימו לב שאתם נותנים לו בדיוק את אותו השם שנתתם באירוע create). יש לסמן את התיבה relative כיוון שאנחנו רוצים שכל פעם תופחת שנייה מסך כל השניות הנותרות.

time-1

בדיקה של ערך משתנה time

כעת נוסיף בדיקה של המשתנה time. אם הוא קטן מ-0 המשחק יסתיים. אם לא נמשיך להוריד 1 מהמשתנה.

בדיקה האם המשתנה קטן מאפס:

if time smaller than 0את הפעולות הבאות נתחום בבלוק:

1. הצגת הודעה למשתמש (כדי לא לסגור את המשחק בפתאומיות)

game over

2. סגירה של המשחק (נמצא בלשונית main2 בפעולות).

אם המשתנה אינו קטן מאפס:

נפעיל שוב את שעון 0 אחרי 30 צעדים (כלומר נספור עוד שניה, בדיוק כפי שבצענו באירוע create).

alarm

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

alarm actions

הצגה של השניות על המסך

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

הוספת אירוע ציור Draw

לאירוע draw נוסיף פעולה Draw Variable שנמצא בלשונית control.

נציין איזה משתנה להציג – time וכן את המיקום שלו.

draw time

אני קבעתי x=100 ו- y=30, אבל כמובן תוכלו להגדיר את המיקום במקום המתאים לכם במסך.

הוספת האוביקט לחדר

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

הריצו את המשחק – תוכלו לראות את השניות יורדות ובסיום 60 שניות תופיע הודעה על סיום המשחק.

 

מסכה ל-sprite ב-Game Maker

את הפוסט הזה אני כותבת בתשובה לשאלתו של ניר: "איך יוצרים mask לספרייט?"

מה זה מסכה (Mask) ומתי משתמשים בה?

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

מסובך? נסביר את זה כך, נניח שיש לכם דמות שנראית כך:

simple sprite

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

בדיקת התנגשות

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

לקריאה נוספת על יצירת משחק פלטפורה ובדיקת התנגשות

במקרה של בדיקת התנגשות עם פלטפורמה, הדמות שלנו תיתלה עם יד אחת על הפלטפורמה וכל יתר חלקי הגוף ישארו באויר. כך בערך:

simple sprite platform

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

simple sprite platform 2

 

איך עושים את זה? באמצעות Mask.

בסרטון הבא – מדריך קצר להוספת mask ל- sprite במשחק פלטפורמה פשוט.

 [youtube width="600" height="365" video_id="e0wFF2uHEgw"]

 

איך לעדכן את חלון העזרה (F1)

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

[youtube width="600" height="365" video_id="UnpFwR55k0g"]

לחיצה על F1 תיפתח את חלון המידע אודות המשחק.
תוכלו להוסיף בחלון זה הוראות משחק, מידע על יוצרי המשחק, או כל מידע אחר שתרצו לגבי המשחק.

אם עדכנתם מידע בחלון – Game Information  ובכל זאת לא נפתח החלון כאשר אתם לוחצים על F1 במקלדת – זה כיוון שF1 לא מוגדר עבור חלון Game information במשחק.

איך להגדיר את F1 שיציג את המידע ב- Game Information

עברו ל- Global game settings:

global game settings

בחלון שנפתח בחרו באפשרות Other וודאו שמסומן V באפשרות להציג את F1 עבור Game Information

איך תיצרו משחק מחשב בעצמכם – מדריכים

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

יש לי רעיון למשחק!

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

תכנון המשחק

איך לתכנן מסכים ותפריטים

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

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

התוכנות המוצעות במאמר זה חוץ מ- Game Maker הן: Adventure Game Studio ו- WinterMute

המדריכים באתר הזה מתייחסים לפיתוח משחקים בתוכנת Game Maker בלבד.

שימו לב להגבלות בגרסת  Game Maker Studio Free

מדריכים צעד אחר צעד

אם אין לכם עדיין רעיון ואתם רוצים להתנסות בפיתוח משחק באמצעות תוכנת Game Maker הורידו והתקינו את התוכנה.

הכרת תוכנת Game Maker – סרגל הכלים.

עבודה ב- Advanced Mode

יצירת חדר ושמירת קובץ המשחק

אובייקטים מופעים וספרייטים

הוספת רקע לחדר (סרטון)

 מאפייני חדר ומעבר בין חדרים (כולל קובץ להורדה)

מעקב אחר דמות – view (כולל קובץ להורדה)

Time Line (כולל קובץ להורדה)

הוספת נתיב Path ושיוך נתיב לאוביקט (סרטון)

בדיקה של ביטוי והגדרת משתנה (כולל קובץ להורדה)

הצגת הניקוד במיקום מוגדר במסך (כולל קובץ להורדה)

שינוי מיקום אובייקט בלחיצה על המסך (כולל קובץ להורדה)

יצירת מפה מוקטנת

הסרת רקע בעורך התמונות

איך להוסיף טיימר (timer)

איך ליצור מסכה (Mask) לספרייט (כולל סרטון)

עריכה של רצועת תמונות

הגדרת עורך סאונד

 הוספת מידע / עזרה למשחק (סרטון)

איך ליצור קובייה (כולל קובץ המשחק להורדה)

איך להוסיף לחצן Pause למשחק (כולל קובץ המשחק להורדה)

איך לבדוק כמה אובייקטים נשארו במשחק (כולל קובץ המשחק להורדה)

איך ליצור אובייקט שעוקב אחרי אובייקט אחר

שינוי תת תמונה להצגה – image_index (כולל קובץ המשחק להורדה)

איך לשנות את סמן העכבר

איך ליצור אובייקט מתפוצץ? (כולל קובץ המשחק להורדה)

איך להוסיף מאפייני פיזיקה למשחק (Game Maker Studio)

הוספת חיים וניקוד למסך המשחק (Game Maker Studio)

 

יצירת משחק מחשב פשוט – איך ליצור משחק מחשב בכמה שלבים פשוטים

יצירת משחק מחשב פשוט חלק א

יצירת משחק מחשב פשוט – חלק ב

מדריכים ליצירת משחק מחשב מלא

יצירת משחק בסיסי (כולל קובץ להורדה)

יצירת משחק בסיסי – הוספת התנגשות ופסילות (כולל קובץ להורדה)

יצירת משחק בסיסי – הוספת בונוסים ניקוד (כולל קובץ להורדה)

יצירת משחק בסיסי – הוספת ירי (כולל קובץ להורדה)

יצירת משחק פלטפורמה (כולל קובץ להורדה)

משחקי לוח / משחקי קופסה

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

 

לאתר זה נוספים מדריכים כל הזמן – הירשמו ל-RSS כדי להתעדכן או הצטרפו לדף הפייסבוק וקבלו את כל הפוסטים ישירות לפייסבוק שלכם

איך תיצרו משחק מחשב בעצמכם – חלק 4

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

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

מתי נשתמש בתנועה לתמונת הרקע?

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

[youtube width="560" height="315" video_id="ySxM9AM932c"]

דוגמא למשחק בו הרקע בתנועה ב- Game Maker הוא Scrolling Shooter, משחק יריות שבו הדמות הראשית היא מטוס. שימו לב, אפילו אם לא תעשו כלום המטוס יטוס – וזה כיוון שהרקע ויתר האובייקטים במסך זזים לכיוונו.

a scrolling shooter

מדריך מלא למשחק כולל קבצים ניתן להוריד מעמוד המדריכים הרשמי של אתר yoyo games.

איך תיצרו משחק מחשב בעצמכם – חלק 2

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

סרגל הכלים

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

tools
אלו רק חלק מהאייקונים המופיעים בסרגל הכלים, אבל הם החשובים לנו כרגע.

תיאור הפעולות בסרגל הכלים

תיאור האייקונים משמאל לימין:

new game – Create a new game  – יצירה של משחק חדש.

– Open an existing game – פתיחה של קובץ משחק קיים (קובץ עריכה)

 – Save the game – שמירת קובץ המשחק. מי שלא עבד על מחשב לפני שנות התשעים, אולי לא מכיר את התקליטון (floppy) ששימש לשמירה של קבצים עד 1.44MB (פעם זה הספיק!), מדיות האחסון השתנו מאז, אבל האייקון נשאר נאמן ל- floopy.

create exe – יצירת קובץ stand-alone executable – פורמט זה מאפשר לשחק במשחק שלך גם למי שלא מותקן אצלו Game Maker במחשב.

publish – publish – פרסום הקובץ ע"י העלאה שלו לאינטרנט

run – run the game – הרצה של המשחק

run debug – run the game in debug mode – הרצה של המשחק במצב של איתור באגים

– create a sprite – יצירה של ספרייט  (או ייבוא של קובץ מוכן)create sprite

create sound – create sound  – יצירה של סאונד (או ייבוא של קובץ מוכן)

 – create a background יצירה של רקע  (או ייבוא של קובץ מוכן)

create path – create a path – יצירת נתיב

create script – create a script – כתיבה או ייבוא של קטע קוד

 – create a font – יצירה של פונט

create time line – create time line – יצירה של (רצף פעולות על) קו זמן

create an object – create an object – יצירה של אוביקט

 create a room –  create a room – יצירה של חדר

 

ספריות הקבצים

כל הקבצים שמרכיבים את המשחק מתויקים בספריות לפי סוג הקובץ. כל קבצי התמונות (שאינם רקעים) יתויקו תחת ספריית sprites, כל קבצי הקול תחת ספריית sound וכך הלאה.  התיוק נעשה אוטומטית עם העלאה של הקובץ למשחק.

כך נראית רשימת הספריות ביצירה של משחק חדש:

files

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