פיתוח משחקי מחשב ב C#???

neryaz

New member
פיתוח משחקי מחשב ב C#???

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

HackMachine

New member
תלוי

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

neryaz

New member
אתה אומר שמשחק ב C# עובד לאט?

שמעתי מישהו שאומר שזה לא נכון....
 

HackMachine

New member
לא

אבל אני אומר (לדוגמא) שאם תנסה לכתוב משהו כמו CRYSIS ב C#, אתה יכול לשכוח מזה.
 

neryaz

New member
כי זה משחק ממש ממש ענק

1)אבל בכל זאת למרות שהוא ענק למה ב C# אי אפשר לפתח כזה משחק? 2)נגיד איזה איזה רמה של משחק אפשר לפתח ב C# בצורה טובה( GTA 3 נגיד אפשרי)? 3)בכל זאת אני כמובן כמובן יתחיל ממשחקים קטנים אז כדאי ישר על ההתחלה לעבור שפה? או שעדיף להתחיל בשפה שאני מכיר ויש לי ניסיון בה(אומנם לא בתחום המשחקים אלא בתיכנות) ומתישהו כשאני ישתפר ממש ויתחיל ליצור דברים מורכבים לעבור שפה.. 4)CPP זה שפת תיכנות כמו C #? יהיה קשה לעבור אליה? ומה ההבדל כ"כ כי מין הסתם בC# יותר חדשה אז יש בה יותר אופציות וכו' תודה רבה לך נ.ב. אתה מפתח משחקים?
 

HackMachine

New member
הממ

1. כי המשחק דורש הרבה כוח עיבוד מעבר לכרטיס מסך. ה AI, פיסיקה ועוד כל מיני דברים שהם יצרו שלא רצים על הכרטיס מסך רצים על המעבד (הבנתי למשל שהם בחרו שלא לתמוך ב PHYSX ככה שאפילו פיסיקה לא מואצת חומרה) ואם הקוד שאתה מריץ הוא לא יעיל ב 100% אז תאלץ להשתמש בחומרה חזקה יותר או פשוט לא לעשות את זה. יש טכניקות שאולי יאפשרו ייעול של הקוד אבל זה יהיה כל כך מסובך שכבר עדיף מראש לעשות את זה ב CPP. טכנית אפשר לעשות משחק כזה אבל זה ירוץ על מחשבים של עוד כמה שנים מה שיהפוך את זה למיותר לחברה רצינית. כמובן ש CRYSIS זו דוגמא מאוד קיצונית, אבל בתעשיה המקצועית זה מה ששואפים אליו. כמו שאמרתי ללמידה של בניית משחקים ואולי אפילו לייצר משהו ברמה בינונית C# הוא מעולה. 2. GTA3 טכנולוגית כבר מיושן. קח בחשבון שכשהוא רק יצא לאור אז הוא היה מותאם לחומרה שהיתה באותה תקופה (הוא אפילו רץ חלקית על PSP). היום החומרה כבר הרבה יותר חזקה אז אולי יהיה אפשר לייצר את אותו משחק ב בקוד שהוא לגמרי MANAGED. מצד שני לא יהיה אפשר להמיר אותו למערכות כמו PSP או PS2 כמו שעשו אז. אז טכנית התשובה היא לא אבל מעשית התשובה היא כן. השאלה מאיזו נקודת מבט מסתכלים. 3. כמו שאמרתי בסופו של דבר אתה תכתוב את אותם הדברים פה או שם, פשוט CPP ילמד אותך איך באמת עושים את הדברים האלה בזמן ש C# פשוט יקל עליך בעבודה. בכל עניין של מה המטרה שלך. אין תשובה ישירה לזה. תחשוב שככל שתתכנת ב CPP אז ככה תדע את השפה יותר וככה יהיה לך יותר קל לייצר דברים גדולים מאוחר יותר. אם תעבוד עם C# במשך כמה שנים ואז כשתרצה לעבוד על משחק גדול יותר תעבור ל CPP אז תאלץ בעצם לחזור אחורה בידע. לדעתי סתם חבל. 4. פחות או יותר. (אני כמובן מדבר על C# MANAGED מול CPP טהור) ההבדלים הם בעיקר בנושא של ניהול זיכרון וקצת סינטקס. בד"כ אם אתה יודע CPP אז עם קצת למידה אתה תדע C#, להיפך זה קצת פחות נכון כי CPP דורשת ידע בניהול נכון של הזיכרון (שהוא לא כזה מסובך אגב, פשוט צריך לדעת). אם יהיה קשה לעבור? קשה לי לאמר. לדעתי לא כי העקרונות דומים. זה תלוי בך. C# בגדול זו העתקה של JAVA מבחינת העיקרון שלה, ככה שהיא לא ממש משהו חדש. זה פשוט הפיתרון של מיקרוסופט לגרום לאנשים לתכנת יותר לווינדוס מאשר למערכות אחרות ובכך לייצר דור של תכנתים שיודעים רק ווינדוס ושום דבר אחר. בעיקרון היא אמורה להיות PORTABLE כמו JAVA אבל בפועל הבנתי שזה דיי צולע. בינתיים לא שמעתי על משהו שעשו ב C# שלא יכלו לעשות ב CPP... ככה שאני לא חושב שיש לה יתרון משמעותי מבחינת פיצ'רים. אני מפתח משחקים כן. לצערי לא בתעשיה מסודרת אבל זה כנראה ישתנה
 

neryaz

New member
איפה לומדים CPP בעיברית?

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

HackMachine

New member
Visual C++

אני נוהג לכתוב CPP ולא C++ כי בעברית זה מחרבש את הסדר... אבל זה אותו הדבר. איפה לומדים בעברית? יש הרבה ספרים בספריות ובחנויות. לפתח משחקים ב C יהיה סיוט. אני לא ממליץ על זה. חוץ מזה ש C++ זה בתאכלס גירסה עדכנית יותר של C.
 

HackMachine

New member
נכון

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

HackMachine

New member
מאמרים מעניינים שמצאתי

מאמר_1 אפשר לאמר שע"פ התוצאות CPP היא בערך 30% יותר יעילה, ככה שבגדול יהיה אפשר לחשב בה קרוב ל 30% יותר אובייקטים, פיסיקה וחישובי מעבד אחרים מאשר מה שהיה אפשר לעשות ב C# על אותו מחשב. אני חושב שזה הרבה. גם אם התוצאות לא מדוייקות וההבדלים הם יותר קטנים אין ספק שיש הבדל. מאמר_2 תוצאות פחות או יותר דומות. כמו שזה נראה כמה ש C# עוזרת בניהול זיכרון, היא גורמת לתכנת לחשוב פי כמה על יעילות ושבצור קוד. כמובן, כמו שאני מנסה להדגיש, הכל תלוי בצרכים. אני מנסה להציג רק עובדות.
 

De-Panther

New member
תעשה חיפוש על XNA בגוגל... הייתרון בסישארפ...

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

neryaz

New member
שפות אחרות?

האם אתה מסכים עם HackMachine שאי אפשר לפתח משחק גדול בC#? ולאיזה שפות נוספות אתה מתכוון? והאם לעבוד איתם ביחד עם C # או במקום C#
 

De-Panther

New member
אני לא יודע כי לא התעניינתי יותר מידיי בזה...

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