zest

עמוד

התגובות שלי בפורום

מוצגות 13 תגובות – 1 עד 13 (מתוך 13 סה״כ)
  • מאת
    תגובות
  • בתגובה ל: פתחתי WIKI שירכז את כל החומר #77835

    zest
    משתתף

    שלום לכל באי הפורום,
    לא יצא לי לבקר כאן לאחרונה ונחמד לראות שיש פעילות ונושאים מעניינים.
    בכל מקרה, יש WIKI חדש ויותר ידידותי
    http://digitalsurvivors.wikidot.com/
    בדקתי וחבר'ה כאן הצליחו להרשם ולעדכן
    בהצלחות!

    בתגובה ל: salvador's source code #77982

    zest
    משתתף

    Hi all,
    I am working on a complete updated tutorial that includes all the survivors.
    The code above is a 'Quick & Dirty' code that does not contain all the stuff (for example defenses etc) and was submitted quickly by one of the team members without going through review and adding my explanations and graphs as I wanted to add.
    I was in purpose to get people and future viewers to get kick started with one more example.
    pls wait for the complete tutorial and also for the new engine with the debugger we added in the competition that we want to release too.
    Things after competition were busy from my side as I put my time and efforts on other things I am involved with, so pls be patient.
    Gal, I understood you met with ‘salvador’ face to face and you got all the clarifications (btw, good luck to you both, you both worked hard and that is where you will be able to get your abilities to the max).
    Thanks.

    בתגובה ל: חומר לימוד #78019

    zest
    משתתף

    העלנו היום מדריך מעודכן למי שכבר יצא לו להקליק על הקישור

    בתגובה ל: כתיבת מנוע חדש למשחק. #78025

    zest
    משתתף

    עודד, מה התובנות שלך?
    מלבד ה DMA שכבר רשמת הערה לגביו.

    בתגובה ל: כתיבת מנוע חדש למשחק. #78026

    zest
    משתתף

    סוף מעשה במחשב תחילה…
    לגבי העברה לתצורת web צריך לחשוב על מספר נקודות.
    כרגע מודל העבודה הוא אסינכרוני ((Event based והעברה שלו למודל של web (מודל סינכרוני/מונע לקוח) יתכן ותפגע בחוויית המשתמש.
    אי אפשר לשלוח עדכונים ישירות מהשרת לקליינט. צריך לעשות סוג של pulling או לחילופין לחשב את כל הקרב בשרת ולאכסן את כולו במבנה נתונים כלשהו שיישלח ללקוח ושם יוצג כאנימציה.
    במקרה זה המורכבות גדלה אם הלקוח לא רוצה את כל הקרב במכה אלא להריץ צעד אחר צעד מה שיגרור request-response על כל הצעד.
    כמו כל דבר בחיים יש כאן עלות-תועלת ו trade.
    הייתי שמח לשמוע מה דעתכם/רעיונות שלכם/הצעות וכו' – בסופו של דבר מי שישחק במשחק זה אתם ויש לכם כאן הזדמנות להשפיע.

    בתגובה ל: כתיבת מנוע חדש למשחק. #78028

    zest
    משתתף

    לגבי האפשרות לבצע debugging ומעקב אחר הפקודה שמתבצעת כרגע –
    הפקודות שמסומלצות במנוע הן ברמת ה- object code ולא ה- assembly code כך שאולי אפשר להציג את ה opcodeשרץ כרגע אבל זה קצת מפספס את המטרה כי השורד נכתב ב assembly minded.
    צריך לשלב disassembly (לכתוב או להשתמש באחד חיצוני), כי צריך למפות בין ה opcode שרץ כרגע לפקודה המקבילה.
    אי אפשר יהיה להשתמש ב Ndisasm. אני אצטט מהתיעוד:
    The Netwide Disassembler does nothing except to produce disassemblies of binary source files.
    NDISASM does not have any understanding of object file formats
    objdump , OBJ2ASM ודומיהם יודעים לעבוד עם object files (אני אצטרך לראות Hands on מה "מנגן" עם הקבצים של השורדים ואח"כ לחשוב מה הצורה הטובה ביותר לשלב עם המנוע).
    לגבי עריכת הקוד בזמן ריצה – מהרגע ששינינו את קוד האסמבלי צריך לקמפל את הקוד שוב.
    איך ניתן במקרה זה להימנע מבעיות דריסה וכו' (אף אחד לא מבטיח שהוא יתכנס באותו מקום כמו המקור).

    בתגובה ל: כתיבת מנוע חדש למשחק. #78029

    zest
    משתתף

    חבר לקח את הרעיון שלי לקליינט שהזכרתי מקודם וחידד אותו עוד יותר – להעביר את המשחק ל web.
    המשתמש יוכל לכתוב את הקוד של השורד שלו ולהעלות לשרת, כאשר כל עניין הקומפילציה מתבצע שם אוטומאטית ונחסך ממנו.
    לאחר מכן ניתן יהיה ליזום קרב שמערב מספר שורדים, כאשר הסימולציה עצמה תבוצע בשרת.
    אני חושב שזה יכול להיות ממש נוח כי משתמש יוכל להטעין שורד מכל מקום – רק צריך גלישה.
    סתם רעיון – אפשר בצורה הזו לקיים תחרות כל שבוע בלי לכנס את האנשים – משהו כמו king of the hill או lord of the ring 0 – אפשר למצוא לזה שם קליט… כלומר השורד שנשאר הכי הרבה זמן בלי שמורידים אותו (המצעד השבועי).
    למשל השורד master of disaster של קבוצת beastie boys כבר נמצא 14 שבועות רצופים בלי שמישהו יורד אותו (הזדמנות בשבוע הבא…), כשהשיא הנוכחי עומד על 23 שבועות ושייך לשורד alegria של קבוצת Hex Rays.
    כמובן שפעם בכמה זמן צריך להתכנס כמו עכשיו ולתת בראש כשרואים את הלבן בעיניים ליריב שלכם…
    המעבר ל web יכול לתת עוד כמה goodies כמו:
    חשבונות משתמשים – משתמש יכול לשתף קוד, להחליט מי רשאי לראות אותו, זה אפשרות לקבוצות וכו' (עודד, אולי פתח לכיוון של רשת חברתית סטנדרטית?)
    כל נושא ההשוואה של השורד מול שורדים ישנים שהעליתי מקודם – הרבה יותר קל במודל הזה.

    בתגובה ל: כתיבת מנוע חדש למשחק. #78031

    zest
    משתתף

    אפשר גם ב debug mode או "מתחם האימונים" של השורד להציג את ה stack שלו באופן ויזואלי.

    בתגובה ל: כתיבת מנוע חדש למשחק. #78032

    zest
    משתתף

    רעיונות נוספים שעלו בפורום ב thread של השינויים ואחרים שהועלו ע"י עודד (החלטתי לרכז כאן לטובת הנוחות):

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

    ד"א, אפשר פשוט לעשות אפשרות לבחור באיזה סוג של זירה רוצים לשחק לפני המשחק – נקייה, בתוספת מוקשים, מצבים מיוחדים, מספר זירות במקביל וכו'.
    ואפשר לשקול לבצע את התחרות כך שכל סיבוב יתקיים בזירה אחרת שלבסוף משקללים את הכל – לדוגמא שלושה סיבובים בסביבה נקיה ועוד אחד בכל אחת מהסביבות המיוחדות.

    בתגובה ל: כתיבת מנוע חדש למשחק. #78033

    zest
    משתתף

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

    בתגובה ל: כתיבת מנוע חדש למשחק. #78034

    zest
    משתתף

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

    בתגובה ל: כתיבת מנוע חדש למשחק. #78036

    zest
    משתתף

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

    בכל מקרה יש עוד רעיון לאינטרקטיביות מלבד האפשרות לתקשר עם השורד פעם במספר מהלכים כלשהו?

    בתגובה ל: כתיבת מנוע חדש למשחק. #78038

    zest
    משתתף

    עוד רעיון שעלה לי – אולי לשחק במספר סביבות/מנועי משחק.
    ברגע ששורד נוגע בכתובת כלשהי או באוגר או שמתקיימים תנאי משחק כלשהם הוא מועתק לסביבה אחרת – וכך יכול לשרוד. המשחק מסתיים כשהשורד שלכם ניצח את כל שאר השורדים בכל הסביבות.
    אפשרות אחת היא להעתיק את האוגר בשלמותו לסביבה הנוספת בנוסף לסביבה הנוכחית ואפשרות אחרת היא שהוא יכול להיות בו זמנית רק בסביבה אחת.
    משהו נוסף שחשבתי עליו – אם יוצא לשורד שלכם להשתכפל מספר פעמים מסויים הוא יכול לערוק לאוייב (הוא יקבל את הצבע של משתתף אחר) או לא שייך לאף אחד ונלחם בכולם כולל השורד שלכם כך שאתם חייבים גם להתגבר על השורד שלכם.
    יש עוד הרבה רעיונות…

מוצגות 13 תגובות – 1 עד 13 (מתוך 13 סה״כ)