בתשובה לאביב י., 12/06/05 20:07
בקיצור 308282
דווקא המשחקים הראשונים שלי לא היו מבוססי תורות (סנייק וכאלה). מה כאב הראש המעורב?

אגב, במה המשחק כתוב? ויז'ואל בייסיק? זו לא שפה נוראית? והאם אתה מכיר את SDL? זה מה שאני משתמש בו (אם כי אני בשלבי היכרות איתו).

(ואיפה אפשר יהיה למצוא את המשחק אחרי ההגשה?)
בקיצור 308293
כאב הראש הוא כאשר אתה מעוניין להוסיף אלגוריתמים (של ב"מ למשל) שגוזלים זמן CPU ולוקח לך יותר זמן לסיים את החישוב מאשר שיש לך (לפני שאתה חייב לעדכן את המסך ולפני שנוצרת סיטואציה חדשה עמה הסוכנים השונים צריכים להתמודד‏1, אין לך את הפריבלגיה של להגיד לשחקן "פוס, המשחק יחזור בעוד מספר רגעים, עכשיו חושבים"). כמובן שיש לכך פתרונות די פשוטים (time slicing של חישובים, פתרונות חלקיים/מקורבים של בעיות או סתם אשליה של אינטליגנציה במקום חישובים מורכבים של ממש).

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

עוד בעיות - חשוב על משחק RTS עם טנק אחד שמשתמש באלגוריתם A* כדי למצוא את המסלול האופטימלי מנקודה א' לנקודה ב'. לא נשמע מסובך במיוחד (1/50 השניה זה המון זמן, אפילו כאשר המפה שלך די מורכבת). עכשיו תאר את אותו משחק עם 60 טנקים שקיבלו פקודה לעבור בין שתי נקודות על המפה (עם הרים, גאיות צרים ומכשולים זזים בדרך) וחשוב על הסיטואציות השונות והמשונות ש(אם לא חושבים איך לפתור אותן או למצוא להן מעקף)יכולות לגרום לשחקן הרגשה שהוא נתן פקודה לאוסף טנקיסטים עם תסמונת דאון (תופעות של התנהגות דבילית שכזו, ניתן למצוא אפילו במשחקים מסחריים).

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

על SDL אפילו לא שמעתי עד התגובה שלך, אז תודה. I'll have a looksee
_________
1 עשרות עדכונים לשניה.
לומדים משחקולוגיה בארץ הקודש 318962

חזרה לעמוד הראשי המאמר המלא

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