מנועי משחק הפייתון הטובים ביותר

Best Python Game Engines



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

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







למה מנועי משחק?

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



PyGame

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



קל להתחיל עם PyGame אבל אתה יכול להקל עוד יותר. חבילת ה- pgzero מיועדת למורים להציג תכנות. עם החבילה, אתה יכול לכתוב בקלות חלקים רבים של המשחק שלך ללא קוד לוח.





מְאוּכזָב

תוכל להתקין גם מודולי Kivy כ- Python. זוהי הדרך הטובה ביותר להשתמש ב- Python לכל מסגרת. ל- Kivy יש יותר תכונות מאשר PyGame ויוצר תוצאות מלוטשות יותר. כדי להתחיל, ל- Kivy יש הדרכות נהדרות ממש בדף הבית שלהם. כוח אחד של Kyvi היא שפת ה- Design שלהם Kv. שפת עיצוב זו מקלה על יצירת תפריטים, תכנית משחק וכל הגרפיקה. הודות למערכת זו, אינך צריך ליצור תמונות עבור הגרפיקה הפשוטה ביותר.

בדף שלהם הם גם מפרטים כיצד להתחיל להשתמש ב- Kivy עם PyCharm. יש גם הרחבות לפריסה ל- Android ו- iOS. זה קצת יותר קל משימוש ב- PyGame.



pyglet-3D

במבט ראשון, הצפרפן נראית קטנה ומוגבלת, אך מסתתרת עומק מתחת לפשטות. תוכנית זו תומכת ב- OpenGL, ללא תלות, אם כי תוכל להרחיב את יכולות המדיה על ידי התקשרות ל- ffmpeg. Pyglet מטפלת גם בהגדרות צג כפול. קיימות ספריות של צד שלישי המרחיבות את המערכת. אתה צריך לדעת על הספריות האלה על כל התכונות שהם מוסיפים. ייתכן שתרצה גם להשתמש בעגמומיות כדי ליצור ממשק משתמש עקבי ליישום שלך. השתמש ב- PyShaders לצורך העיבוד וב- Ratcave לטיפול בסצנות תלת מימד. אם אתה מתחיל עם pyglet3d, טוב לדעת ש- cocos2d משתמש ב- pyglet. תוכנית זו בונה מסגרת מקיפה לאפליקציות משחק ויישומים אחרים מבוססי GUI.

פנדה תלת מימד

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

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

Ren’Py

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

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

אורסינה לשפר את פנדה

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

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

סיכום

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