דילוג לתוכן הראשי

HTML5 - הכי cross-platform שיש!

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

אז מה קרה בשנתיים האחרונות?
עברתי מתכנות פלאש ל-cross-platform, שזה אומר שהדגש כרגע הוא על פיתוח משחקים ואפליקציות שעובדות בכל מכשיר\מערכת הפעלה\גודל מסך ולא על טכנולוגיה כזו או אחרת.
בהדרגה אני נותן יותר משקל לתכנות ב-Javascript על פני AS3.
עברתי בדרך בחינה של כמה כלים וטכנולוגיות מעניינות, כולל למשל Haxe שהיא שפת תכנות cross-platform מאד גמישה (קוד פתוח) שמאפשרת לפתח ב-OOP ולהמיר את התוצר (בזמן הקימפול) למגוון רחב של שפות נייטיב.
אני עדיין משתמש ב-AS3 לפיתוח משחקים ואפליקציות מובייל ב-Starling.
אבל אחת המסקנות הכי חזקות שלי בתקופה האחרונה היא ש-HTML5 המונע ע"י Javascript הוא אחד הפיתרונות הכי נוחים, מעשיים וזולים לפיתוח חוצה פלטפורמות ומכשירים.
מאחר ואני מתעסק המון בפיתוח משחקים, כבר תקופה ארוכה אני עוקב אחר טכנולוגיות רלוונטיות, מנועי משחק ופריימוורקים למיניהם. מדי פעם אני לומד ומתנסה כדי להבין טוב יותר את היתרונות והחסרונות של טכנולוגיה. נכון לעכשיו אני שבוי בקסמה של Phaser - פריימוורק לפיתוח משחקי HTML5 לדסקטופ ומובייל.
זה פרויקט קוד פתוח (חינמי) מאד מבוסס, שהולך ומשתפר כל הזמן (יש עכשיו עבודה על פיתוח מחדש של כל הפריימוורק תחת שם חדש: Lazer) עם קהילה גדולה של משתמשים (כולל חברות ענק) ואינספור מדריכים כתובים ומצולמים.
אפשר בקלות ובמהירות לבנות בה אב-טיפוס למשחק והגמישות שלה מאפשרת לבנות כל דבר, ללא שום מגבלות.
בסופו של דבר זה עובד בכל דפדפן שתומך ב-HTML5 (כמעט כל דפדפן שנמצא בשימוש כיום) וניתן גם לעטוף את הקוד באמצעות כלים כמו phonegap או קורדובה כדי לייצר אפליקציה להתקנה במכשירים.
לכן אני אומר שזה הכי cross-platform שיש. כותבים קוד אחד ומציגים את התוצר בכל מכשיר שהוא, בין אם זה מחשב, טאבלט, או טלפון (IOS, אנדרואיד או Windows). שווה לנסות!
בקרוב אני מניח שאכתוב לא מעט על ההתנסות שלי עם Phaser ובטח גם אכתוב ואצלם מדריכים.
בינתיים: קישור למשחק שנכתב ב-Phaser

אשמח לקבל תגובות לגבי מה הייתם רוצים לראות כאן.
אסף.

תגובות

פוסטים פופולריים מהבלוג הזה

כלים לפיתוח משחקים בלי ידע בתכנות

מאחר ויש לי די הרבה נסיון בהדרכת תכנות למתחילים (ובפרט בתחום פיתוח משחקים) אני מתעניין כל הזמן בכלים טובים עם ערך מוסף גם לפיתוח משחקים מהיר וגם ללמידה של תכנות על הדרך. לאחרונה החלטתי לפתוח קורס\חוג מקומי לנוער שילמד פיתוח משחקים לחסרי נסיון, או בעלי נסיון בסיסי בתכנות וזה הוביל אותי לבדוק באופן יותר מעמיק אילו כלים קיימים כרגע שעשויים לתמוך בקורס כזה. אחד הקריטריונים החשובים לדעתי בבחינת כלים כאלה היא עד כמה אפשרי ונוח ליצור באמצעותם משחקי HTML5 שאפשר בקלות לפרסם באתר עצמאי, או באתרי מפיצים, כי לשם אני מאמין שהתעשיה הולכת. לכן, קודם כל הלכתי וחיפשתי רשימת השוואה למנועי משחק שמאפשרים ליצור משחקי HTML5 והגעתי לרשימה הזאת. אפשר לראות כאן גם frameworks כמו Phaser, שמאפשרות בניית משחק ע"י תכנות בלבד וגם כלים כמו Construct 2 שלא מצריכות ידע בתכנות בכלל ונותנות ממשק גרפי עם אפשרויות בחירה והזנת פרמטרים מסוגים שונים על מנת להגיע לאותן תוצאות. מנסיוני יש 2 אסכולות של מפתחים: 1. כאלה שבאו מרקע של תכנות פרופר (מדעי המחשב) - מעדיפים לתכנת הכל באמצעות עורכי קוד למיניהם...

