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

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

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

אז למעשה, המקום שבו אנחנו מחברים את כל ה"חלקים של המשחק" ביחד נקרא – ״מנוע משחקים״ או באנגלית "Game Engine".

המנוע יוניטי בפעולה

מה זה מנוע משחקים בעצם?

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

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

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

לבנות או לקנות מנוע משחקים?

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

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

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

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

באמת יש מנועי משחק טובים בחינם?

כן, ולא ובערך…

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

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

רשימת מנועים לפיתוח משחקים (לגזור ולשמור)

Unity (יוניטי) ו – Unreal engine (אנריל אנג'ין, או בתרגום חופשי – מנוע לא אמיתי)

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

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

בקיצור: מנועים ממש טובים אבל אולי תצטרכו לשלם עליהם בשלב מסוים.

Cryengine

מנוע משחקים שנוצר על ידי החברה Crytek ושימש בפיתוח משחקים גדולים כמו Far cry ו- Crysis,

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

בקיצור: אין כל כך סיבה להשתמש בו.

Godot (גודו)

מנוע משחקים חינמי לחלוטין! אם אתם מחפשים לייצר משחק בלי לשלם על זה לאף אחד אז זה בדיוק המנוע בשבילכם.

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

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

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

Armory (ארמורי)

Armory Logo

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

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

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

בקיצור: רעיון מעולה אבל עדיין לא בשל מספיק לשימוש.

חומרים בארמורי מבוססים על המנוע סייקלס של בלנדר

אז איזה מנוע משחקים לבחור?

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

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

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

אהבתם את הפוסט? שתפו אותו עם חברים!

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *