Привет!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.
Существует мнение, что про геймдев внятной литературы почти нет, все знания надо получать практическим путем. С моей точки зрения, в этом мнении есть зерно истины, тем не менее, я не могу полностью с ним согласиться.
Ниже я даю рецензии на книжки, которые считаю очень полезными в различных разделах computer science, которые используются в геймдеве. Я намеренно опускаю книги по C++ и алгоритмам: мне кажется, эта тема уже настолько изучена и освещена, что больше про нее не стоит рассказывать.
Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.
А какие книжки нравятся вам?
Также в комментах можете писать, на какие темы вам были бы интересны посты.
Mathematics for 3D Game Programming and Computer Graphics
Очень подробное и академичное (со всеми доказательствами) изложение 3D math (по-русски, наверное, это называется «линейная алгебра и аналитическая геометрия») через призму геймдева. При этом ничего лишнего, все очень по существу. Математика нужна не только программистам графики: тулзовиков и гейм-механистов тоже запросто могут спросить (особенно в крутых конторах) на собеседовании про пересечение луча с треугольником.
Computer Architecture, Fifth Edition: A Quantitative Approach
Компьютерная архитектура на очень глубоком уровне, с современными примерами. Про то, как работает конвейер, кэши, бранч предикшн, суперскаляры. Написана создателями архитектуры MIPS, на которой работают, например, Nintendo 64, PlayStation 2 и PlayStation Portable. Рекомендуется начинать читать с аппендикса — там есть «вводный курс». Необходимо для всех, кто пишет любой рантайм-код.
Game Engine Architecture
Очень крутая книга практически обо всех аспектах игровых движков. Описано много граблей, которые собирают новички. Жалею, что не прочитал ее на заре карьеры в геймдеве. Недавно вышло новое издание.
Real-Time Collision Detection
Несмотря на название, стоит почитать всем. Очень подробно рассмотрены ускоряющие структуры (hgrid, octree, bsp). Есть большая глава по оптимизации. Количество информации на предложение текста зашкаливает, читать надо очень вдумчиво.
C++ Concurrency in Action: Practical Multithreading
Хорошее практическое руководство. Всякие плюшки в виде lock-free и т. д. Очень приятно читается.
Game Programming Patterns
Единственная небумажная книжка. Паттерны собраны хорошие, а главное — не высосаны из пальца, благо у автора много практического опыта. Очень много конкретных примеров. Была бы на бумаге — с удовольствием купил бы.
Автор: PeterSikachev