משתנים ב-javascript

היי, לפני כמה שנים פרסמתי את הסרטון הבא על משתנים ב-javascript ורציתי הפעם לשתף את התמלול שלו למי שמעדיף לקרוא טקסט. היי, כאן אסף מקודאקטיב! היום במסגרת HTML ב-5 דקות אנחנו נלמד על משתנים ב-javascript. משתנים הם אבני הבניין של כל שפת תוכנה. הם משמשים אותנו כדי לשמור מידע בזיכרון של המחשב. משתנה הוא כמו קוספא שבתוכה מאחסנים מידע שניתן לשימוש בהמשך. לכל קופסא כזאת יש שם ולאחר שמאחסנים בה את המידע, יהיה אפשר לגשת אליה בהמשך באמצעות השם של הקופסא. לדוגמא: למשתנה קוראים X והמידע שבתוכו הוא המספר 4. או משתנה בשם playerName והמידע שבתוכו הוא המילה "אסף". ב-javascript מגדירים משתנה באמצעות המילה השמורה var (תיקון - נכון להיום רצוי יותר להשתמש ב-let מסיבות שונות הקשורות להתפתחות השפה, לכן אשתמש בהמשך במילה זו) ולאחריה שם המשתנה. let x; הסימן נקודה-פסיק משמש לסיום משפט. javascript היא שפת case sensitive ולכן חשוב להקפיד על גודל האותיות. את המילים השמורות כמו let כותבים באותיות קטנות. שמות של משתנים נהוג לכתוב גם באותיות קטנות. שם של משתנה יכול להכיל אותיות ומספרים...

איך לבנות פרוטוטייפ של משחק diamondDiggerSaga באמצעות Phaser ו-Typescript

אני אוהב את הבלוג של עמנואל פרונטו:  http://www.emanueleferonato.com/ במיוחד אני אוהב את הפורמט של בניית פרוטוטייפ של משחק ופרסום הקוד שלו. מאחר ובזמן האחרון אני עובד הרבה עם פייזר, באופן טבעי אני מתעניין בפוסטים שלו שעוסקים בפייזר ויש לו כבר די הרבה prototypes של משחקים שהוא כתב ב-Phaser. רק מה, הוא כותב ב-javascript וכל הקוד שלו כתוב בעמוד אחד ארוך. אז החלטתי לקחת את אחד מאבות הטיפוס שהוא כתב ולכתוב את הקוד מחדש בקלאסים של Typescript. זה יותר מאורגן ככה ויותר קל לעיכול לדעתי (גם אם יותר ארוך קצת). בסרטון למעלה אפשר לראות את התוצאה כפי שצילמתי אותה בפעולה - גם בטלפון וגם במחשב. מפתיע לראות כמה קל לכתוב את הקוד הזה, שמהווה בסיס לכל כך הרבה משחקים מוכרים וטובים. אז בואו נקפוץ ישר לקוד: אני מציג את הקוד באמצעות codepen רק מטעמי נוחות. אל תצפו לראות את זה עובד כאן, זה רק כדי להציג את הקוד ולאפשר להעתיק ממנו בקלות. יש טאבים של HTML, CSS, TypeScript. אפשר ללחוץ כדי לראות כל אחד מהם. ה-HTML מכיל את כל הקישורים לקבצי ה-javascript השונים (שנוצרים מהקימפול של ה-TypeScript), ה-C...