29th יונ2014

משחקים דורות תשעד

by יעל חקשוריאן

בתאריך 17/6/2014 התקיים אירוע הסיום של תכנית משחקולוגיה בחט"ב דורות בראשון לציון.

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

הנה כמה מהמשחקים להורדה (בפורמט exe). כל המשחקים פותחו באמצעות Game Maker

מתקפת החיידקים

משחק זה זכה במקום הראשון (!)

מפתחות המשחק: הילה קריספין ושירי סמוך

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

קובץ המשחק להורדה (6.6MB)

מתקפת החיידקים

 

שולימאוס

משחק זה זכה במקום השני

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

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

קובץ המשחק להורדה (16MB)

shoolymousepicturestart

 

Square the Revenge

מפתחי המשחק: שחר משה, ליאור יעקובי ויונתן טרייבוס

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

קובץ המשחק להורדה (8.6MB)

swag logo

לצפייה בתמונות מהאירוע

19th ינו2014

הגדרות פיזיקה (Game Maker Studio)

by יעל חקשוריאן

הגדרות פיזיקה

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

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

שימו לב שלכל אובייקט נוספה אפשרות של Uses Physcs :

uses physics

סימון האפשרות יפתח את ההגדרות של Physics עבור אותו אובייקט:

uses physics properties

מאפייני פיזיקה

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

Restitution – השבה
השבה ב- Game Maker מגדירה את מידת ה"קפיציות" של אובייקט. למשל, כדור יקפוץ כמה פעמים על משטח/מול משטח.

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

Linear Damping – דעיכה לינארית
מגדיר את דעיכת המהירות של אובייקט.

Angular Damping – דעיכה זוויתית
מגדירה את דעיכת מהירות התנועה (סיבובית) של אובייקט

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

 

הגדרת החדר

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

Room is physics world

יש לוודא כי האפשרות Room is physics world מסומנת.

18th ינו2014

הבדלים ב- Game Maker Studio Free

by יעל חקשוריאן

Game Maker Studio הושקה במאי 2012. היתרונות הבולטים של גרסה זו הם:

אפשרות לייצא משחק ל- iOS ואנדרואיד, ו- Windows 8.

אפשרות לייצא משחק כ- Html5.

סביבת עבודה משותפת לעבודת צוות.

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

אפשר לקרוא בהרחבה על מאפייני Game Maker Studio כאן.

 

Game Maker Studio – FREE

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

מספר חדרים מוגבל ל- 5
מספר קבצי Sprites מוגבל ל-20
מספר קבצי סאונד מוגבל ל-10
מספר אובייקטים מוגבל ל-15
מספר רקעים מוגבל ל-5
מספר צירי זמן מוגבל ל-5
מספר סקריפטים מוגבל ל-10
מספר גופנים מוגבל ל-5
מספר נתיבים מוגבל ל-10

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

06th ינו2014

מבחן או פרויקט גמר?

by יעל חקשוריאן

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

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

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

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

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

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

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

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

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

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

הערכה באמצעות פרויקט סיום

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

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

למידה חווייתית ויישום בפועל

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

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

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

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

טקס משחק השנה 2013 של GameIS – האירוע בו הוצג המשחק כאשר תזמורת נגנה את מוזיקת הרקע בזמן אמת לפי ההתרחשויות במשחק עצמו:

צילום: GameX.co.il

05th ינו2014

Dragon Rage – בטקס משחק השנה GameIS 2013

by יעל חקשוריאן

Dragon Rage הוא משחק שפותח במיוחד עבור טקס משחק השנה 2013, של עמותת GameIS.

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

יוצרי המשחק

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

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

המשחק

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

את המשחק תוכלו להוריד מכאן (10.4MB) . שימו לב, המשחק בגרסה זו כולל רק sound effects.

Dragon Rage screen

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

20th יונ2013

משחקים תשע"ג

by יעל חקשוריאן

