СТВОРЕННЯ КОМП’ЮТЕРНОЇ ГРИ З ВИКОРИСТАННЯМ ТЕХНОЛОГІЇ РЕЙКАСТИНГУ - Наукові конференції

Вас вітає Інтернет конференція!

Вітаємо на нашому сайті

Рік заснування видання - 2011

СТВОРЕННЯ КОМП’ЮТЕРНОЇ ГРИ З ВИКОРИСТАННЯМ ТЕХНОЛОГІЇ РЕЙКАСТИНГУ

11.05.2022 02:35

[1. Інформаційні системи і технології]

Автор: Ковбасюк Остап Володимирович, студент магістратури, Львівський національний університет імені Івана Франка, м. Львів


Актуальність. Сьогодні існує велетенська кількість комп’ютерних ігор різних жанрів. З кожним днем популярність ігор тільки зростає, приходять нові цікаві жанри, використовуються нові технології їхнього створення та відтворення. Ігри розпочинали свою історію у дослідницьких лабораторіях вчених. Були частинами докторських дисертацій та мали надзвичайне практичне значення і цінність. Спочатку ігри були дуже примітивними, але технології не стояли на місці і саме завдяки досягенням у комп’ютерному моделюванні і програмуванні, світ міг побачити розвиток використання різних технологій для реалізації комп’ютерних ігор. Відповідно, актуальністю створення і практичним значенням роботи є надання можливості зіграти у гру, створену з використанням технології рейкастингу для створення псевдо 3d графіки, яка використовувалася ще в дуже ранній епосі зародження 3d ігор та яка на даний момент є забутою.

Метою виконання роботи є створена комп’ютерна гра, яка використовуватиме технологію кидання променів та можливість зіграти в неї з будь-якого пристрою, що має встановлений веб-браузер. Зміст гри – знайти вихід із лабіринту якомога швидше. Гра відноситься до жанру екшн, конкретніше до піджанру гра – лабіринт. Метою створення такого програмного продукту є надання можливості користувачам зіграти у розважальну гру, створену за технологіями, які раніше використовувалися для відтворення псевдо 3d графіки.

Засоби реалізації. Механізм кидання променю і утворення проекції реалізовано наступним чином. З якоїсь початкової точки кидається промінь. Для того аби не шукати через кожну одиницю можливе зіткнення, вводиться інкремент, який визначається з певним кроком по X та У. Цей інкремент визначається для X та У окремо і залежить від розміру самої клітинки та кута кидання променю. Таким чином, поступово інкрементуючи точку ми знайдемо відстань до першого вертикального та/або горизонтального перетинів. Це можна легко побачити випустивши з однієї точки два випадкові промені (рис. 1).





Рис.1. Результат випускання двох променів з однієї точки

Серед обох перетинів одного променю вибирається те, що є ближчим до його початку. Таким чином ми отримуємо реальну точку зіткнення зі стіною. Далі вираховуємо висоту стіни, згідно з отриманою відстанню променя та початковим заданим співвідношенням довжини променя до висоти: (початкова  висота стіни / відстань до стіни) * початкова відстань до стіни. Дана висота відповідає тільки одному променю, тому виводом на екран буде один вертикальний стовпець вирахуваної висоти. Далі його можна заповнити певним кольором, або ж текстурою. Для цілісності картинки потрібно випустити певну кількість таких променів з деяким градусним кроком. Таким чином, випустивши до прикладу 64 промені з кроком градусу 1, ми отримуємо стільки ж вертикальних стовпців, після заповнення кольором та масштабування яких, вже вимальовується повноцінна проекція стін на карті (рис. 2). Також, в грі застосовується алгоритм бектрекінгу, для створення рівня (випадкової генерації лабіринту). 

Висновки. Було розроблено програмний продукт – комп’ютерну гру, з використанням технології рейкастингу. Розробку було розпочато зі створення основної логіки гри, яка складається з 3 складових: рівень, промінь та гравець.






Рис. 2. Приклад утвореного зображення

Задача класу рівня – це випадкова його генерація та задання кінцевої точки виходу. 

Наступним є клас променю. Його основна задача – це реалізація алгоритму кидання променю, промальовування на карті та 3d рендер на основі отриманих результатів з обчислень.

Наступним є клас гравця. Його основна задача – промальовування гравця на карті надання можливості переміщення та використання променів, для оновлення позиції та кутів для кидання променю і 3d рендерингу відносно положення гравця відповідно.

В результаті реалізації і комбінування цих трьох класів, було отримано кістяк ігрового процесу.




Creative Commons Attribution Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License
допомога Знайшли помилку? Виділіть помилковий текст мишкою і натисніть Ctrl + Enter
Конференції

Конференції 2024

Конференції 2023

Конференції 2022

Конференції 2021



Міжнародна інтернет-конференція з економіки, інформаційних систем і технологій, психології та педагогіки

Наукова спільнота - інтернет конференції

:: LEX-LINE :: Юридична лінія

Інформаційне суспільство: технологічні, економічні та технічні аспекти становлення