ABA


"חסם תאורתי שאני צריך להתגבר עליו במשחק שלי"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15824 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15824
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   12:17   16.04.10   
אל הפורום  
  חסם תאורתי שאני צריך להתגבר עליו במשחק שלי  
 
   ערכתי לאחרונה בתאריך 16.04.10 בשעה 12:29 בברכה, ronen333
 
למי שעדיין לא ידוע אני יוצר משחק TOWER DEFENSE.

אני אתאר בקצרה איך המשחק מתנהל כדי שהכל יהיה ברור:
במשחק יש תותחים,מכשולים, ואויבים.

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

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

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

מה לדעתכם עלי לעשות כדי להתגבר על הבעיה הזאת?
תמונת המחשה:


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אויב זה אף פעם לא מכשול במשחקי TD Net_Boy  16.04.10 14:19 1
     לא כזה קלוש- תאר לך מצב כזה ronen333  16.04.10 14:57 2
         למה שהם יתקעו אם הם לא נחשבים כמכשול ? Net_Boy  17.04.10 00:27 5
             כי אז הם לא מתחשבים אחד בשני. ronen333  17.04.10 10:58 8
  אתה יכול תמיד לחשב מסלול רק לראש הטור פאביו ג'וניור 16.04.10 17:31 3
     למרות שזה רעיון נחמד מאוד, וחשבתי עליו ronen333  16.04.10 20:33 4
         כל אויב רץ ב THREAD? על ומה ולמה ? Net_Boy  17.04.10 00:28 6
             מממ למה אתה חושב? X= ronen333  17.04.10 10:55 7
                 זה מאד לא יעיל - אתה מקבל המון CONTEXT SWITCHING Net_Boy  17.04.10 11:05 9
                     לי AI זה דבר חדש ronen333  17.04.10 11:06 10
                         מכתב Net_Boy  17.04.10 16:19 14
                             תודה :) ronen333  17.04.10 20:31 17
  אני חושב שיש לי רעיון לפתרון הבעיה ronen333  17.04.10 11:09 11
     זה פועל!!! :) ronen333  17.04.10 11:31 12
         עוד דרך שאפשר לחשוב עליה יהיא כמובן לחשב את ה-PATH מראש Ice Cold  17.04.10 18:49 15
             זה לא פותר את הבעיה ronen333  17.04.10 20:31 16
     כן, בדיוק. ואם אתה לא רוצה שיעבור בכלל - ברגע שאתה ldan192  17.04.10 12:35 13

       
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   14:19   16.04.10   
אל הפורום  
  1. אויב זה אף פעם לא מכשול במשחקי TD  
בתגובה להודעה מספר 0
 
   מה הבעייה ש2 אויבים יפלו על אותו משבצת ? זה בסדר גמור.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   14:57   16.04.10   
אל הפורום  
  2. לא כזה קלוש- תאר לך מצב כזה  
בתגובה להודעה מספר 1
 
   אני תוקע לאויב לבנה מול הפרצוף והוא צריך לחזור אחורה, מאחוריו יש אויב אחר. עקורנית גם הוא ישנה כיוון אבל הם יכולים להתקע אחד בשני...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   00:27   17.04.10   
אל הפורום  
  5. למה שהם יתקעו אם הם לא נחשבים כמכשול ?  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   10:58   17.04.10   
אל הפורום  
  8. כי אז הם לא מתחשבים אחד בשני.  
בתגובה להודעה מספר 5
 
   זה כמו שתנהג בכביש בלי לדעת שיש נהגים אחרים על הכביש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

דרג אמינות חבר זה
   17:31   16.04.10   
אל הפורום  
  3. אתה יכול תמיד לחשב מסלול רק לראש הטור  
בתגובה להודעה מספר 0
 
   והאחרים יעקבו אחריו... ת'אמת שאני דיי חושב שככה זה עובד בTD שאוייב = מכשול..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   20:33   16.04.10   
אל הפורום  
  4. למרות שזה רעיון נחמד מאוד, וחשבתי עליו  
בתגובה להודעה מספר 3
 
   שלכאורה יהיה LEADER לקבוצה, הוא מאוד מסורבל ולא יעיל.
