dc.contributor.advisor | Puppo, Enrico <1962> | |
dc.contributor.author | Mazzoni, Mirco <2003> | |
dc.date.accessioned | 2025-07-31T14:10:55Z | |
dc.date.available | 2025-07-31T14:10:55Z | |
dc.date.issued | 2025-07-28 | |
dc.identifier.uri | https://unire.unige.it/handle/123456789/12718 | |
dc.description.abstract | L'industria dei videogiochi ha assistito, negli ultimi decenni, a una crescita esponenziale, evolvendosi da un mercato di nicchia a una delle forme di intrattenimento più diffuse e redditizie a livello globale. Al centro di questo processo creativo si trova il game engine, un framework software che fornisce agli sviluppatori gli strumenti fondamentali per la creazione di un videogioco. Dalla gestione del rendering grafico alla simulazione della fisica, dalla riproduzione dell'audio alla gestione degli input, l'engine astrae le complessità tecniche, permettendo agli sviluppatori di concentrarsi sugli aspetti ludici e artistici del proprio progetto, piuttosto che dei dettagli implementativi di basso livello. Questa tesi nasce dalla volontà di esplorare e documentare tale processo, realizzando da zero un game engine per giochi 2D.
L'obiettivo primario è la progettazione e l'implementazione di un engine per giochi 2D, denominato JumP Engine o abbreviato JP Engine, utilizzando il linguaggio di programmazione C++ e la libreria multimediale SFML (Simple and Fast Multimedia Library). Per dimostrare la validità e la completezza delle funzionalità dell'engine, un secondo obiettivo è lo sviluppo, in parallelo, di un videogioco platform 2D. Questo approccio "guidato dal gioco" assicura che ogni componente dell'engine sia sviluppato in risposta a una reale esigenza di gameplay, garantendo la creazione di un framework pratico e funzionale.
La tesi si propone di documentare l'intero percorso di sviluppo, analizzando le scelte architetturali, i design pattern e gli algoritmi implementati, partendo dalla creazione della finestra di gioco e del loop principale, fino a sistemi complessi come il scene graph, la gestione delle collisioni e le macchine a stati finiti utilizzata per le animazioni. | it_IT |
dc.description.abstract | The video game industry has seen exponential growth over the past decades, evolving from a niche market to one of the most popular and profitable forms of entertainment globally. At the heart of this creative process is the game engine, a software framework that provides developers with the fundamental tools for creating a video game. From managing graphic rendering to simulating physics, from playing audio to managing inputs, the engine abstracts technical complexities, allowing developers to focus on the playful and artistic aspects of their project, rather than low-level implementation details. This thesis was born from the desire to explore and document this process by building a game engine for 2D games from scratch.
The primary goal is the design and implementation of a 2D game engine, called JumP Engine or abbreviated JP Engine, using the C++ programming language and the SFML (Simple and Fast Multimedia Library) multimedia library. To demonstrate the validity and completeness of the engine's functionalities, a second goal is to develop, in parallel, a 2D platform video game. This "game-driven" approach ensures that each component of the engine is developed in response to a real gameplay need, guaranteeing the creation of a practical and functional framework.
The thesis aims to document the entire development path, analyzing the architectural choices, design patterns, and algorithms implemented, starting from the creation of the game window and the main loop, up to complex systems such as the scene graph, collision management, and finite state machines used for animations. | en_UK |
dc.language.iso | it | |
dc.rights | info:eu-repo/semantics/restrictedAccess | |
dc.title | Progettazione e Sviluppo di un Game Engine 2D a Scopo Didattico con SFML: JumP Engine | it_IT |
dc.title.alternative | Design and Development of a 2D Game Engine for Educational Purposes with SFML: JumP Engine | en_UK |
dc.type | info:eu-repo/semantics/bachelorThesis | |
dc.subject.miur | INF/01 - INFORMATICA | |
dc.publisher.name | Università degli studi di Genova | |
dc.date.academicyear | 2024/2025 | |
dc.description.corsolaurea | 8759 - INFORMATICA | |
dc.description.area | 7 - SCIENZE MAT.FIS.NAT. | |
dc.description.department | 100023 - DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI | |