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