COD4

נאפו80

New member
COD4

שלום אנשים, לאחרונה יצא לי לשחק ב-Call Of Duty 4 ופשוט נדהמתי מהמשחק. לאחר התעניינות קצרה ברשת הבנתי כי מדובר באחד משחקי ה-fps הטובים שיצאו בשנים האחרונות. מישהו יודע באילו כלים משתמשים המפתחים של משחקים מסוג זה? באילו שפות תכנות? זה לא יאומן. אני יורה בזגוגית של רכב חונה ואני רואה ושומע את הזגוגית מתנפצת לרסיסים...איך עושים כזה דבר?
 

נאפו80

New member
../images/Emo9.gif כן,היה לי ברור שזהו כלי עיקרי, אבל..

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

somebodddy

New member
עניתי לך בשיא הרצינות

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

De-Panther

New member
טוב, לפי מה שהבנתי מויקיפדיה, בקוד4 השתמשו...

במנוע מיוחד למשחק עצמו - ככה שאני לא יודע בדיוק מה התכונות שלו ומה עוד אפשר לעשות איתו
כל משחק בנוי על מנועים שונים ועם כלים שונים. לרוב למשחקים קטנים ישתמשו רק בשפת תכנות בסיסית ואולי גם איזושהי סיפריה גרפית. ככל שהמשחק מורכב יותר - צריך להשתמש בכלים רציניים יותר(אחרת זה יהיה ממש מסובך לפתח ככה משחק בסדרי גודל של היום) יש סוגים שונים של מנועים שהמשחקים מבוססים עליהם. מנוע גרפי - זה הדבר הבסיסי וכל המשחקים משתמשים באחד כזה(אם זו סיפריה גרפית פשוטה, אם זה מנוע שנותן לך כלים גרפיים נוספים כמו עבודה עם פרקטיקל סיסטם[כל האפקטים המגניבים של טיפות מים או עשן ואש], כלים לעריכת ממשק המשתמש וכמובן כלים להצגת אובייקטים שונים על המסך) מנוע פיזיקלי - בשנים האחרונות כולם מתלהבים ממשחקים שמדמים התנהגות של פיזיקה בעולם האמיתי, זריקת חפצים, נפילות, בדיקות התנגשויות שונות, נהיגה בכלי רכב,בובות סמרטוטים(כדי לדמות נפילה של יצורים חיים) וכל מה שקשור לחוקי הפיזיקה שאיתם אפשר להשתעשע. זה כולל גם זגוגיות שמתנפצות לרסיסים(החלקיקים הקטנים לרוב ישתלבו עם פרקטיקל סיסטם) או מבנים שונים שנהרסים ומתפרקים מנוע לעבודה ברשת - טוב, לא יודע אם אפשר לקרוא לזה מנוע, אבל חלק מהמנועים השלמים(אלו שהם חבילה של כמה מנועים) מציעים אפשרויות רשת. לפיתוח פשוט יותר של FPSים למיניהם או משחקים אחרים לרשת... בGTA האחרון למשל, הוסיפו גם שימוש במשהו שנקרא מורפיום. זה משהו שלוקח חלק קטן של המנוע הפיזיקלי(בובת הסמרטוטים) צעד אחד קדימה והוסיפו להם גם תגובות אינסטנקטיביות. נניח פגעת למישהו בכתף - הוא יושיט יד לכיוון הכתף הפצועה. לפעמים הוא גם ינסה להתחמק מפגיעות. ועוד צורות התנהגות אנושיות יותר. רוב(או כל) המנועים החזקים בשוק היום הם בבסיסם כתובים בC++. אבל אוהבים להשתמש בLUA ושפות סקריפט אחרות כדי להשתמש בהם ובתכונות שלהם.
 

freak2100

New member
תראה...

מכיוון שמנועים של משחקים צריכים להיות מאוד חזקים, אני מניח שהפיתוח שלהם מתבסס על שפה יעילה (מבחינת ביצועים) כמו C++ (למשל שפות של dot net יעילות מבחינת זמן פיתוח, אבל נותנות ביצועים לא טובים), + אופטימיזציות ברמת האסמבלי. כמובן שכל זה צריך גיבוי כלשהו של מערכת ההפעלה, שזה directX/open GL, שאלה כלים שמספקים למתכנת גישה לכרטיס המסך ולכל הפונקציות שהוא מספק (למשל כל הshaderים בכרטיסים שיצאו בשנים האחרונות). חוץ מזה, יש לך המון המון חישובים של גיאומטריה, פיזיקה וכו' וכו' וכו'... עכשיו, במשחקים היום הפיתוח מתחלק לשניים: יש את החלק של המנוע ויש את החלק של פיתוח המשחק עצמו. המנוע הוא בעצם כלי שמפתחים לפני פיתוח המשחק עצמו, או אפילו קונים מוכן (למשל את source של valve, את unreal של Epic, וגם CoD4 מכיל מנוע משלו. ועוד רבים וטובים אחרים), והוא מספק את כל הגרפיקה, פיזיקה וכו' של המשחק. פיתוח של המשחק עצמו זה בעצם עיצוב של השלבים, דמויות וכו' - שזה חלק מאוד מאוד חשוב בשביל שהמשחק יצא טוב (דוגמה מצויינת היא Crysis, שהמתכנתים השקיעו את הנשמה שלהם במנוע, ובסוף בנו על גביו משחק די מחורבן).
 
למעלה