Vincenzo Castro
In-House Game Engine for 2D Games.
Rel. Andrea Giuseppe Bottino, Francesco Strada. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2021
|
PDF (Tesi_di_laurea)
- Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives. Download (2MB) | Preview |
Abstract: |
Obiettivo di questa tesi è stata la realizzazione di un game engine scritto in Java per giochi 2D dove ogni componente è realizzata from-scratch. L'engine implementa una collision detection a tempo continuo unitamente a dei collider di tipo AABB, ciò permette di realizzare degli oggetti aventi un comportamento di corpo rigido oltre che evitare fenomeni come quello del tunneling che si avrebbero con una collision detection a tempo discreto. L'engine fornisce una collision matrix tramite la quale l'utente può specificare quali corpi rigidi possono entrare in contatto o meno. A livello fisico è utilizzata una struttura di partizionamento spaziale basata su griglia 2D che permette di ridurre drasticamente il numero di intersection test necessari a determinare una potenziale collisione. Viene offerta anche l'utilità di raycast. L'engine permette di creare delle tilemap, sistemi particellari con particelle fisiche, sprite ed altre mesh bidimensionali, che sfruttano la libreria grafica OpenGL per implementare il processo di rendering. L'engine sfrutta la libreria grafica NanoVG per la creazione di diversi widget utili alla realizzazione di semplici interfacce vettoriali con il supporto a rendering di testo. Viene offerta la possibilità di creare delle animazioni tramite la definizione di keyframe su una o più proprietà di un oggetto. L'engine supporta la possibilità di riprodurre audio in formato PCM o MP3 tramite la libreria OpenAL. E' infine possibile utilizzare mouse e tastiera come dispositivi di input. |
---|---|
Relatori: | Andrea Giuseppe Bottino, Francesco Strada |
Anno accademico: | 2021/22 |
Tipo di pubblicazione: | Elettronica |
Numero di pagine: | 105 |
Soggetti: | |
Corso di laurea: | Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering) |
Classe di laurea: | Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA |
Aziende collaboratrici: | NON SPECIFICATO |
URI: | http://webthesis.biblio.polito.it/id/eprint/20446 |
Modifica (riservato agli operatori) |