Часть №1: Введение в создание игры «Breakout» на C++/OpenGL

  Дмитрий Бушуев  | 

  Обновл. 23 Фев 2022  | 

 22957

 ǀ   1 

На предыдущих уроках мы узнали много нового о внутренней работе OpenGL и о том, как мы можем использовать эту информацию для создания причудливой графики. Однако, если посмотреть на все созданные нами приложения, то становится очевидно, что, на самом деле, помимо большого набора технических демок, не было создано ни одного практичного OpenGL-приложения. Поэтому сегодняшним уроком мы открываем новый цикл статей, посвященный созданию относительно простой 2D-игры с помощью С++ и OpenGL.

Поскольку все мы любим всё упрощать, то в качестве основы для нашей 2D-игры выберем концепцию уже существующей 2D-аркады. Представляю вам «Breakout» — классическую 2D-игру, выпущенную в 1976 году фирмой Atari для своих консолей Atari 2600. В игре «Breakout» игрок, управляющий небольшой горизонтальной ракеткой в нижней части игрового поля, должен разрушить маленьким мячиком все кирпичи, расположенные в верхней части игрового поля, не позволяя мячику достичь нижнего края экрана. Как только игрок разрушит все кирпичи, игра завершается.

Ниже вы можете увидеть, как изначально выглядела игра «Breakout» на консолях Atari 2600:

Механика данной игры построена на следующих правилах:

   ракетка управляется игроком и может перемещаться в пределах экрана только горизонтально;

   мяч перемещается по экрану, и каждое столкновение приводит к тому, что он меняет свое направление, в зависимости от того, куда он попал: в границу экрана, кирпич или ракетку;

   если мяч достигает нижнего края экрана, игрок либо заканчивает игру, либо теряет жизнь;

   как только мяч касается кирпича, кирпич разрушается;

   игрок выигрывает, как только все кирпичи будут уничтожены;

   направление полета мяча можно регулировать по тому, как далеко мяч отскакивает от центра ракетки.

OpenGL и игра «Breakout»

Как уже было сказано, в качестве основы для нашей 2D-игры, которая будет полностью создана с помощью OpenGL, возьмем вышеописанную классическую аркаду. Только наша версия «Breakout» будет создавать свою графику на графическом процессоре, что даст нам возможность улучшить классическую версию, дополнив её некоторыми приятными функциями.

Помимо классических механик, наша версия «Breakout» будет включать в себя:

   потрясающую графику;

   отдельные кирпичики вместо сплошной линии кирпичей;

   рендеринг текста;

   бонусы/сверхусиления;

   эффекты постобработки;

   несколько (настраиваемых) уровней.

Ниже представлены изображения, как будет выглядеть игра, когда вы закончите данный цикл уроков:

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

Примечание: Для успешного прохождения данных уроков вам нужно пройти весь предыдущий цикл уроков по OpenGL.

Ну что ж, если вы уверены в своих силах, то погнали!


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (21 оценок, среднее: 5,00 из 5)
Загрузка...

Комментариев: 1

  1. Мгер:

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

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *