ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › אקסטרים › שאלות על המשחק – אני חדש לגמריי.
- This topic has 7 תגובות, 4 משתתפים, and was last updated לפני 14 שנים, 9 חודשים by shinigami.
-
מאתתגובות
-
27 בדצמבר 2009 בשעה 22:55 #76837teimaninjaמשתתףשלום,אני noob לגמרי ויש לי כמה שאלות…מה תפקידים של הזומבים?
למה יש כמה שלבים? מתי עוברים משלב לשלב? אחרי כמה זמן במשחק?
אם מותר לשנות את הקוד של השורד משלב לשלב , האם יש אסטרטגיות? למשל לשים שורד "רגוע" בשלב הראשון, שאר המשתתפים מפיקים לקחים חושבים שהוא עובד בצורה X ומשנים את הקוד אליו ואז לשים שורד אחר לגמרי וכו'? היו דברים כאלו?
האם היו דורות משנה לשנה? כלומר בשנה X היה חידוש שבו אחד ה survivor עשה קפיצות (ולכן בשנה הבאה כולם הטמיעו את הקפיצות בשורדים שלהם).
האם יש אסטרטגיות במימוש קוד של שורדים? כלומר הגנתי / התקפי / משתנה / אנומלי וכו'? שילוב שלהם? שורות / עיגולים/ אלכסונים? רנדומלי? מה היתרונות והחסרונות של כל אחד?
האם משתמשים בנוסחות מתמטיות כלשהן לסוגי הריצה? ואם כן אילו נוסחאות? ראיתי בפורום למשל אזכור של משוואות ריבועיות וכו'.
למה יש הבדלים בין כל שורד לשורד , האם בסופו של דבר יהיה שורד אופטימלי שכולם בסופו של דבר יתכנסו אליו?
כיצד משתמשים בפצצות החכמות? כמה פצצות חכמות יש/מותר להשתמש בהן?האם הזכרון של המשחק מתחיל תמיד ומסתיים תמיד בכתובת קבועה? איזו?האם יש איפשהו פרטים של אנשים שהשתתפו במשחק?
האם יש הגבלה על כמות השותפים לקבוצה?
מתי המועד הבא של התחרות? איך נרשמים? האם זה יכול לעזור בקבלה ליחידה בצבא? מתי עושים את זה בד"כ? האם בחופשה?
איפה יש עוד דוגמאות קוד חוץ מ Bomber ו cannon?
האם יש אתר בארץ או בעולם שמכיל source code של שורדים?
למה תוכנית של survivor כזאת קטנה? כמה פקודות יכולות פחות או יותר להכנס במקום שמגבילים עבור השורד?
האם יש דוגמאות קוד לשימוש בטכניקות החכמות (2 שורדים ביחד, האצה ופצצות חכמות)?
מה כדאי ללמוד כדי להשתפר במשחק?
תודה רבה על כל מידע שתוכלו לתת,teimaninja30 בדצמבר 2009 בשעה 15:41 #78097shinigamiמשתתףתפקידם של זומבים הוא להציב רף בסיסי לתחרות, הם יתחרו בדיוק כמו השורדים האחרים אבל לא יצברו נקודות(מתחרים ממש רציניים בתחרות יוכלו אף להשתלט עליהם) .
השלבים המרובים הם ניסיון לתת לכולם סיכוי כמה שיותר הוגן: יש שלב של הרצה לפני התחרות, שלב נוסף של הרצה בבוקר התחרות, שלב נוסף של הרצה בהמשך יום התחרות והגמר. בשלב הגמר מתמודדים רק ארבעת הטובים ביותר ובשאר השלבים מתמודדים כולם.
כמובן שמותר לשנות את השורד בין שלב לשלב וכן היו דברים כאלו בעבר, אבל מילת אזהרה: אם אתה מתכוון לעשות דבר כזה כדאי שתכין את השורד המחליף מראש כי אלתור של הדקה התשעים בדרך כלל לא משתווה להשקעה הרבה בשאר השורדים!
כל השורדים מתפרסמים כבר ביום התחרות אז אם מישהו עלה על משהו טוב סביר להניח שאחרים ינסו להעתיק ממנו או לפתח את אותו הרעיון בצורה טובה יותר.
יש אסטרטגיות אפשריות ושימושיות רבות ואין באמת חוקיות בעניין היעילות, רק תמיד תזכור שהמטרה העילאית היא להיות השורד האחרון שממשיך לרוץ בזירה.
אם אתה יכול לפתח נוסחאות מתמטיות שיעזרו לשורד שלך לנצח יותר מה טוב, אך אין זה אומר שאתה מחויב לנוסחאות מסובכות, התקפה טובה היא פעמים רבות פשוטה.
למה יש הבדלים בין כל שורד לשורד , האם בסופו של דבר יהיה שורד אופטימלי שכולם בסופו של דבר יתכנסו אליו?
ההבדלים בין השורדים נובעים מכמות הפתרונות האפשריים לאותה הבעיה, שנה אחת יכול לנצח שורד התקפי שפותח לרמה טובה ושנה לאחר מכן שורד הגנתי שהגיע לרמה טובה עוד יותר. אפשר לנצח בכל שיטה כל עוד הרעיון שלך מפותח מספיק.
לכל שורד יש 2 הפצצות כבדות (86) והפצצה חכמה אחת (87) כאשר הפצצה כבדה היא לכתיבה וחכמה לסריקה. אם השתמשת בהפצצה שנגמר לך המלאי שלה לא תמות אבל גם לא יקרה שום דבר אחר. הזכרון הוא מ0 עד FFFF.
פרטים של אנשים יכולים לעבור למקומות חשובים כתלות בכמה רחוק בתחרות הגעת.
זה יכול לעזור בקבלה ליחידה בצבא כי יש על התחרות גם סוג של פיקוח צבאי.
לא זכורה לי הגבלה על כמות השותפים בקבוצה, אבל יותר משלושה זה כבר לא אפקטיבי.
התחרות היא ב3.3 בדרך כלל ופשוט שולחים שורד מתי שמבקשים לשלוח שורדים(מתישהו בפברואר, יודיעו על זה בפורום).
בקשר לדוגמאות קוד, כדאי שתמצא דיס אסמבלר טוב ותפתח את השורדים מהשנים הקודמות.
שורד יכול להגיע לגודל של 512 בתים שזה בין 100 ל512 פקודות.
כדי להשתפר כדאי לך ללמוד את רשימת הפקודות החוקיות בעל פה, לא רק לדעת שהן קיימות אלא איך כל אחת עובדת ולעבור על שורדי עבר כדי לקבל רעיונות.
מקווה שעזרתי,
shinigami22 בינואר 2010 בשעה 00:56 #78096CodeGuruמנהל בפורוםשני תיקונים קלים:
1. התחרות בשנה שעברה אכן הייתה ב 3.3 אבל השנה תהיה, כנראה, בקייץ (נשמח לשמוע מועדים מועדפים).
2. אפשר להתחרות בצוותים של אחד עד חמישה. צוות קטן מדי יתקשה לקרוא את כל השורדים האחרים בזמן הקצר שיש בבוקר בתחרות, וצוות מעל חמישה הוא לא הוגן.23 בינואר 2010 בשעה 14:08 #78095shinigamiמשתתףתשתדלו להתחשב בעובדה שלחלקנו יש בגרויות
1 בפברואר 2010 בשעה 13:12 #78094teimaninjaמשתתףהי shinigami!
עזרת לי מאוד!!! תודהההההההה רבהההההה!
יש לי עוד כמה שאלות אם זה בסדר… פשוט אין באף מקום תשובות לשאלות כמו שרשמת… ויש לי הרבה שאלות כמו שראית..
מה הכוונה להשתלט על זומבים? איך הדבר ייתכן? אתה יכול לתת דוגמא קוד של שורד או סיטואציה עם כתובות בה זה יכול להתממש? באיזו שנה או תחרות זה קרה? איזה שורד פעל כך?
פרטים של אנשים דיברתי על אנשים שהשתתפו בתחרות – למשל אם אני רוצה לשאול מישהו שאלה על שורד שהוא בנה או אם אני רוצה להצטרף לקבוצה קיימת או להקים קבוצה חדשה וכו'.
מה השמות של השורדים שזכו בכל התחרויות שהיו?
האם יש הגבלה על כמות המשתתפים באותו רגע במשחק – כמה שורדים אפשר "לזרוק" פנימה?
האם יש אפשרות לעשות שזה ירוץ ב speed שאני מכתיב לו , למשל כמו ב debugger של visual studio (step in וכו') כלומר להריץ צעד אחד צעד כדי שיהיה אפשר מה קורה?
האם יש אפשרות לעצור בנקודת זמן כלשהי? למשל לעשות לו stop עם הריצה ואז להמשיך מאותה הנקודה?
האם היו "דורות" משנה לשנה? כלומר בשנה כלשהי היה חידוש שבו אחד ה survivor עשה קפיצות, ולכן בשנה הבאה כולם הטמיעו את הקפיצות בשורדים שלהם.
האם יש דוגמאות קוד לשימוש בטכניקות החכמות (2 שורדים ביחד, האצה ופצצות חכמות)?
מה ההבדל בין שורדים שנכתבו ב redcode לעומת שורדים שנכתבו ב assembly 8086? למה החליטו ללכת דווקא על 8086?
האם אפשר לעשות המרה או כלי אוטומטי שמעביר שורדים מ redcode ל assembly 8086 במשחק? מה אני צריך לעשות או להתחשב אם אני רוצה לכתוב כלי כזה (במידה והוא לא קיים, אם הוא קיים אשמח לקבל קישור)?
האם יש אפשרות לראות לוג מפורט של כל הפעולות אחת אחרי השניה של כל שורד לחוד, וכל השורדים ביחד מבחינת איזה כתובת נכתבה לזכרון איזה ערך שונה וכו'?
וגם קצת עם ה GUI:
מה ההבדל בין חלון session viewer לחלון competition viewer? האם ב competition רואים את התוצאות לאורך זמן ולאורך כל התחרויות?
מה המשמעות של survivor group per session שרואים ב GUI?
מה המשמעות של session per group combination שרואים ב gui?
אני בטוח שחלק מהשאלות (במיוחד הנושאים הטכניים) יהיה לי יותר ברור כאשר אני אפתח ב disassembly ואראה מה יש או אזרוק כמה למשחק ואראה.
תודה גבר!
Teimaninja
2 בפברואר 2010 בשעה 16:20 #78093shinigamiמשתתףאני שמח שהצלחתי לענות לך על השאלות הקודמות, עכשיו בוא נראה מה עם החדשות
הכוונה בלהשתלט על זומבים היא להפציץ את הזכרון עם פקודות קפיצה לקוד שלך או לכל מקום ידוע (לך) מראש, שם יהיה קוד שימושי (לך) שיריצו הזומבים
אני לא יודע בקשר לאנשים אחרים, כפי ששמת לב הפורום פה די שומם, אבל אני אשמח לענות לך על כל שאלה שאוכל. בכל מקרה עדיף להקים קבוצה עם אנשים שאתה מכיר וסומך עליהם לפחות לפי דעתי.
השמות של השורדים שזכו בתחרויות: http://www.codeguru.co.il/Xtreme/winners.htm
(אם זה מעניין אותך אני הייתי בקבוצה שהגיעה מקום רביעי שנה שעברה)
ההגבלה על כמות השורדים במגרש היא 20, מנסיון אתה תוותר בהרבה פחות כי הרבה שורדים זה בלאגן בעיניים, מה גם שבתחרות יש רק 4 בזירה בכל זמן נתון.
גם אני הייתי רוצה אפשרות להזיז צעד צעד את המגרש אבל לצערנו אין אופציה כזאת כרגע.
גם אופציה לעצירה באמצע הייתה יכולה לעזור אבל אינה קיימת כרגע.
אני חושב שבכללי כל התחרות הזאת היא רצף של "דורות" של תוכנות, כל שנה אנשים מסתכלים מה היה בשנים הקודמות ומנסים להגיע לרמה גבוהה יותר או להעתיק רעיונות.
אין ממש דוגמאות לשימוש בטכניקות החכמות, לפי דעתי הדרך להשתפר בשימוש בהן היא ניסוי וטעייה, תראה איך מתאים לך להשתמש בהן, יש יותר מדרך אחת ויהיה חבל שאני אכניס אותך לקופסה.
אני לא יודע מה הסיבה שבחרו ב assembly 8086 לעומת redcode , בכל מקרה לא ניתן להמיר ביניהן עד כמה שידוע לי מהסיבה הפשוטה ש redcode היא שפה שנבנתה במיוחד למשחקי corewars ולכן המבנה שלה שונה בבסיס.
האם יש אפשרות לראות לוג מפורט של כל הפעולות אחת אחרי השנייה של כל שורד לחוד, וכל השורדים ביחד מבחינת איזה כתובת נכתבה לזיכרון איזה ערך שונה וכו'? התשובה לשאלה זו היא שוב לצערי לא, אתה לא יכול לראות ממש בלוג מפורט את הכל אלא רק לצפות באפקטים של הקוד על הזירה (לפי הצבעים).
קצת על ה GUI:
חלון session viewer – החלון בו אתה רואה את האפקטים של שורדים על הזירה בסיבוב הנוכחי.
חלון competition viewer – החלון בו אתה רואה את סיכום תוצאות השורדים לפי כמות ניצחונות.
survivor group per session – מספר הקבוצות שיכנסו לזירה בכל סיבוב
session per group combination – מספר סיבובים לכל קומבינציה של קבוצות
תריץ הרבה שורדים ותראה איך הם מתפקדים וdisassembly טוב גם תמיד טוב שיהיה.
shinigami3 בפברואר 2010 בשעה 04:20 #78092GalDorמשתתףAbout code samples – you can get the previous winners through the website, but anyhow, a good example of development would be the introduction of scanners (e.g. HutsHuts and XLII) that turned traditional far callers obsolete (there is a good explanation of this available on a thread by HutsHuts), followed by a new innovation by underdog, that might just turn these obsolete as well. There are a lot of survivors that used cooperation and smart bombs (see XLII, 007Ninja, Apocalypse, Underdog etc.) but the ENERGY opcode is rarely used (it has been suggested to cut it's length by 2 bytes, to make it more usable).
Taking over zombies isn't too common, but it was done several times in the past.
Redcode operates in a completely different way then assembly (eg. no registers) and this makes translation troublesome. There is no essential problem to make a program that eventually has the same output, but the speed will be completely different. Survivors and tricks optimized to run in Redcode will make an 8086 survivor slower than hell. Furthermore, Redcode is deeply multithreaded, while 8086 is not.3 בפברואר 2010 בשעה 08:29 #78091CodeGuruמנהל בפורוםא. אני שמח שיש פעילות בפורום (אם שואלים שאלות מעניינות – אנשים עונים).
ב. לגבי הרצה צעד-צעד ושיטות אחרות לבדוק שורדים, היה צוות (זאוס נדמה לי) שכתב ממש מנוע כזה שאפשר לו לבדוק את התנהגות הזירה ברמה של כל אוגר של כל שורד וכו. למיטב ידיעתי הם לא פרסמו את הכלי הזה, אבל אפשר לכתוב אותו מחדש ואו לנסות לבקש.
ג. הערת אזהרה – כשאתם משתלטים על שורד אחר (זומבי או לא) תזהרו שהוא לא ינצח בסוף – על פי חוקי המשחק גם אם הוא מריץ קוד שלכם, הוא עדיין עלול לזכות… -
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.