Для профессионалов в тестировании! >>>TestingStage2018>>> Продажа билетов на конференцию открыта. Успей купить!
×Закрыть

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

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

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

Сину 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». Можливо, підкажете щось дієвіше?

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

С разрывом в год, но всё же : )

По сути заходить с хардкорной стороны — это полезно и нужно, но в таком возрасте может быть интереснее модифицировать существующие проекты, любимые игры — к чему потом уже подсоединится необходимость кодить для каких-то сложных идей. В наше время это было картостроительство для Star Craft и модификации для Morrowind : )

К тому же, возможно серия мини-игр на базе того же UE или Unity даст больше понимания того, как можно теоретические знания применить в прикладной плоскости и почему это весело. Там есть надстройки для «визуального», прости Г-ди, программирования, готовые ассеты, которыми можно поиграться, как конструктором. Книги — это очень важно, но иногда нужны более альтернативные, вовлекающие подходы : )

А если чисто по геймдизайну — то нужно начинать с Game Design Workshop: www.gamedesignworkshop.com

В ней как-то основательно вводят в индустрию в целом — рассказывают о ключевых людях, жанрах, механиках, учат строить правильный пайплайн разработки игр с упором на итерационное прототипирование (что очень, очень важно в реальной работе).

Хорошим способом может быть еще участие в Game Jam — сейчас в стране их проходит вполне достаточно и маленьких, и побольше. Тогда появится обозримая цель, четкие сроки, необходимость использовать все знания и учить новые вещи на ходу, к тому же результатом станет продукт — худо-бедно, но работающий. Это может быть отличным стимулом для дальнейшего обучения.

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

Одна з найкращих книг в геймдеві — 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

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

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