My-read-books

Шестьдесят штрихов о прочитанных(переведённых) книгах.

Переводы этих книг посвящены Дерябиной(Гуглиной) Ирине Ивановне (1950 - 2003 г.г.)

Штрих пятьдесят восьмой. 2026 год.

Раймонд Пупюс. Мастерство в SFML-разработке игр. Создайте сложные и визуально ошеломляющие игры, использующие все расширенные возможности, доступные в SFML-разработке.

p.s.

Выдержка из книги:

Предисловие

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

В первых двух главах вы узнаете о создании простой, но мощной игры в стиле RPG, построенной на основе гибких архитектур, используемых в современных играх. Затем эта же игра получит дополнительную графическую мощь, поскольку мы рассмотрим построение эффективной системы частиц, легко расширяемой и поддерживающей множество различных графических опций. Далее вы быстро освоите практические аспекты и преимущества создания нестандартных инструментов, таких как редактор карт, для изменения и управления ресурсами игры. Также будет затронуто использование SFML-шейдеров, прежде чем мы полностью откажемся от библиотеки SFML в главе 7 «Шаг вперёд, уровень вниз – интеграция OpenGL», используя чистую библиотеку графики OpenGL и самостоятельно выполняя рендеринг на экране. Далее мы рассмотрим и реализуем передовые методы освещения, такие как карты нормалей и карты отражений, чтобы придать игровой сцене графическую выразительность с помощью динамического освещения. Конечно, не существует света, который не отбрасывал бы тени, поэтому глава 9 «Скорость тьмы – освещение и тени», рассматривает и реализует карты теней в 3D-пространстве, позволяя нам создавать реалистичные трёхмерные тени. Всё это завершается финальной оптимизацией игры, которая не только сделает её максимально быстрой, но и предоставит вам все необходимые инструменты и навыки для дальнейшего совершенствования.

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

Для кого предназначена эта книга?

Эта книга предназначена для начинающих разработчиков игр, которые уже имеют базовые знания библиотеки SFML, промежуточные навыки работы с современным языком программирования C++ и уже создали одну-две игры самостоятельно, независимо от их сложности. Знание современной библиотеки графики OpenGL не обязательно, но может быть плюсом.

Что рассматривает эта книга?

Глава 1 «Под капотом - установка бэкэнда» охватывает использование нескольких ниже-лежащих в программном стеке архитектур, которые будут поддерживать нашу игру.

Глава 2 «Время игры! — разработка проекта» посвящена фактическому построению и запуску игрового проекта книги с использованием архитектур, описанных в главе 1 «Под капотом - установка бэкэнда».

Глава 3 «Да прольётся дождь! — построение системы частиц» рассматривает сложности реализации эффективной и обширной системы частиц.

Глава 4 «Имейте готовое снаряжение - создание инструментов игры» дает представление о создании нестандартных инструментов игры путем настройки их бэкэнда.

Глава 5 «Заполнение пояса с инструментами - еще несколько гаджетов» завершает реализацию редактора карт, который можно использовать для размещения, редактирования и других манипуляций с фрагментами карты, сущностями и излучателями частиц.

Глава 6 «Добавление последних штрихов - использование шейдеров» объясняет и использует недавно переработанный рендерер, позволяющий легко использовать шейдеры, реализуя цикл день/ночь в нашей игре.

Глава 7 «Один шаг вперед, один уровень вниз - основы библиотеки OpenGL» погружает нас в глубины технических тонкостей использования низкоуровневой библиотеки графики OpenGL, проводя нас через рендеринг базовых фигур, их текстурирование и создание переперемещения по миру.

Глава 8 «Пусть там будет свет - введение в продвинутое освещение» знакомит с концепциями освещения игрового мира в трех измерениях, с использованием карт нормалей для создания иллюзии дополнительных деталей и с добавлением зеркальных бликов для создания сияющих поверхностей.

Глава 9 «Скорость темноты - освещение и тени» расширяет движок освещения, реализуя динамические, трехмерные тени от точечных источников света, отбрасываемые во всех направлениях одновременно.

Глава 10 «Чтение, которое нельзя пропускать - финальная оптимизация» завершает книгу, заставляя нашу игру выполняться в разы быстрее и предоставляя вам инструменты для ее дальнейшего совершенствования.

Что потребуется для работы с книгой?

Прежде всего, необходим компилятор с поддержкой новых стандартов языка программирования C++. Также необходима библиотека SFML, поскольку она используется при построении нами игры. Для глав 7 и выше также требуются последние версии библиотек графики GLEW и GLM. Любые другие отдельные инструменты, которые могут быть использованы в этой книге, упомянуты в отдельных главах, в которых они используются.

Книга:

https://www.packtpub.com/en-us/product/mastering-sfml-game-development-9781786466846

Загрузка кода примеров для этой книги:

https://github.com/PacktPublishing/Mastering-SFML-Game-Development

Загрузка цветных изображений для этой книги:

https://www.packtpub.com/sites/default/files/downloads/MasteringSFMLGameDevelopment_ColorImages.pdf