Mid Sweden University

miun.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Hur gör man egentligen?: Konstruktion av en spelmotor
Mid Sweden University, Faculty of Science, Technology and Media, Department of Information and Communication systems.
2014 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent 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 pro­grammering, spelteori, fysik och matematik. Ett spel byggs på en grundsom kallas spelmotor. En spelmotor är en samling verktyg med kompo­nenter såsom banredigerare och grafikmotor. Det finns ingen bra sam­lad anvisning för nybörjare om hur en spelmotor skapas. Windows harvarit dominant över OS X och Ubuntu inom spelindustrin. En grafikbib­liotek skapar en lättare abstraktionsnivå för att återge grafik. Ett appli­kationsramverk förser färdig funktionalitet som är vanligt förekomman­de i skapande av skrivbordsapplikationer. En träffyta är en yta som an­vänds för att uppfatta att objekt har kolliderat och är separat från, menåterspeglar, 3D­modellen. Innan konstruktionen började utfördes en un­dersökning om problem som kunde uppstå och bibliotek kunde vara tillanvändning. Flera alternativ hittades och utvärderades genom att im­plementera 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 3D­modellens trianglar (triangelmetoden) och en som ite­rerar igenom 3D­modellens skelett och skapar mindre träffytor för varjedel, för att sedan sätta ihop alla (iterationsmetoden). Samtliga grafikbib­liotek och applikationsramverk klarade utvärderingsmålen. Iterations­metoden 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 mathe­matics. 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 sur­face that is used to detect when objects have collided and are separatefrom, but reflects, the 3D model. Before construction began an investiga­tion 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 graph­ics library and application framework passed the evaluations. Iterationmethod for hit boxes was shortened from the project due to time con­straints. 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
Available from: 2014-06-27 Created: 2014-06-23 Last updated: 2018-01-11Bibliographically approved

Open Access in DiVA

No full text in DiVA

Search in DiVA

By author/editor
Ekman, Niklas
By organisation
Department of Information and Communication systems
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 832 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf