Title IZRADA POGONSKOG ALATA I IGRE
Title (english) DEVELOPING A GAME ENGINE AND A GAME
Author Roko Duran
Mentor Ljiljana Despalatović (mentor)
Committee member Ivan Kedžo (član povjerenstva)
Committee member Toma Rončević (član povjerenstva)
Granter University of Split (University Department of Professional Studies) (Department of Computing) Split
Defense date and country 2020-09-17, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Abstract Ovim radom je opisan proces izrade pogonskog alata (engl. game engine) u kojem će biti napravljena igra, sve napisano u C++ jeziku. U prvom dijelu rada se razvija grafički dio alata korištenjem OpenGL tehnologije, GLEW-a za dohvaćanje najnovijih verzija OpenGL funkcija s GPU te GLFW biblioteke za upravljanje prozora, ulaz s tipkovnice i miša i mijenjanje međuspremnika. GL funkcije i objekti se apstrahiraju u strukture koje će koristiti batch renderer, koji se bavi slanjem podataka za crtanje preko OpenGL cjevovoda na GPU. Stvaraju se klase Spriteova, Labela koji sadržavaju podatke objekata igre, koji se šalju rendereru. Za izradu audio dijela alata se koristi Gorilla Audio biblioteka. U drugom dijelu se radi sistem scena, par kompleksnijih struktura te specijalizirani oblik ECS-a (Entity Component System) u kojem se radi igra. Tip igre je 2D strateška artiljerija, tzv. „Crvi“ (engl. Worms) tip igre. Igra se na uništivoj mapi koja je učitana sa slike s diska ili na mapama generiranim korištenjem 2D Perlin Noise. Igrači su timovi crva, koji imaju arsenal oružja koje koriste za uništavanje jedni drugih i mape. Igra je zasnovana na potezima, svaki potez se miče po jedan crv, koji se može kretati, skakati, skupljati kutije i pucati oružja. Fizika igre je realizirana kao jedan od sistema u ECS-u.
Abstract (english) This work describes the process of creating a game engine which will be used to make a game, all written in C++. In the first part of the work, the graphics part is developed using OpenGL technology, GLEW wrangler to fetch the latest version of OpenGL functions, GLFW library, which manages windows, input and swapping framebuffers. GL functions and objects are abstracted into structures used by a batch renderer, which sends data for rendering via the OpenGL pipeline to the GPU. Sprite and Label classes are created, which hold data used for rendering. For creating the audio part of the engine, the Gorilla Audio library is used. In the second part of the work a scene system is developed, along with a few complex structures and a specialised type of ECS (Entity Component System) to make the game. The type of game is a 2D strategic artillery, a so called “Worms” game. The game is played on a destructible map which is loaded from an image from the disk or a noise generated map using 2D Perlin Noise. The players are teams of worms, who have an arsenal of weapons which they use to wreak havoc upon one another and the map. The game is turn-based, one worm moves per turn. The worm can move, jump, collect crates, and shoot weapons. The physics part of the game is realised as one of the systems in the ECS.
Keywords
OpenGL
Crvi
proceduralna generacija
ECS
2D strateška artiljerija
Keywords (english)
OpenGL
Worms
procedural generation
ECS
2D strategic artillery
Language croatian
URN:NBN urn:nbn:hr:228:056715
Study programme Title: Information Technology – professional - professional Study programme type: professional Study level: undergraduate Academic / professional title: stručni/a prvostupnik/prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka informacijskih tehnologija (stručni/a prvostupnik/prvostupnica (baccalaureus/baccalaurea) inženjer/inženjerka informacijskih tehnologija)
Type of resource Text
File origin Born digital
Access conditions Access restricted to students and staff of home institution
Terms of use
Created on 2020-12-03 14:54:14