למה מסורבל ולא יעיל? A STAR זה מנקודה אחת לנקודה אחרת. אויב זה דבר שזז.
עדכון רץ 60 פעם בשניה, להריץ אותו כל פעם אחרי אויב אחד זה לא כזה טוב..
וזה למרות שכל אויב רץ בTHREAD שונה. צריך משהו קצת יותר פרקטי...
תודה רבה על העזרה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   00:28   17.04.10   
אל הפורום  
  6. כל אויב רץ ב THREAD? על ומה ולמה ?  
בתגובה להודעה מספר 4
 
   למה לא TIMERS ?
משחק כמו TD אמור להיות SINGLE THREADED


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   10:55   17.04.10   
אל הפורום  
  7. מממ למה אתה חושב? X=  
בתגובה להודעה מספר 6
 
   תחשוב שיש מלא אויבים, וכל אחד מחפש את המסלול מחדש כאשר נוצר אויב חדש, או ניסו להניח נשק (ולא בטוח הצליחו).
אם יש הרבה אויבים זה עלול לתקוע את הGUI. אני לא רוצה שזה יקרה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   11:05   17.04.10   
אל הפורום  
  9. זה מאד לא יעיל - אתה מקבל המון CONTEXT SWITCHING  
בתגובה להודעה מספר 7
 
   ואני לא יודע מה כל THREAD שלך עושה אבל זה נראה לי הגיוני שגם צריך להגן על מידע מסוים וזה עוד תקורה.

אני קצת התעמקתי בתחום המשחקים לפני כמה שנים ואני יכול להגיד לך שמשחקים ממש כבדים עם המון AI פועלים SINGLE THREADED ו EVENT DRIVEN.
בד"כ MULTI THREADING במשחקים זה יותר כאשר רוצים להכניס תקשורת או לעשות חישובים יחסית מאד כבדים.

לרוץ ב TIMER ולחשב את הNODE הבא ב A STAR זה לא כבד ולא נורא בכלל לדעתי
לא אמור לתקוע את ה GUI


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   11:06   17.04.10   
אל הפורום  
  10. לי AI זה דבר חדש  
בתגובה להודעה מספר 9
 
   אשמח אם תפנה אותי לאיזה שהוא מאמר בנושא, שלפחות אני אדע למשחק הבא
תודה רבה ;)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   16:19   17.04.10   
אל הפורום  
  14. מכתב  
בתגובה להודעה מספר 10
 
   אתר מצוין שמכיל מאות מאמרים ופורומים פעילים
http://www.gamedev.net/


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   20:31   17.04.10   
אל הפורום  
  17. תודה :)  
בתגובה להודעה מספר 14
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   11:09   17.04.10   
אל הפורום  
  11. אני חושב שיש לי רעיון לפתרון הבעיה  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 17.04.10 בשעה 11:33 בברכה, ronen333
 
אני אתן לאויבים משקל בגרף שהוא יחסית גבוה, וככה הם יעברו דרכו רק אם לא תיהיה להם ברירה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   11:31   17.04.10   
אל הפורום  
  12. זה פועל!!! :)  
בתגובה להודעה מספר 11
 
  
תודה על העזרה חברים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   18:49   17.04.10   
אל הפורום  
  15. עוד דרך שאפשר לחשוב עליה יהיא כמובן לחשב את ה-PATH מראש  
בתגובה להודעה מספר 12
 
עבור האויב שיוצא עכשיו, ואם שמת מכשול ברגע שיש אויב בחוץ, לחשב מהנקודה שאתה נמצא בה PATH חדש עבורו...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   20:31   17.04.10   
אל הפורום  
  16. זה לא פותר את הבעיה  
בתגובה להודעה מספר 15
 
   לא יודע אם הבנת מה הבעיה אבל הבעיה היא שאויב אחד חוסם את הדרך ואחרים מסתכלים על אותו אויב כמכשול ולכן רואים שאין דרך ליעד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   12:35   17.04.10   
אל הפורום  
  13. כן, בדיוק. ואם אתה לא רוצה שיעבור בכלל - ברגע שאתה  
בתגובה להודעה מספר 11
 
נתקל בו אתה עושה ישר return כישלון.
אם בעץ החיפוש הוא לא מוצא שום דבר... הוא פשוט יכשל.

שים לב שהתוכנית שלך מטפלת במקרה הקצה הזה.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net