Гадаю, меж іншим ви відчуваєте, що канікули стрімко летять, й тому хочеться встигнути зайнятися чимось цікавим. Більш ніж упевнений, що в ХНУРЕ достатньо людей, які хотіли б «робити ігри» або вже їх роблять. А мрійники, як я, марять написанням власного движка. 

 

      У сенсі, про що це я? Про те, звісно, з чого потрібно починати кожному геймдевелоперу, який поважає себе. Ми будемо використовувати просту і швидку мультимедійну бібліотеку, або ж коротко — SFML.

 

 

 

      Так, я злегка обдурив вас, коли говорив про власний рушій. Але вже повірте, з вас вистачить екскурсії до п'ятого кола пекла «для ледачих і гнівних». Прямісінько до Люцифера — це ви завжди встигнете, щойно відчуєте непереборне бажання «хочу власний рушій» та здійснюючи амбітні плани.

 

 

 

      Звісно, я почав вивчати цю мультимедійну бібліотеку з власного інтересу, і саме для С++, і жодні інші причини не вплинули на це...

      У цій статті не буде коду, тож можете вважати це просто теоретичною підмогою. Отже, бібліотека багата на примітиви: прямокутники, точки, лінії, опуклі багатокутники.

 

 

      Цього може бути достатньо для таких програм.

      Але ми люди серйозні, і на прості фігури розмінюватися не будемо. Відразу розберемо ключовий момент. Для того, щоб відобразити вашого персонажа, потрібно розуміти, що складається він із самої текстури, що завантажується в пам'ять відеокарти, і такого собі спрайта, через який ми задаємо налаштування для вихідної текстури (розмір, колір, координати).

      Намагайтеся не плодити текстури. Вітається метод tile-map, тобто розміщення всіх елементів на одну картинку — завантаження її в текстуру, а потім створення різних спрайтів на основі цієї плиткової карти.

      Спрайтом може бути будь-який прямокутник на текстурі. З однієї текстури може бути багато спрайтів. Йдемо далі.

 

 

 

      Припустимо, ми витратили певний час на відповідні текстури й хочемо зробити щось із їхньою допомогою. Тоді нам потрібно розуміти, як взагалі працює відтворення. Якщо по-простому, то уявіть перед собою дошку.

      У вас є крейда, і ви вмієте малювати птаха, скажімо. Ваша мета: птах має пролетіти зліва направо. Для цього ми маємо намалювати нашого птаха в початковій позиції. Потім стерти його і намалювати вже на новій позиції з якимось кроком. Знову стерти й... Думаю, ви вловили.

      Тепер накидаємо наших текстур на екран. Ось що вийшло в мене:

 

 

      https://www.youtube.com/watch?v=RgN5DvXUJpo&feature=youtu.be — а це посилання на анімовану версію.

      Дочитавши до цього місця, у вас, напевно, з'явилося запитання: «А чому б не вибрати щось серйозне з движків?».

      Відповідь проста. Річ у тім, що це те, з чого варто почати, щоб розуміти принцип роботи складніших програм. Суть одна й та сама, а відмінність лише в реалізації. І найважливіше... скажу наступного разу. 

      А ви вже робили ігри? Може настав час спробувати?

 

Данило Гречишкін

 

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

Читати далі