|
||||
|
||||
כאב הראש הוא כאשר אתה מעוניין להוסיף אלגוריתמים (של ב"מ למשל) שגוזלים זמן CPU ולוקח לך יותר זמן לסיים את החישוב מאשר שיש לך (לפני שאתה חייב לעדכן את המסך ולפני שנוצרת סיטואציה חדשה עמה הסוכנים השונים צריכים להתמודד1, אין לך את הפריבלגיה של להגיד לשחקן "פוס, המשחק יחזור בעוד מספר רגעים, עכשיו חושבים"). כמובן שיש לכך פתרונות די פשוטים (time slicing של חישובים, פתרונות חלקיים/מקורבים של בעיות או סתם אשליה של אינטליגנציה במקום חישובים מורכבים של ממש). בסנייק, BreakOut או פונג, אכן לא נוצרות הבעיות הללו (אתה מקבל קלט מהמשתמש, מעדכן סיטואציה, בודק collisions ומצבי משחק, מעדכן מסך וחוזר חלילה, בלי שום חישובים מורכבים שנתקעים לך באמצע - במשחקים האלה, בייחוד אם משתמשים בהאצה גרפית, ה-CPU משתעמם ונשאר כמעט חסר תעסוקה). עוד בעיות - חשוב על משחק RTS עם טנק אחד שמשתמש באלגוריתם A* כדי למצוא את המסלול האופטימלי מנקודה א' לנקודה ב'. לא נשמע מסובך במיוחד (1/50 השניה זה המון זמן, אפילו כאשר המפה שלך די מורכבת). עכשיו תאר את אותו משחק עם 60 טנקים שקיבלו פקודה לעבור בין שתי נקודות על המפה (עם הרים, גאיות צרים ומכשולים זזים בדרך) וחשוב על הסיטואציות השונות והמשונות ש(אם לא חושבים איך לפתור אותן או למצוא להן מעקף)יכולות לגרום לשחקן הרגשה שהוא נתן פקודה לאוסף טנקיסטים עם תסמונת דאון (תופעות של התנהגות דבילית שכזו, ניתן למצוא אפילו במשחקים מסחריים). גם אני בדעה ש-VB היא לא מהשפות המוצלחות (אני מעדיף את הגמישות של C) אבל לא היתה לי ברירה (השימוש בשפה היה חלק מדרישות הקורס). למרות זאת, הדעה שלי על השפה קצת השתפרה אחרי הפרוייקט הזה. על SDL אפילו לא שמעתי עד התגובה שלך, אז תודה. I'll have a looksee _________ 1 עשרות עדכונים לשניה. |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |