Книги о создании игр: ТОП актуальных (часть 2)
Java Game Development with LibGDX: From Beginner to Professional (2018)
Автор: Lee Stemkoski.
Это второе издание книги, которая учит разрабатывать игры на языке Java с помощью бесплатного и открытого фреймворка LibGDX. Шаг за шагом вы будете создавать все более сложные проекты. Всего в книге их 12. Тут и Shoot-Em-Up, и визуальная новелла, сайд-скроллер в духе Flappy Bird, платформер типа Super Mario Bros, карточная игра, а также пара головоломок, Pac-Man, приключение в стиле классической The Legend of Zelda и 3D-аркада.
С прошлого издания автор пересмотрел игры-примеры: убрал или заменил слишком элементарные, упростил код более сложных, показал новые игровые механики. Стала короче и понятнее глава о физическом движке Box2D: больше нет сбивающих с толку подробностей, преждевременных для читателя.
Книга хорошо написана и ненавязчиво приучает к полезным для каждого разработчика привычкам — в том числе к правильному структурированию кода.
An introduction to HTML5 game development with Phaser.js (2017)
Автор: Travis Faas.
Phaser.JS — один из самых популярных игровых JS-движков. Книга учит им пользоваться: создавать платформеры, вещи типа Shoot ‘em up и Tower defence, пространственные головоломки. Учтите, что это руководство по работе со второй версией движка, так как Phaser 3, который вышел в 2018 году, еще не полностью обкатан сообществом.
Вы узнаете, как управлять игровым миром, реализовать эффект изометрии, работать со спрайтами, физикой, частицами, текстурными атласами, камерой и звуком. Научитесь готовить свои игры к релизу на iOS и Android. По словам автора, книга должна была называться «Все, чего я — увы — не знал, когда начинал делать игры на HTML5».
Мне понравилось, что материал глубоко структурирован — по оглавлению можно быстро найти нужный «рецепт», не перечитывая всю главу. В книге приятные иллюстрации, но их могло бы быть больше.
Making Games with Python & Pygame (2016)
Автор: Albert Sweigart.
Неплохой первый учебник для тех, кто раньше в глаза не видел Python или вовсе не программировал. Что мне понравилось: никаких разговоров «на берегу» — обучение начинается с практики. Вы получаете код и смотрите, как он работает, а затем читаете пояснения по неочевидным моментам: что делает вот этот оператор, почему у функции такие аргументы и так далее. Все понятно и без рассусоливания.
Но — обратите внимание! — если вы замахнулись сразу на эпическую RPG, эта книга не поможет. Она учит делать логические игры, аркады и головоломки. Звучит не очень претенциозно, зато вы быстро и на веселых примерах познакомитесь с концепциями программирования, языком Python и движком Pygame.
Текст книги и ресурсы для игр-примеров бесплатно доступны на сайте автора. Там же вы найдете еще несколько учебников по программированию, в том числе “Invent Your Own Computer Games with Python”.
Learning Virtual Reality (2015)
Автор: Tony Parisi.
Эта книга ценна охватом тем и направлений. Она учит создавать VR-игры для ПК, браузеров, Android-устройств и платформ виртуальной реальности Oculus Rift, GearVR, Cardboard. Вы на базовом уровне освоите инструменты VR-разработчика: Unity 3D, Oculus Mobile SDK, WebVR API, Three.js. А еще сможете поупражняться в написании кода на C# и JavaScript.
Автор этой книги стоял у истоков VR и в 1990-х участвовал в создании языка разметки виртуальных миров VRML. Поэтому логично, что Тони Паризи глубоко разбирается в теме и со знанием дела рассказывает как о программной, так и об аппаратной составляющей VR-систем. В том числе — об особенностях шлемов и очков разных производителей.
Если дальше вы захотите сосредоточиться, например, на web-приложениях, можно будет почитать “Learning Web-based Virtual Reality” (2017) за авторством Srushtika Neelakantam и Tanay Pant. Вы также можете освоить бесплатные библиотеки Steam VR с книгой “Building Virtual Reality with Unity and Steam VR” Джеффа Мюррея (Jeff W. Murray).
Game Programming Patterns (2014)
Автор: Robert Nystrom.
Книга рассказывает, как написать большую игру и не полечь под нагромождением тормозного кода. После 8 лет работы в Electronic Arts автор делится приемами, которые на практике помогали ему и его коллегам повышать производительность в играх.
Вы познакомитесь с шаблонами проектирования и программирования. Узнаете, как отличить хорошую архитектуру приложения от плохой и написать резво работающий игровой цикл. Автор объясняет, почему к завершению проекта код может стать трудночитаемым и как этого избежать. Самое приятное, что приведенные в книге принципы справедливы не только для игр, но и для приложений.
Все примеры — на C++, потому что этот язык де-факто является стандартом в крупных игровых студиях. Но код максимально упрощен и приближен к псевдокоду, чтобы вы могли переложить его на другой язык, которым пользуетесь.
Буду рада вашим рекомендациям: какие книги об игрострое впечатлили вас в последнее время?