שאלות של newbie...

tseliot

New member
שאלות של newbie...

טוב, אני די חדש בעניין הזה של בניית משחקים, ועלו לי שתי שאלות (שלא מצאתי עליהן תשובה כשעשיתי Search בפורום, כמובן) על שיפור מהירות המשחק: א. אני כותב מC#, שברור שבהיותה Managed איטית יותר מC++. ידוע לי שאת רוב (אולי בעצם כל?) המשחקים כותבים בC++, אולם, בהנחה שבינתיים אני מאמן יותר את הכישורים התכנותיים שלי ופחות מנסה ליצור את היורש של Halo(לבינתיים אני עובד על משחק סטייל StarControl
) ואני לא עושה שימוש בתלת מימד לבינתיים, אם הקוד עובד לאט מדי(על מחשב די חזק), האם זה בגלל שהקוד כתוב לא נכון, או שיכול להיות שC# לא מצליחה לעמוד במשימה של ציור שתי חלליות על רקע שמיים זרועי כוכבים?
ב. עד כמה להיות object oriented? כלומר, נורא מזמין, לדוגמא, ליצור base class של חללית עם פונציות וירטואליות לMove() וSHoot() וכו' ולגזור ממנה חלליות עם סוגי יריות שונים והתנהגות מרחבית שונה(עם אינרציה, בלי אינרציה) אבל כידוע לכל פונקציה וירטואלית יש תקורה בגלל הV-Table, לכן- איך אני יודע באיזה איזור בין oop לAssemmbly אני אמור להיות?
 

vent91

New member
רעיון

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

ilankt

New member
Managed DirectX

תחפש את ה DirectX SDK 9 המלא, יש שם גם מדריכים, אבל אני בטוח שתמצא מלא חומר באינטרנט.
 

tseliot

New member
תודה רבה, אבל בכל מקרה

אני אשמח לתשובות לשתי השאלות שהצבתי... בכל מקרה אני אנסה לעבוד עם DX ונראה איך ילך. יש למישהו לינק למדריך טוב למתחילים בDX?
 

itaym02

New member
שלום

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

DadleFish

New member
כמה תשובות

בקשר ל-DirectX, חפש את Drunken Hyena ברשת. $C היא אכן איטית מדי בשביל משחקים נורמליים. לשאלתך, זה שילוב של שני הדברים, גם קוד לא נכון כנראה מצידך, וגם העובדה שאתה משתמש ב-$C. אם אתה לא משתמש ב-Managed DX אז זה בכלל גרוע. לגבי OOP - אין מזמין או לא מזמין. יש נכון או לא נכון. הרעיון הוא ליצור object oriented design כזה שתוכל להרחיב אותו בקלות, אבל שלא יהיה overhead מוגזם. בתור כלל אצבע, אני מציע לך לחפש חומר על refactoring, ולעשות את המינימום הנדרש כל הזמן. אל תעשה משהו "בשביל העתיד", אלא שנה את ה-DESIGN שלך בצורה דינמית במשך הזמן. הגדר את הדרישות היטב, ותגיע ל-DESIGN שאתה צריך.
 
למעלה