ספרי תכנות מומלצים
הרשימה שאני הולך לפרט כעת היא חלקית בלבד, ומוכוונת ליעד מאוד ספציפי, הוא
תכנות משחקי מחשב רציניים ב-++C/C.
מתימטיקה בלי מתימטיקה אי אפשר - מתימטיקה היא הבסיס לכל תחום בתכנות משחקים, כמו גרפיקה, פיסיקה, סאונד ו-AI. הספר שאני ממליץ עליו במיוחד בקטגוריה הזו הוא Mathematics for 3D game programming and computer graphics של Eric Lengyel. כדי ללמוד מתימטיקה ברמה טובה בלי קשר למשחקי מחשב (מומלץ) חשוב ללמוד מתימטיקה דיסקרטית ואלגברה ליניארית.
פיסיקה ממתימטיקה אנחנו מתקדמים לפיסיקה - ופה יש ספר אחד מעולה, Physics for game developers של David M. Bourg. הספר מקיף הרבה מאוד תחומים בפיסיקה שקשורה למשחקי מחשב, מהיכרות כללית עם החוקים הפיזיקליים השונים ועד להסברים אודות סימולציות של כלים כמו מטוסים, ספינות, טילים, מכוניות וכו'.
גרפיקה את הקטגוריה הזו אפשר לחלק לכמה חלקים - החלק הראשון הוא התיאוריה בנוגע לגרפיקה ממוחשבת, והחלקים האחרים הם API-ים ספציפיים, כמו DirectX ו-OpenGL. בנוגע ל-DirectX הייתי ממליץ על Advanced 3D Game Programming with DirectX 9.0 של Peter Walsh. בנוגע ל-OpenGL הייתי ממליץ על הספר האדום והספר הכחול של OpenGL - כלומר OpenGL Programming Guide ו- OpenGL Reference Guide, בהתאמה. נושאים יותר מתקדמים כוללים שפות Shader-ים - פה אפשר למצוא את: 1. Shaderx2 - Introductions And Tutorials With Directx 9.0 של Wolfgang Engel; 2. ShaderX2 - Shader Programming Tips and Tricks With Directx 9 של Wolfgang Engel; 3. OpenGL Shading language של Randi Rost. לגבי התיאוריה, הספר הטוב ביותר לגרפיקה ממוחשבת הוא Computer Graphics: Principles and Practice in C (2nd Edition), של Foley ואחרים. לגבי בניית מנוע גרפי רציני, הספר המומלץ ביותר (אם כי קשה לקריאה) הוא 3D Game Engine Design - A practical approach to Real-Time Computer graphics, של Eberly.
AI בתחום הזה ישנם ספרים טובים רבים, אבל אחד שאני ממליץ עליו הוא AI Game development של Alex Champandard. אלכס (הפוקד תדירות את הפורומים של GameDev אגב) הוא המוביל של פרוייקט ה-F.E.A.R, שזו סביבה שבה אפשר לבחון ישויות AI. הוא מסתמך הרבה על הפרויקט הנ"ל בספר, ומביא את הקורא לבסיס טוב ב-AI. עוד ספר טוב הוא AI Techniques for game programming. אמנם הוא מבזבז שליש ספר על תכנות WIN32 ו-GDI, אבל שני החלקים האחרים הם אודות Genetic Algorithms ו-Neural networks, שני נושאים חשובים. כדאי גם ללמוד AI באופן כללי בלי קשר למשחקי מחשב. הספר הכי טוב שאני מכיר לזה הוא aritificial intelligence: a modern approach של Russell ו-Norvig. זה הספר המשמש רבות מהאוניברסיטאות בעולם לצרכי לימוד AI.
כללי חוץ מהספרים שפירטתי למעלה, יש ספרים מומלצים שמקיפים תחומים רבים. אחד הספרים האלו, והראשון שהייתי קונה אחרי שהייתי יודע ++C אם הייתי במקומכם, הוא Tricks of the Windows Game Programming Gurus (2nd Edition) של Andre Lamothe. אנדרה הוא בחור ותיק בתעשיית המשחקים, ויצא לי להתכתב איתו במייל - הוא מאוד נחמד ועוזר, וגם יש לו חברה שמשווקת משחקי מחשב "מתחילים" - ככה אפשר אפילו לעשות קצת כסף מהמשחקים הראשונים שלכם
כשאתם מסיימים לקרוא הכל, כדאי לצלול ל-Game Programming Gems. מדובר בארבעה ספרים (1..4) שמכילים המון טיפים וטריקים בכל תחום אפשרי בתכנות משחקים. כדאי לקרוא אותם אחרי שמבינים כבר בתכנות בכלל ובתכנות משחקים בפרט.