ארכיון הבלוג

כוח בנג'י- משחק טריוויה יומית למתנ"ס בנימין

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

משחק טריוויה יומי מאתגר

משחק הטריוויה של בנימין קיבל את השם: כוח בנג'י- משחק אקשן בנימיני לחנוכה

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

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

שלב ראשון – חידה יומי מאתגרת

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

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

שלב שני – חידון טריוויה על הנושא היומי

בשלב השני השחקנים צריכים לענות על 8-12 שאלות יומיות בהתאם לנושא היומי. השאלות הינן שאלות טריוויה אמריקאיות והשחקנים צריכים לבחור בין 4 התשובות שמופיעות את התשובה הנכונה ביותר. כל מענה נכון צובר ניקוד לשחקנים שמתחרים במשחק.

היום הראשון במשחק הטריוויה היומי – כח בנג'י

שלב שלישי – משימה יומית

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

אנימציה מיוחדת והדמות של בנג'י

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

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

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

צוות פיתוח מנצח למשחק

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

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

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

פיצ'ר מיוחד – שיתוף = ניקוד

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

מתנ"ס בנימין צוות מנצח

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

פיתוח טריוויה יומית

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

לוגו המשחק - כח בנג'י
לוגו המשחק – כח בנג'י

שימוש ב-bitmapdata מתקדמים

מחלקה bitmapdata מאפשרת לנו "לזכור" מבנה של displayObject, להעתיק אותו, לשנות אותו ולעשות עליו מניפולציות שונות.
לדוגמא, ניתן לחתוך תמונות, לעוות תמונות, לשנות פיקסלים ספציפיים ועוד.
תיעוד המחלקה נמצא כאן: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html
בשביל להבין את העבודה על המחלקה נתחיל מדוגמא פשוטה, נניח שעל הבמה יש לנו movieClip שמצוייר בו ציור כל שהוא ושמו mc, בדוגמא הראשונה נשכפל את מראה המוביקליפ:

import flash.display.BitmapData;
//איתחול המחלקה ביטמפדטא המחלקה מקבלת את הפרמטרים הבאים
//BitmapData(צבע האטימות,האם השכפול יתחשב באטימות,גובה המקור או גובה היעד,רוחב המקור או רוחב היעד);
var bmd:BitmapData = new BitmapData(mc.width,mc.height);
//הוראה לביטמפדטא לצייר את המוביקליפ
bmd.draw(mc);

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

 

//איתחול המחלקה ביטמפ ויציקת הביטמפדטא לתוכה
var bm:Bitmap = new Bitmap(bmd);
//יצירת ילד אל הבמה
addChild(bm);


עד כאן בעצם יצרנו שכפול של המוביקליפ אל הבמה, מכאן מתחיל הכיף, לפני שאנחנו יוצקים את הביטמפדטא אל הביטמפ אנחנו יכולים לבצע עליו מניפולציות, את המניפולציות אפשר לבצע בכמה דרכים, אני אראה כאן דוגמא המבוססת על הדוקומנטציה של פלאש, בשביל לבצע את המניפולציה הזו, נשתמש במחלקה מטריקס(כן כמו הסרט), שמאפשרת לשחק עם הביטמפדטא ולבצע עליו פעולות כמו חיתוך,עיוות,הקטנה והגדלה, ניתן לקרוא כאן את התיעוד המלא: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/geom/Matrix.html
בדוגמא שלי אני אבצע על התמונה שינוי צורה להקטנה פשוטה ע"י מטריקס:

 

import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Matrix;

//הגדרת הרוחב והגובה חלקי 2 כיוון שאנחנו מעוניינים לצייר את הביטמפדטא בצורה המוטקנת בחצי
var bmd:BitmapData = new BitmapData(mc.width/2,mc.height/2);
//איתחול מטריקס
var mat:Matrix = new Matrix();
//שימוש בפעולה scale
mat.scale(0.5,0.5);
//הוראה לביטמפדטא לצייר את המוביקליפ
//ולהכיל עליו גם את ההוראות של המטריקס
bmd.draw(mc,mat);

//איתחול המחלקה ביטמפ ויציקת הביטמפדטא לתוכה
var bm:Bitmap = new Bitmap(bmd);
//יצירת ילד אל הבמה
addChild(bm);


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

 

//הגדרנו את האטימות כאמת כיוון שאנחנו רוצים לשקף חלק מהביטמפדטא
var bmd:BitmapData = new BitmapData(mc.width,mc.height,true);
bmd.draw(mc);
//מעבר על כל הפיקסלים במפת הסביות שלנו
//i רוחב
//j גובה
for(var i:uint=0;i<bmd.width;i++)
{

for(var j:uint=0;j<bmd.height;j++)
{
//בדיקה של צבע הפיקסל הספציפי
if(bmd.getPixel(i,j)==0xff0000)
{
//השמת צבע "שקוף" על הפיקסל הנוכחי
//המספר המועבר הוא בעצם מספר רגיל+שני ספרות בסוף המציינות את רמת השקיפות
bmd.setPixel32(i,j,0x00000000);
}
}

}

//איתחול המחלקה ביטמפ ויציקת הביטמפדטא לתוכה
var bm:Bitmap = new Bitmap(bmd);
//יצירת ילד אל הבמה
addChild(bm);


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