Вы решили заняться разработкой мобильных игр. С чего начать? Большинство программистов в геймдеве не ходили в учебные заведения, специализирующие только на играх. Скорее, это был какой-нибудь аналог GeekUniversity с видеоуроками или самостоятельный путь, начавшийся с огромного количества любимых игр, разбора механики, курсов в целом по мобильной разработке, оттачивания найденных алгоритмов в простых игрушках, создаваемых для первого портфолио.
Вне зависимости от выбранного пути, рано или поздно появится необходимость подключить еще один источник знаний, и тут вы можете задуматься о книгах. Учитывайте, что ни одна книга по мобильной разработке не заменит практику. В больших статьях по геймдеву вы слово «книга» можете вообще не встретить. Однако книги имеют определенное преимущество по сравнению со статьями — легко отсортировать их по рейтингу и выбрать лучшие.
Итак, книги не заменят вам реальные боевые курсы, но они могут стать хорошим подспорьем и дополнительным источником знаний. Из книг выбираем лучшие, а далее сортируем по вашему языку и области применения.
Android
Hello, Android: Introducing Google's Mobile Development Platform 4th Edition
C 2010 года живет и обновляется «Hello, Android», начинающая знакомить вас с азами мира этой мобильной платформы. С первой главы книга покажет, как с нулевым багажом знаний создать рабочее приложение: «Hello, World» для Android.
Далее последует пример простейшей мобильной игры Ultimate Tic-Tac-Toe — это симулятор игры в крестики-нолики с несколькими различными режимами. Постепенно добавляя в игру функции, вы научитесь основам разработки под Android: создадите пользовательский интерфейс, сделаете поддержку аудио и видео, добавите графику с использованием 2D и 3D OpenGL, научитесь хранить данные с помощью SQLite, а также узнаете, как публиковать готовое игровое приложение в Google Play.
Learning Java by Building Android Games — Explore Java Through Mobile Game Development
Эта книга также ориентирована на новичков, поэтому вы получите простое и доступное изложение материала о языке Java, его базовых API и ООП. «Learning Java by Building Android Games» ориентирована на то, чтобы научить вас Java по процессу создания игры. Вы будете создавать 4 игры для смартфона и планшета: математическую тестовую игру, игру с памятью в стиле «Саймон» и две игры в ретро-аркадном стиле.
Из книги вы узнаете, как настроить среду разработки Android Studio, создать собственный Android-интерфейс, ввести в игры пиксельную графику, клики, анимацию, звуковые эффекты и многое другое. Да, и еще с нуля выучите Java в степени, достаточной для создания собственных игр.
Книга знакомит с принципами создания базового игрового движка и игр, которые будут работать на разных версиях смартфонов и планшетов. «Beginning Android Games» подойдет не только новичкам, но и опытным программистам — благо, что информации на 714 страницах вместилось много. Обратите внимание, что в примерах кода из книги могут встречаться ошибки — если учиться методом «копировать/вставить», не задумываясь над смыслом происходящего, ничего путного не выйдет.
Android NDK Game Development Cookbook
Относительно короткая (320 страниц) книга о пакете разработки Android NDK (native development kit). Android NDK — это набор инструментов, которые позволяют реализовать на языках С и С++ часть вашего приложения, требующего прямого доступа к ресурсам системы. Android NDK также используется для создания игр.
В книге изложены пошаговые рецепты, помогающие начать разработку мобильных игр, используя Android NDK, а также некоторые популярные библиотеки C++. Фактически, у вас получится создать полноценное мобильное игровое приложение на языке C++.
Вы узнаете, как писать переносимый многопоточный код на C++, использовать свои навыки языка в мобильной разработке, воспроизводить аудиофайлы, использовать OpenGL ES для рендеринга и распознавать жесты. Для книги нужно обязательно иметь хотя бы базовые знания по С/С++.
Книгу написали авторы из России — Сергей Косаревский, занимавшийся мобильной разработкой в SPB Software, Яндексе, Layar и Blippar, и Виктор Латыпов, обладающий опытом разработки компиляторов, драйверов, а также программирования для робототехники.
The Beginner's Guide to Android Game Development
Вы знаете Java? Ответ на этот вопрос не так и важен. При чтении и изучении материалов этой книги не имеет значения, новичок вы или опытный Java-программист. «The Beginner's Guide» предлагает достаточно информации, чтобы вы начали делать собственную игру с нуля.
В этом руководстве вы найдете теорию и практику отдельных фундаментальных концепций, изложенных поэтапно — по главе на базовые принципы Java и ООП. Книга предоставляет доступ к обширной библиотеке примеров Java-игр и Android-игр через свой веб-сайт, чтобы вы могли продолжить обучение самостоятельно. Все примеры кода из книги доступны под лицензией MIT на сайте автора.
Android Game Programming by Example
Эта книга в основном ориентирована на Java-программистов и любых других, уже имеющих опыт разработки под Android, которые хотели бы адаптировать свои навыки для создания мобильных игр.
Книга учит созданию простых игровых движков для различных типов игр, внедрению продвинутого AI персонажей, прорисовке игровых объектов, HUD, генерации и воспроизведению звука, бесшовной смене уровней и т.д. Для быстрой и плавной синхронизации кадров используется OpenGL ES 2. К концу книги вы по урокам сделаете три полноценные игры.
Android Design Patterns: Interaction Design Solutions for Developers
Если вы опытный разработчик мобильных игр, но хотите улучшить свои навыки, эта книга даст вам различные шаблоны программирования. Автор предлагает более 60 основных паттернов проектирования и обработки сложных аспектов, таких как главное меню, поиск, формы, сортировки, фильтры, навигации и так далее.
Книга также содержит 12 антипаттернов, включающих распространенные ошибки, которые программисты часто допускают в играх. Шаблоны охватывают наиболее сложные типы пользовательских взаимодействий, и каждый из них наглядно иллюстрируется в пошаговой инструкции.
Professional Android 4 Application Development 3rd Edition
Книга вышла 5 лет назад, но нельзя сказать, что она радикально устарела. Это издание и сейчас остается отличным дополнением к любым источникам знаний по основам программирования на Android. Некоторые идеи могли быть реализованы лучше с использованием современных технологий, но это небольшой минус.
Вы получите 850-страничное руководство, написанное Рето Майером, одним из ведущих разработчиков Google, которое наглядно демонстрирует возможности Android SDK. Если вы опытный разработчик, то сможете быстро создавать свои игры. Новички сначала освоят интерфейс Android-приложения, а затем пошагово изучат все возможности оси. Большой плюс книги в том, что можно выбрать тот раздел, который интересует больше всего, и читать сразу выбранный фрагмент.
Книга переведена на русский язык.
Mobile Game Development with Unity: Build Once, Deploy Anywhere 1st Edition
Практическое руководство, рассказывающее, как создать интерактивные приложения для iOS и Android-устройств на движке Unity. Авторы делают обзор возможностей Unity с ориентацией на примерах использования их в реальных игровых ситуациях. Собственную игру вы будете создавать на примере трехмерного симулятора боевого космического корабля.
iOS
Книга начинается со знакомства с лучшими функциями Swift для разработки игр. Затем вы узнаете, как оживить спрайты и текстуры, интегрироваться с Apple Game Center, публиковать готовые игры в App Store и многое другое. Под конец вы сможете создавать свои собственные игры для iOS с помощью Swift и SpriteKit. Вы должны быть знакомы с базовыми концепциями программирования, однако не требуется знаний Swift или знакомства с экосистемой Apple — начинать можно с нуля.
Кроме этой книги можно начать изучение языка с руководства «Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)» или «Swift Essentials — Second Edition». Оба издания дружелюбны к новичкам, и они научат вас основам Swift, вне зависимости от того, как вы будете использовать язык.
Но если вы хотите углубить свои знания в разработке под iOS и вам требуется полное справочное руководство, обратите внимание на книгу «iOS 11 Swift Programming Cookbook: Solutions and Examples for iOS Apps».
Swift 3 Game Development — Second Edition
В 2017 году книга «Swift 3 Game Development» получила обновление и начинается теперь с новых функций SpriteKit и Swift, которые можно использовать для разработки игр. После настройки первого проекта Swift вы научитесь рисовать, анимировать свою игру и добавлять физические симуляции.
Чтобы сделать вашу игру более увлекательной и интересной, вы должны уметь настраивать сцены и фон, добавлять персонажей, создавать меню и интегрироваться с Apple Game Center для использования рейтингов и достижений.
Весь код в книге объяснен или написан таким образом, что вы его хорошо понимаете и осознаете, как использовать схожие концепции в личных проектах.
iOS Swift Game Development Cookbook: Simple Solutions for Game Development Problems
Еще одно издание, получившее свежий апдейт. Книга содержит подробные рецепты для управления широким спектром общих проблем разработки игр iOS: от 2D и 3D-математики до SpriteKit и OpenGL — все они пересмотрены для Swift. Вы получаете простые, прямые примеры решений общих проблем, возникающих при программировании игр. Книга касается тем создания и настройки меню с помощью UIKit Detect, методов воспроизведения звуковых эффектов и музыки, различных способов хранения данных, математических сложностей физического моделирования, игрового ИИ, взаимодействия с игровыми контроллерами и внешними дисплеями.
Для этой книги вам потребуются начальные знания в областях iOS-программирования, Swift и Objective-C.
Beginning iOS Game Development
С книги Патрика Алесси многие начинали (и начинают) разработку под iOS. В «Beginning iOS Game Development» для новичков дается архитектура системы iOS, дизайн, анимация, звуки и многие другие элементы, представляющие собой универсальный конструктор, из которого вы соберете собственную игру.
Не требует никакого опыта создания игр для платформы iOS. Книга покажет, как работать со средой Xcode, рисовать с помощью Quartz 2D API, обрабатывать анимацию с Core Animation и звук с помощью Core Audio.
Swift Game Programming for Absolute Beginners
Название говорит само за себя. До начала этой книги Swift можно вообще в глаза не видеть. У вас будет множество уроков по созданию четырех разных игр, от аркады до паззла (Painter, Tut’s Tomb, Penguin Pairs, Tick Tick). В «Swift Game Programming for Absolute Beginners» следуют больше за структурой игры, чем за синтаксисом языка — вы сможете изучить Swift, но в контексте именно игр. Собственно, даже с играми особое знакомство не требуется — книга учит вас, как создавать игры для iOS без какого-либо предшествующего опыта с геймплеем.
Learning Unreal Engine iOS Game Development
Игры на движке Unreal Engine выполнены в самых различных жанрах и, конечно, их адаптировали под мобильную платформу. «Learning Unreal Engine iOS Game Development» учит основам разработки оптимизированных игр под iOS с использованием движка Unreal Engine 4. Книга не фокусируется на создании контента, и показывает возможности движка для 2D-игр, чтобы продемонстрировать концепцию скриптов, которую впоследствии можно применить к созданию собственных 2D или 3D-игр. Это не всеобъемлющий справочник, но если вы хотите с чего-то начать, возьмите на заметку несколько аспектов движка UE 4, которые вы точно будете использовать в дальнейшей работе.
Beginning Swift Games Development for iOS
Книга сфокусирована на работе с игровым 2D движком SpriteKit, оптимизированным для создания игр под устройства от компании Apple. Собственно, самой Apple движок и был представлен еще в iOS 7. Вторая половина книги касается темы разработки 3D-игр с использованием фреймворка SceneKit от Apple и языка Swift.
После изучения книги вы должны получить два готовых игровых приложения… Вот только для начала не лишним окажется знание Objective-C.
Заключение
Конечно, здесь собраны далеко не все хорошие книги по мобильной разработке. У каждого человека с опытом в геймдеве найдется свой особенный «топ книг», который лично он считает наиболее оптимальным. Если у вас есть примеры хороших изданий и вы считаете их подходящими для начинающих — поделитесь ссылками в комментариях. Приветствуются и примеры хороших адаптаций на русский язык — так получилось, что в сегодняшней подборке исчезающе мало примеров с переводами.