באירוע הסיום שהתקיים ביום רביעי האחרון (19-6-2013) הציגו תלמידי כיתה ח4 בחטיבת הביניים "דורות" בראשון לציון את פרויקט הסיום שלהם, לאחר שנה שלמדו בתכנית משחקולוגיה – פיתוח משחקי מחשב.

סה"כ הציגו 10 פרויקטים – משחקי מחשב שפותחו באמצעות תוכנת Game Maker .

כמובטח, חלק מהמשחקים ניתנים להורדה כאן, להנאתכם.

Deadly Ever After

יוצרי המשחק: טל קורן, יותם טיחובר, מיקול גורליק

תקציר:

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

קובץ המשחק להורדה (12.5MB)

Deadly Ever After1

DOORS

יוצרי המשחק: ניתאי נדיבי, בירן מטרסו

קובץ המשחק להורדה (11.0MB)

DOORS

07th מרץ2013

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

by יעל חקשוריאן

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

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

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

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

כדי לעשות את זה אנחנו צריכים לעשות שני דברים:

1 ליצור אובייקט שיופיע על המסך ויזוז לפי המיקום של העכבר.

2. להסתיר את הסמן המקורי של העכבר.

 

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

אני יצרתי ספרייט פשוט של כוונת, על-ידי יצירת עיגול עם שני קוים בתוכו – כמו פלוס:

Sight

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

הגדרת אירועים ופעולות

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

לאירוע זה נוסיף פעולה Jump to Positin שנמצאת בלשונית move. 

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

בשדה X: את הערך mouse_x (כלומר, נקודת ה-X של האוביקט יהיה בנקודת ה- X של העכבר)

בשדה Y: את הערך mouse_y (כלומר, נקודת ה-Y של האוביקט יהיה בנקודת ה- Y של העכבר).

יצירת חדר

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

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

 

ביטול סמן העכבר

כדי לבטל את הצגת סמן העכבר המקורי בחדר, נעבור למאפייני קובץ המשחק – Global Game Settings שנמצא מתחת לכל הספריות בחלון העריכה:

globalProperties1

בחלון המאפיינים שיפתח, בלשונית Graphics (הלשונית הראשונה), בטלו את הסימון באפשרות display the cursor.

globalProperties

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

 

21st ינו2013

כלים לפיתוח משחקי מחשב בכיתה

by יעל חקשוריאן

לאחרונה קיבלתי פניות ממורים רבים ששאלו אלו כלים קיימים על-מנת ליצור משחק מחשב בכיתה, או משחק מחשב לניהול שיעור בכיתה.

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

 

Game Maker | Scratch | Kodu | Mama

Game Maker

Game Maker קיימת כבר מספר שנים ומיועדת עבור מפתחי משחקים מתחילים וגם עבור מפתחים מקצועיים. לאחרונה, Game Maker יצאה בגרסה באמצעותה ניתן לפתח משחקים גם לסמארטפונים: iOS, אנדרואיד, Windows Phone 8 ו- Html 5.

בגרסה הבסיסית אפשר לפתח משחק למחשב אישי והיא מתאימה למערכות הפעלה Windows ו- Mac.

לתוכנה קיימת שפת תכנות – GML – Game Maker Language ייעודית, מי שמעוניין לפתח באמצעות קוד, או להוסיף קוד לפיתוח.

הורדה והתקנה של Game Maker

את התוכנה ניתן להוריד מאתר YoYo Games,  קיימת אפשרות להוריד את התוכנה גם באמצעות חשבון ב- Steam

מדריכים ל- Game Maker

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

כמו כן, קיים אתר ה- Wiki של Game Maker הכולל מדריכים לפיתוח משחק החל מהצעד הראשון.

חומרי הדרכה למורים ב- Game Maker (באנגלית)

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

יתרונות

ניתנת להורדה חינם

התוכנה מתאימה גם למי שאינו יודע לתכנת ( ניתן לפתח משחקים באמצעות Drag & Drop).

בגרסאות מלאות התאמה ל- iOS, אנדרואיד, Windows Phone 8 ו- Html 5.

תמיכה ב- 3D.

מתאימה גם לתוכניתנים  ניתן לפתח בשפת GML.

חסרונות

התוכנה באנגלית בלבד (נדרש ידע בסיסי באנגלית לשימוש בתוכנה)

גרסאות Game Maker Studio Standard / Professional – בתשלום.

בסרטון דוגמא לאפשרויות ויכולות שאפשר ליצור עם Game Maker

Scratch

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

את התוצרים ניתן להעלות לאתר Scratch ישירות מהתוכנה, לאחר רישום משתמש באתר.

הורדה והתקנה של תוכנת Scratch

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

מדריכים ל- Scratch

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

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

גם לScratch קיימים פורומים לפי תחומים או שפה.

יתרונות

ניתנת להתקנה ועבודה על מערכות הפעלה: Windows, Mac, Ubuntu.

קיימת גרסה בעברית, מתאים גם לכיתות נמוכות.

ניתן להורדה בחינם.

לא נדרש ידע בתכנות

חסרונות

פרסום התוצרים אפשרי באתר Scratch בלבד.

אין תמיכה בתלת מימד (3D).

Kodu

Kodu היא סביבת פיתוח ממעבדות המחקר של מיקרוסופט ליצירת משחקים בתלת מימד (3D) למחשבי PC ול- 360 XBOX. ניתן ליצור משחקים מעולמות קיימים, או ליצור עולמות חדשים. באתר XBOX ניתן להוריד משחקים שפותחו ב- Kudo.

 

הורדה והתקנה של Kodu

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

קיימת ערכת-כיתה ל- Kodu המיועדת למורים הכוללת מדריכים ללימוד Kudo ואף יחידת לימוד למתמטיקה.

מדריכים ל- Kodu

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

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

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

יתרונות

ניתנת להורדה חינם

תמיכה בתלת מימד (3D)

קיים מגוון רחב של עולמות מהם ניתן ליצור משחקים חדשים

לא נדרש ידע בתכנות

חסרונות

ניתן להתקין על מערכות Windows בלבד

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

גרסה לפיתוח משחקים ל- Xbox – בתשלום

התוכנה באנגלית  (נדרש ידע בסיסי באנגלית לשימוש בתוכנה)

 

Mama

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

פיתוח המשחקים מתבצע באמצעות Drag & Drop. את האנימציות ניתן לשמור כסרטונים ואת המשחקים כקובץ הפעלה (exe)

הורדה והתקנה של Mama

ניתן להוריד את גרסת הניסיון (ל-30 יום) בעברית מהאתר הרשמי .

מדריכים ל-Mama

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

באתר מדריך ייעודי למורה הכולל מדריכים לבניית מערך הדרכה אינטראקטיבי.

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

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

יתרונות

תמיכה מלאה בעברית

תמיכה בתלת מימד (3D)

התוכנה מתאימה גם למי שאינו יודע לתכנת ( ניתן לפתח משחקים באמצעות Drag & Drop)

חסרונות

התוכנה בתשלום.

 

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

31st דצמ2012

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

by יעל חקשוריאן

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

מתי נצטרך להשתמש במצב כזה? כשנרצה למשל, שדמות אויב תרדוף אחרי דמות ראשית.

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

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

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

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

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

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

step

לאירוע זה נשייך פעולה של step avoiding. פעולה זו נמצאת בלשונית Move בקטגוריית Steps:

step avoiding

Step Avoiding, בשונה מ- Step Twards נמנע מלעלות על הדמות אחריה עוקבים.

בחלון המאפיינים שנפתח נציין את ה-X ו-Y של הדמות שאחריה עוקבים ואת מהירות המעקב באופן הבא:

step avoiding

שימו לב, לפני ה-X וה- Y יופיע שם האובייקט ונקודה.

במקרה של הדוגמה שלי, שם האובייקט הוא boy ולכן נקודת ה-X תהיה boy.x ובאותו אופן יש להגדיר את נקודת ה- Y.

כעת שמרו את השינויים ומקמו את האובייקטים בחדר.

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

 

מעקב ושמירת מרחק

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

הבדיקה משתמשת בפקודה של Game Maker שבודקת את המרחק מאובייקט –  (distance_to_object(boy – בסוגריים נכתוב את שם האובייקט, כך יראה חלון המאפיינים של הבדיקה:

distance_to_object

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

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

06th דצמ2012

איך לעשות אובייקט מתפוצץ

by יעל חקשוריאן

מיקול הפוסט הזה בשבילך 🙂

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

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

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

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

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

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

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

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

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

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

השמעת סאונד מתאים (לא חובה)

פעולה של שינוי מופע אובייקט – Change instance בחלון המאפיינים שיפתח יש לבחור את האובייקט שיצרתם עבור ההתפוצצות ולשנות בשדה preform events את האפשרות מ- no ל- yes (אחרת לא יוצגו כל רצף התמונות ליצירת אנימציה של התפוצצות).

כך יראה חלון המאפיינים:

change instance

 

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

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

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

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

alarm

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

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

כרגיל, אני מצרפת את קובץ gmk הכולל את כל השלבים להורדה.

11th נוב2012

פעולות ואירועים – Game Maker

by יעל חקשוריאן

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

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

event actions

מה הוא אירוע?

אירוע הוא כל מה שגורם לפעולה כלשהי במשחק לקרות.

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

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

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

הוספת אירוע מתבצעת ע"י לחיצה על Add Event בחלון המאפיינים של אובייקט:

add event

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

events

 

פעולה

פעולה היא כל דבר שיכול אובייקט לבצע או שיחול עליו בעקבות אירוע. פעולה לא יכולה להתבצע ללא אירוע.

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

כאשר דמות יוצאת מצד אחד של החדר ונכנסת מצדו השני – מתבצעת פעולה של הקפת החדר (wrap screen)  לאחר אירוע יציאה מהחדר  (outside room).

הוספה של פעולה מתבצעת ע"י גרירה של הפעולה מאחת הלשוניות לחלון הפעולות:

actions

סוגי פעולות

הפעולות נחלקות ל-7 קבוצות:
Move actions: פעולות תנועה
Main actions, set 1: יצירה, שינוי והריסה של מופעים של אובייקט, צלילים, חדרים
Main actions, set 2: תזמון, מתן הודעות למשתמש, פעולות על המשחק עצמו: התחלה, סיום, טעינה ושמירה של המשחק.
Control actions: פעולות בקרה שליטה ובקרה על פעולות.
Score actions: פעולות ניקוד (הניקוד, החיים, ובריאותו של השחקן).
Extra actions: קיים רק בגרסת pro edition וכולל פעולות לביצוע על חלקיקים (particles) פעולות ל-CD ולסמן העכבר.
Drawing actions: פעולות ציור (שינוי ספרייט, רקע, כתיבת טקסט).

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

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

רוצים לתרגל אירועים ופעולות? הנה תרגיל קצר ביצירה של אובייקט, ספרייט, אירוע ופעולה.

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

שלבים בתרגול:

צרו קובץ משחק חדש (ריק מתוכן)

צרו Sprite של סמיילי (או אחר) ותנו שם לSprite, למשל smile

צרו סאונד חדש, ע"י העלה של קובץ beep. תנו שם לסאונד: Beep

צרו אובייקט חדש והגדירו עבורו את Sprite smile. תנו לאובייקט שם: smile_object

הוסיפו לאובייקט אירוע לחיצת עכבר (Left Released)

הוסיפו פעולה לאירוע לחיצת עכבר: Play Sound ובחרו בסאונד beep.

שמרו את השינויים שביצעתם בחלון Object Properties.

צרו חדר חדש ומקמו את האובייקט שיצרתם במרכז החדר.

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

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

 

11th נוב2012

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

by יעל חקשוריאן

במדריך זה אסביר מה ההבדל בין אובייקטים ומופעים ומה הם ספרייטים ב-Game Maker.

 

אובייקט – Object

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

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

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

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

האובייקטים נשמרים בתיקייה ייעודית ב- Game Maker שנקראת Objects.

ספרייטים – Sprites

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

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

ספרייטים נשמרים בתיקייה ייעודית שנקראת Sprites.

 

מופע – Inastance

מופע של אובייקט הוא ייצוג של אובייקט במסך/חדר.

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

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

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

 

 

 

 

 

30th ספט2012

sprite index – אינדקס של ספרייט

by יעל חקשוריאן

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

Subimages – תת תמונה

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

איך נראה רצף התמונות של ספרייט?

 

היכנסו לספרייט כלשהו על ידי לחיצה על אייקון הספרייט

אם הספרייט מכיל יותר מתמונה אחת תוכלו לראות את מספר התמונות שהוא כולל מתחת לגודל התמונה – Number of subimages.

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

המספר שמקבלת כל תת תמונה הוא האינדקס. שימו לב מתחילים לספור מאפס, ולכן האינדקס של התמונה הראשונה=0.

edit sprite

כדי לערוך את התמונות או לשנות את הסדר שלהם לחצו על edit sprite:

edit_sprite

בחלון Sprite Editor תוכלו לראות את כל תתי התמונות של ספרייט זה:

sprite editor

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

שינוי של סדר התמונות

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

edit_sprite_move

 

עצירה של הרצת תתי התמונות בספרייט –  image_speed

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

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

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

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

Set variable image_speed=0
פעולה זו עוצרת את ההרצה האוטומטית של תתי התמונות ומציגה את התמונה הראשונה בלבד.

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

image_speed

 

 שינוי תת תמונה להצגה – image_index

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

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

2. נוסיף לכל כפתור אירוע לחיצה בעכבר – השתמשו באירוע Left Released

3. לאירוע זה הוסיפו פעולה של הגדרת משתנה ושנו בהגדרה של המשתנה במקום self ל-object ובחרו את האובייקט של הדמות שיצרתם. בשדה variable הגדירו את המשתנה image_index  ובשדה value בחרו את המספר עבור תת התמונה. במקרה שלי תמונת הבן היא 0 ותמונת הבת היא 1.

כך יראה חלון הגדרת המשתנה image_index עבור כפתור בחירה בדמות הבן:

image_index

 

4. צרו חדר והוסיפו את אובייקט הכפתורים והדמות לחדר.

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

כך יראה המשחק:

כרגיל, אני מצרפת את קובץ המשחק בפורמט gmk להורדה (14kb).

אהבתם את המדריך? אל תשכחו לעשות לייק

20th מאי2012

בדיקה של אובייקטים במשחק

by יעל חקשוריאן

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

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

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

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

יצירה של אובייקטים

צרו תחילה ספרייטים ואובייקטים עבור הדמות הראשית והטיפה (Bubble_obj)

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

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

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

אובייקט מנהל – בדיקה של פריטים

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

כיוון שהבדיקה מתבצעת כל הזמן נשייך אותה לאירוע צעדים

לאירוע זה נוסיף את הבדיקה Test Instance Count ובמאפיינים נציין איזה פריט לבדוק וכמה פריטים צריכים להיות:

הבדיקה שאני עשיתי – האם מספר הפריטים קטן מ-1 (זה אומר שלא נשארו אובייקטים מסוג זה בשלב)

Test Instance Count

 

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

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

אני הוספתי בחדר השני אירוע Draw שיכתוב את הטקסט: You Win במסך. תוכלו להוריד את קובץ המשחק לדוגמה כאן. (21kb)

 

פשוט וקל, לא?

 

 

עמודים:1234»