Hur gör man egentligen?: Konstruktion av en spelmotor
2014 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [sv]
I dagens samhälle spelas datorspel och många har säkert tänkt ”Hur görman egentligen?”. För att skapa datorspel behövs kunskaper inom programmering, spelteori, fysik och matematik. Ett spel byggs på en grundsom kallas spelmotor. En spelmotor är en samling verktyg med komponenter såsom banredigerare och grafikmotor. Det finns ingen bra samlad anvisning för nybörjare om hur en spelmotor skapas. Windows harvarit dominant över OS X och Ubuntu inom spelindustrin. En grafikbibliotek skapar en lättare abstraktionsnivå för att återge grafik. Ett applikationsramverk förser färdig funktionalitet som är vanligt förekommande i skapande av skrivbordsapplikationer. En träffyta är en yta som används för att uppfatta att objekt har kolliderat och är separat från, menåterspeglar, 3Dmodellen. Innan konstruktionen började utfördes en undersökning om problem som kunde uppstå och bibliotek kunde vara tillanvändning. Flera alternativ hittades och utvärderades genom att implementera och visuellt testa dem. Scrum användes som projektmetod.En funktion var färdig när koden kompilerade lokalt, visuella testerhade utförts och när en kompileringsserver fick kompilera koden. Gitanvändes som versionshanteringssystem. För att dokumentera arbetetanvändes en dagbok. Grafikbiblioteksalternativ var OGRE, Irrlicht ochHorde3D. Applikationsramverksalternativ var FLTK, SFML och Qt. Tvålösningsalternativ hittades för att skapa träffytor. En som återskaparträffytan från 3Dmodellens trianglar (triangelmetoden) och en som itererar igenom 3Dmodellens skelett och skapar mindre träffytor för varjedel, för att sedan sätta ihop alla (iterationsmetoden). Samtliga grafikbibliotek och applikationsramverk klarade utvärderingsmålen. Iterationsmetoden för träffytor förkortades ur projektet på grund av tidsbrist.Grafikbiblioteket OGRE, applikationsramverket Qt och triangelmetodenvaldes till integrationen av spelmotorn. Resultatet uppnåddes men detfinns utrymme för vidareutveckling.
Abstract [en]
In today's society individuals play computer games and many haveprobably thought, "How is it done?". To create computer games oneneeds knowledge in programming, game theory, physics and mathematics. A game foundation is called the game engine. A game engine isa toolkit with components such as map editor and graphics engine.There is no good overall guide for beginners on how a game engine iscreated. Windows has been dominant over OS X and Ubuntu in thegame industry. A graphics library creates a higher abstraction level torender graphics. An application framework provides commonly usedfunctionality when creating a desktop applications. A hit box is a surface that is used to detect when objects have collided and are separatefrom, but reflects, the 3D model. Before construction began an investigation was carried about to identify problems that could arise and librariesthat could be used. Several alternatives were found and evaluated byimplementing and visually testing them. Scrum was used as the projectmethod. A function was finished when the code could compile locally, avisual tests had been performed and when a build server could compilethe code. Git was used as the version control system. To document thework a diary was used. Graphics library that was research was OGRE,Irrlicht and Horde3D. Application framework options were FLTK,SFML and Qt. Two alternative solutions were found to create hit boxes.One that recreates the 3D model triangles (triangle method) and one thatiterates through the skeleton of the 3D model and small hit boxes foreach part, and then put them all together (iteration method). All graphics library and application framework passed the evaluations. Iterationmethod for hit boxes was shortened from the project due to time constraints. The graphics Library OGRE, the application framework Qt andthe triangle method was chosen for the integration of the game engine.The result was achieved but there is room for further development.
Place, publisher, year, edition, pages
2014. , p. 47
Keywords [en]
Game, game engine, C++, graphics library, application framework
Keywords [sv]
Spel, spelmotor, C++, grafikbibliotek, applikationsramverk
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:miun:diva-22257OAI: oai:DiVA.org:miun-22257DiVA, id: diva2:728163
Subject / course
Computer Engineering DT1
Educational program
Master of Science in Engineering - Computer Engineering TDTEA 300 higher education credits
Supervisors
Examiners
2014-06-272014-06-232018-01-11Bibliographically approved