מאיפה להתחיל

ססילי

New member
מאיפה להתחיל

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

somebodddy

New member
אפשר למצוא מדריכים כלליים באנגלית

כאן - http://www.gamedev.net/reference/start_here/, אבל תכלס אין מדריך אחד שמרכז את הכל. יש מדריכים שמסבירים באופן כללי על המסלול שצריך לעבור, יש מדריכים שמסבירים איך לעשות אספקטים ספציפיים במשחק, ויש גם מדריכים שמסבירים איך לעשות משחק פשוט ספציפי(כמו טטריס, סנייק או ספייס אינווידרס). אני הייתי ממליץ להתחיל בללמוד לעומק את השפה שבה או רוצה להשתמש ואת הספריות שהוא יצטרך בשביל לבנות משחק(אם הוא משתמש במחולל אז שני השלבים האלה הם בעצם שלב אחד). אחרי זה שינסה לבנות משחקים ממש פשוטים - כמו פונג, טטריס או סנייק. אם הוא לא מצליח בהתחלה שיחפש מדריך למשחק הספציפי שהוא רוצה לבנות, אבל כדאי שהוא יבנה כמה משחקים לגמרי בעצמו לפני שהוא ממשיך לדברים יותר מתקדמים. אחרי שהוא ידע לבנות משחקים פשוטים הוא יכול להמשיך כבר די בעצמו, כשכמובן זו לא בושה לשאול באינטרנט לגבי אלמנט ספציפי שהוא מתקשה איתו או לא מבין אותו. 1.איזה מחוללי משחקים בולטים יש בשוק?... המחולל שנחשב הכי טוב הוא MMF2. מדובר במחולל מקצועי(סוג של אוקסימורון אם תשאלו אותי) עם המון אפשרויות ומחיר גבוה. בפינה החינמית יש את GameMaker(למרות שיש לו גם גירסה בתשלום). אין לו יתרונות מיוחדים - הוא פשוט נחשב למחולל החינמי הכי טוב. יש גם את RPG Maker, שמשמש לכתיבת CRPG - אבל צריך לעשות שמיניות באוויר בשביל לפתח איתו סוגים אחרים של משחקים(אפילו סוגים אחרים של RPG) מדריכים יש בגוגל. 2. מהן שפות התכנות שלהן יתרון בכתיבת משחקים? הסטנדרט בתחום הוא C/C++. זוהי שפה שיחסית לשפות אחרות קשה לכתוב בה, כי היא ישנה ובנוייה תלאי על תלאי. היתרונות שלה הם שהיא הכי מהירה(חוץ מאסמבלי, אבל כמעט בלתי אפשרי לכתוב משחקים באסמבלי) ושיש לה מגוון עצום של ספריות, מנועים, מדריכים ומה לא. חוץ ממנה אין עוד שפות שבולטות בתחום הזה. ולבסוף שאלה ספציפית: כיוון שהנער המדובר משחק לא מעט במייפל סטורי, אני מניחה שזה סוג המשחקים שהוא מעוניין גם לכתוב (אם כי אינני בטוחה. אשאל אותו.) לצורך זה, האם יש תשובה ממוקדת יותר לשאלות הכלליות ששאלתי? מייפל סטורי הוא MMORPG. בשביל לפתח משהו כזה צריך הרבה אנשים והרבה כסף. בכל אופן הוא צריך להתחיל עם אותם משחקים פשוטים.
 

adiel666

New member
מסכים בהחלט

ובנוגע לענין של הMMORPG, מנסיון, יש לזה כל כך הרבה צדדים שמעבר לפיתוח של משחקים מז'אנרים שונים. צריך לעשות שמיניות באוויר בכדיי להרים שרת שידע לנצל טוב את הBANDWIDTH ובאותו זמן יחסום אפשרות לרמאויות ויבדוק+יבצע פעולות לפי פאקטים שנשלחים אליו בצורה אפקטיבית. פיתוח הסרבר של המשחק שלנו ארך כ3 חודשים ועדין נשארו לנו מערכות כגון Party System להוסיף לו ותוך כדיי הפיתוח אתה קולט ששכחת לייצר משהו חשוב בשרת והמסד נתונים שלו, כמו למשל- מה יקרה כשהדמות תמות? וזה שואה, להוסיף את זה כשאתה כבר עובד על הClient. לסיכום, MMORPG זה יותר בגדר ה"בלתי אפשרי" לאנשים שלא פיתחו דברים רציניים בחיים שלהם, לפני כן. שילמד ויבנה קודם כל משחק Multiplayer לפני שהוא נכנס לכל הקטע של הMassive. בסרבר פשוט כמו של המשחק שלנו יש בין 200 ל300 תנאים ועל כל תנאי בממוצע יש 10 פעולות שכשהוא מתקיים, המחשב מבצע.
 

De-Panther

New member
זה כי צריך לתכנן דברים מראש לפני שכותבים את..

הקוד של התוכנית זה נכון לגבי כל מערכת גדולה
 

adiel666

New member
בלתי אפשרי לתכנן הכל מראש

תמיד תרצה להוריד/להוסיף על התכנון הראשוני שלך הרבה אחרי שהתחלת את שלב הפיתוח. המוצר שתבנה בחיים לא יראה 100% כמו שרצית, תשמח אם תסיים אותו עם 50% מזה.
 

De-Panther

New member
נכון, אבל צריך לתכנן כמה שיותר מראש, יש דברים

שהם מאוד בסיסיים(כמו למשל מה יקרה כשהדמות תמות)
 

somebodddy

New member
מה שהתכוונתי זה

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

ססילי

New member
תודה רבה על התשובה המפורטת ../images/Emo13.gif

לא, לא מדובר על תסמונת 'לחבר שלי יש בעיה'..., (LOL
) אני עצמי מתכנתת C++ Java ועוד, (ולכן פנו אלי בשאלה) אך אין לי שום נסיון בכתיבת משחקים, בגרפיקה, וגם אינני מכירה משחקים כמשתמש.. ברורה לי המורכבות של כתיבת משחק רציני, אין לי ספק שמדובר במשימה של חודשי אדם רבים (ומן הסתם שנות אדם) של מתכנתים מקצועיים ומנוסים. הנער ניסה את GameMaker, והתאכזב, לדבריו "אי אפשר לעשות שם כלום". לכן עלתה ההצעה שילמד לתכנת. אולם אינני בטוחה שהוא יהיה מסוגל למאמץ הדרוש (להבנת תכנות הוא מסוגל בלי ספק). לשם כך הוא צריך להנות גם בדרך. בגלל שאינני בטוחה מה המאמץ שהוא מסוגל להשקיע, ואינני יודעת כמה המחוללים 'מספקים' אני מבררת גם על מחוללים. קיבלתי בין השאר עצה 'להתחיל מפלאש'. דווקא את פלאש אינני מכירה - זה נראה לי כלי 'עיצובי' במהותו. מה תוכלו להגיד על העצה הזו? מעניין לשמוע שדוקא C/C++ הם הסטנדרד בתחום, הייתי מצפה שזו תהיה Java. אני מבינה מדבריך (וזה נשמע לי סביר מאד) שהסיבה היא המהירות הדרושה. שוב תודה!
 

De-Panther

New member
C\C++ הם יותר בשימוש למשחקים רציניים מפני שיש

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

ססילי

New member
תודה רבה! ../images/Emo140.gif

נראה לי שבמקביל לבדיקה של לימוד של שפות תכנות אחרות, אבדוק גם את פלאש (שאני מכירה פחות)
 

ססילי

New member
תודה רבה גם לך! ../images/Emo140.gif

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