תכנות משחקים

erezsh

New member
תכנות משחקים

היה לי זמן פנוי אז החלטתי לתרום מאמר קטן אני קצת קופץ בין נושאים, גם כי המאמר אמור להיות מעבר מהיר על הכל, וגם כי אין לי כוח להתחיל לחשוב על הכל.
תכנות, מתבצע בעזרת שפות תכנות (סתם לזרום: C, פסקל, אסמבלי, ג'אווה וכו'). בעיקרון, ניתן להשתמש בכל שפת תכנות לבניית משחקים, ועם זאת השפה הפופולארית ביותר הינה C/C++, ועבור פלטפורמות יחודיות Java מאוד נפוצה (לדוגמא GameBoy או טל' סלולאריים). על מנת לתכנת בשפת תכנות, יש קודם ללמוד אותה - ומומלץ ללמוד לעומק. אז כדי שניתן יהיה להריץ את מה שכתבת, צריך מהדר (Compiler), או אם זו שפה שאינה עוברת הידור (כמו ג'אווה), אז את סביבת הריצה המתאימה. כשניגשים לתכנת משחק, בדר"כ מומלץ לעשות זאת בעזרת ספריות משחקים (או כדי לפרק לגורמים - ספריות גרפיקה, מוסיקה, טיפול קלט וכו') וזאת כדי לחסוך לך את הטרחה של לכתוב הכל מחדש, וגם לפעמים כדי לאפשר Portability. ספרייה שאני ממליץ עליה מאוד למתחילים (וגם בינוניים) שמתכנתים ב-C או C++ היא Allegro. לאלו אשר רוצים לתכנת על OpenGL (שוב, C או C++) יש את SDL, עליה אני מפתח כיום את המשחק שלי. כמובן שיש את DirectX SDK המהולל, אם המשחק מיועד לחלונות בלבד. יש הרבה אחרות, אולי טובות לא פחות. שאלה שחוזרת על עצמה היא איך בכלל ניגשים לכתוב משחק. התשובה היא, בגדול - כותבים איתחול כותבים לולאת משחק כותבים סיום לולאת משחק טיפוסית תיראה כך: { בדוק קלט וקלוט אותו. עדכן את העולם לפי הקלט. עדכן את התצוגה לפי העולם. חזור חלילה עד שהתקבל הקלט המתאים. } כך לולאת המשחק שלי נראית:
while(!done) { handle_mouse(); done=handle_kbd(); if(SDL_GetTicks()-ticks>(1000/60)) { //60 FPS menu_update_button_status(); units_update_actions(); units_update(); bullets_update(); effects_update(); ticks=SDL_GetTicks(); continue; } update_output(first_run); first_run=0; SDL_GL_SwapBuffers(); // Swap the backbuffers to the foreground ++fps_count; }​
זה כמובן לא מחייב, וסתם ניתן כדי לתת דוגמא כללית. זהו. עכשיו אני הולך לאכול. תרגישו חופשי לשאול.
 

7ימ1ש

New member
אני לא יודעת כלום על תיכנות ../images/Emo41.gif../images/Emo23.gif

איך אני יכולה ללמוד מישהו אולי יודע על אתר עם הדברים הבסיסיים או מדריך אפילו באנגלית וthe games factory? ומי שיודע יך מתחילים לבנות תמשחק? וד"א מאמר מובן ומסביר כל הכבוד
 

erezsh

New member
על תכנות

מומלץ לשאול בפורום שפות תכנות. בכל מקרה, אתרי תכנות ששימשו אותי הרבה הם: programmersheaven.com gametutorials.com gamedev.net cprogramming.com כמובן שיש עוד הרבה
 

Itai8

New member
תודה!

כל הכבוד על ההשקעה! למרות שלא הכי הבנתי מה רשמת...
 

erezsh

New member
למה לא

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