×Закрыть

5 книг для программистов, работающих в геймдеве

Информационные технологии развиваются так стремительно, что список литературы можно обновлять дважды в неделю. Но есть книги, которые не теряют актуальность. Я составил подборку таких книг для разработчика игр: о знакомстве с индустрией, математике, искусственном интеллекте, шаблонах программирования и Unity.

1. Jeannie Novak. Game Development Essentials: An Introduction

Джинни Новак — знаковая личность в игровой индустрии. Она писатель, преподаватель и член такого количества профессиональных организаций и ассоциаций, что о них можно написать отдельную статью.

Game Development Essentials подойдет и новичкам в геймдеве, и опытным разработчикам из других областей. Автор разработала интересный сценарий обучения и свела техническую составляющую к минимуму — короче говоря, сделала всё, чтобы ваше знакомство с разработкой было увлекательным.

В отличие от многих других книг для начинающих, Game Development Essentials не вводит в заблуждение, говоря, что для создания игры вашей мечты нужна только хорошая идея, а процесс программирования — сплошное развлечение. Для Джинни разработка — в первую очередь бизнес, требующий кропотливого труда, а уже потом — искусство.

Книга охватывает все важные для геймдева темы: от истории индустрии и создания игровых сюжетов до процесса разработки и развития команды. Благодаря понятному языку и скриншотам в качестве иллюстраций с этого издания можно начать освоение геймдева.

В книге есть «заметки на полях» — цитаты разработчиков из известных студий, например Infinity Ward, Obsidian Entertainment, Ensemble Studios и т.д. Создатели игр подтверждают тезисы автора примерами из опыта и дают действительно хорошие, применимые на практике советы.

2. Eric Lengyel. Mathematics for 3D Game Programming and Computer Graphics

Эрик Ленгел — основатель Terathon Software и создатель C4 Engine, в прошлом — разработчик в компаниях Naughty Dog, Sierra Studios и Apple.

Если вы плохо помните программу технического вуза или вовсе его не заканчивали, эта книга для вас. Автор собрал всю необходимую для написания качественного 3D-движка «вышку» в одном месте. Больше никакого чтения выцветших конспектов и бессистемного поиска в Google.

Автор начинает с векторной геометрии и линейной алгебры и переходит к более сложным задачам 3D-программирования, например освещению и определению видимости. Целый раздел в работе занимает ноу-хау автора — моделирование жидкостей и тканей.

Есть и практические задания на закрепление пройденного материала. Примеры использования C++ и GLSL-кода доступны на сайте mathfor3dgameprogramming.com

Книга совсем не универсальна, поэтому браться за неё стоит только в том случае, если вы уже обладаете определенным уровнем подготовки. В качестве первого учебника по математике она точно не подойдет, как и в качестве единственного аргумента на собеседовании в геймдев-компанию.

3. Ian Millington. Artificial Intelligence for Games

Ян Миллингтон — британский разработчик, специализирующийся на искусственном интеллекте (ИИ) и системах поддержки принятия решений (СППР).

ИИ — одна из самых важных проблем геймдева. От качества ИИ довольно часто зависит успех игры.

Artificial Intelligence for Games рассказывает, как научить компьютер мыслить: решать арифметические задачи, принимать решения, искать и сортировать данные.

Книга состоит из четырех частей. AI and Games включает основные понятия искусственного интеллекта, в Techniques рассказывается о структуре ИИ, Supporting Technologies посвящена способам реализации полноценной работы, а Designing Game AI — проектированию.

Автор стремится доступно объяснить читателю, как что работает, поэтому вместо непонятных новичкам простыней C++ в книге много примеров псевдокода и подробных описаний алгоритмов. В каждой главе есть упражнения, чтобы применить полученные знания на практике.

Автор приводит и анализирует множество примеров из реальных игр топ-студий. Кстати, второе издание книги охватывает больше ИИ-ориентированных тайтлов.

В профиле Яна Миллингтона на GitHub есть большая библиотека исходного кода ИИ: github.com/idmillington/aicore

4. Will Goldstone. Unity Game Development Essentials

Unity, кроссплатформенная система для создания игр, становится популярнее с каждым днем. Я бы сказал, что с её помощью можно стать разработчиком игр в кратчайшие сроки, поэтому и включил в список одну из лучших книг о конструкторе.

Уилл Голдстоун — разработчик, веб-дизайнер и блогер. Он работает на Unity, пишет о Unity и продвигает Unity с первых её версий. Если официальная документация движка оказалась для вас слишком сложной, эта книга вам поможет.

Изложение доступное и последовательное. Вам не потребуется никаких знаний по разработке, автор начинает с основ. После прочтения книги вы сможете создавать профессиональные 3D-игры с реалистичной средой, звуком и динамическими эффектами.

Уилл объясняет устройство интерфейса редактора, рассказывает о языке сценариев и расположении объектов. Под руководством автора вы будете делать приключенческую игру с аркадными элементами и мини-играми внутри основного сюжета.

Автор уделяет внимание повторному использованию кода, добавлению 2D-элементов в игру и её компиляции. Уилл даже рассказывает, где вам найти бета-тестировщиков для вашей разработки или как поделиться ею с другими Unity-разработчиками.

А если вы захотите пройти онлайн-курсы на официальном сайте конструктора, советую изучить самую актуальную версию — Unity 5.

5. Robert Nystrom. Game Programming Patterns

Роберт Нистром программирует уже 20 лет, 8 из которых — в Electronic Arts. Он разрабатывал игры на PC, PS2, GameCube, Xbox и DS, но больше всего гордится созданием разделяемых .NET-библиотек.

Эта книга не научит вас проектировать конкретные системы, но расскажет о том, как использовать шаблоны программирования и связывать разные системы в коде игры. Описанные паттерны используются для решения проблем, возникающих в конструкции движка игры, но их можно использовать и в других областях программирования.

Game Programming Patterns вряд ли подойдет новичкам — чтобы полностью понять её, необходимы знания C-подобного языка.

Каждая глава описывает один шаблон, объясняет, как и для чего его использовать, и дополняет примером кода. Главы абсолютно автономны, поэтому обращаться к ним можно в любом порядке.

Издание поможет вам понять алгоритмы работы языков программирования в целом. Образцы кода написаны на С++, но в них нет лишних деталей, поэтому воспринимаются они легко — как учебный псевдокод.

Лучшее в этой книге то, что она описывает технически сложные вещи в простой, несколько шутливой манере, оставляя послевкусие легкого развлекательного текста, а не тяжелого научного исследования.

Сайт книги: gameprogrammingpatterns.com

Вместо выводов

Некоторые люди относятся к книгам с определенной долей скепсиса, предпочитая им более современные средства обучения. Видеокурсы, онлайн-туториалы и другие интерактивные методы активно вытесняют профессиональную литературу с рынка.

На мой взгляд, наилучших результатов можно добиться, комбинируя информацию из всех доступных источников. Поэтому я рекомендую читать, смотреть и слушать всё, что касается вашей сферы деятельности, независимо от формата. Будет здорово, если вам еще и повезет найти хорошего наставника.

И конечно, теория без практики мертва. Чтобы научиться делать игры, нужно делать их постоянно.

LinkedIn

12 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Сину 14 років, навчається у фізмат школі, подобається математика, ще більше фізика, мріє розробляти симулятори та ігри. Зараз, щоправда з «пихача», працює над книгою Michael Dawson «Beginning C++ Through Game Programming, 3rd Edition Oct 2010». Далі планую Aung Sithu Kyaw, Johannes Stein «Irrlicht 1.7 Realtime 3D Engine Beginner’s Guide». Можливо, підкажете щось дієвіше?

Пусть изучает сырцы опенсорсных игр.

Интересная подборочка, в закладки.

Одна з найкращих книг в геймдеві — Game Engine Architecture. Її автор — лід програмер в Naughty Dog.
www.amazon.com/...560010/ref=dp_ob_title_bk

На хабре уже встречал статью на эту тему: habrahabr.ru/post/237509
Там можно найти еще пару интересных книг.

Ещё к списку добавил бы SFML Game development. Эта книжка очень хорошо зайдёт для начинающего С++ разработчика, который хочет врываться в геймдев. Описывается всего понемножку. Половину паттернов из

5. Robert Nystrom. Game Programming Patterns
есть возможность и необходимость разобрать на практике )

Прочитав декілька розділів з цієї книги -www.amazon.com/...rm-Agnostic/dp/0321940156

Ніби нормальна

Клево, спасибо, особенно вторая книга
Хотелось бы расширить список толковых книг с уклоном больше в Computer Graphics, может кто посоветует?

Real-Time Rendering, 3rd edition
www.amazon.com/...nine-Moller/dp/1568814240
Маю зайвий примірник 2го видання. Віддам не дорого. ;)

Потім можна вже ShaderX + GPU Gems + GPU Pro серії + SIGGRAPH курси за всі роки Physically-Based Shading та Advanced in Real-Time Rendering.

Вторая книга правда дает хорошее понимание математики в играх даже для человека без технического диплома.
В список добавил бы еще эту www.amazon.com/...rth-Edition/dp/1133776574

геймами не занимаюсь, но на пару книжек уже глаз положил. Спасибо за статью

Подписаться на комментарии