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