Думаю вы, как и я, ощущаете, что учебный год стремительно подходит к концу. А мы, тем временем, вернемся к истокам моих статей и поговорим о том, как сделать курсач, ой… Я более чем уверен, что в нашем вузе достаточно людей, которые хотели бы «делать игры» или уже их делают. А мечтатели, как я, бредят написанием собственного движка.  

В смысле, с чего нужно начинать каждому, уважающему себя, геймдевелоперу. Мы будем использовать простую и быструю мультимедийную библиотеку, или же – SFML. 

 

 

Да, я слегка обманул, когда говорил о собственном движке. Но уж поверьте, с вас хватит экскурсии до пятого круга ада «для ленивых и гневных». Прямиком к Люциферу – это вы всегда успеете, сразу после сессии, осуществляя амбициозные планы.

 

 

 

Конечно, я начал изучать эту мультимедийную библиотеку  из собственного интереса, и именно для С++, и никакие другие причины не повлияли на это… 

В этой статье не будет кода, так что можете считать это просто теоретическим подспорьем. Итак, библиотека богата примитивами: прямоугольники, точки, линии, выпуклые многоугольники.

 

 

Этого может быть достаточно для такого рода программ. 

Но мы люди серьезные, и на простые фигуры размениваться не будем. Сразу разберем ключевой момент. Для того чтобы отобразить вашего персонажа, нужно понимать, что состоит он из самой текстуры, загружаемой в память видеокарты, и некого спрайта, через который мы задаем настройки для исходной текстуры (размер, цвет, координаты). 

Старайтесь не плодить текстуры. Приветствуется метод tile-map, то есть помещение всех элементов на одну картинку – загрузка ее в текстуру, а затем создание разных спрайтов на основе этой плиточной карты. 

Спрайтом может быть любой прямоугольник на текстуре. Из одной текстуры может быть много спрайтов. Идем дальше.

 

 

Допустим, мы потратили некоторое время для подходящих текстур и хотим сделать что-то с их помощью. Тогда нам нужно понимать, как вообще работает отрисовка. Если по-простому, то представьте пред собой доску. 

У вас есть мел, и вы умеете рисовать птицу, скажем. Ваша цель: птица должна пролететь слева направо. Для этого мы должны нарисовать нашу птицу в начальной позиции. Затем стереть ее и нарисовать уже на новой позиции с каким-то шагом. Опять стереть и… Думаю, вы уловили. 

Теперь набросаем наших текстур на экран. Вот что вышло у меня:

 

 

https://www.youtube.com/watch?v=RgN5DvXUJpo&feature=youtu.be – а это ссылка на анимированную версию.

Дочитав до этого места, у Вас, наверное, появился вопрос: а почему бы не выбрать что-то серьезное из движков? Дело в том, что это то, с чего стоит начать, чтобы понимать принцип работы более сложных программ. Суть одна и та же, а отличие лишь в реализации. И самое важное… скажу в следующий раз.


А вы уже делали игры? Если да, то какие? 

 

Пока сроки еще не так сильно душат, мы успеем добить число наших встреч до круглой цифры, я надеюсь.

DarkMinimum

 

 

Популярні статті

Читати далі