Creación de un motor de videojuegos 2D multiplataforma para sistemas empotrados
Title
Creación de un motor de videojuegos 2D multiplataforma para sistemas empotradosAuthor(s)
Directors
Padrón, Emilio J.Date
2023Center/Dept./Entity
Universidade da Coruña. Facultade de InformáticaDescription
Traballo fin de grao (UDC.FIC). Enxeñaría Informática. Curso 2022/2023Abstract
[Resumen]: En este proyecto se describe el proceso completo de desarrollo de un motor gráfico destinado a
la creación de videojuegos 2D, diseñado específicamente para sistemas empotrados y compatible
con diversas plataformas. La implementación se realiza utilizando el lenguaje de programación
C++ y se aprovecha la funcionalidad proporcionada por la popular biblioteca multimedia SDL
(Simple DirectMedia Layer) para el manejo de eventos, renderizado, audio, entrada y salida.
El motor gráfico se compone de clases abstractas, siguiendo un patrón de plantilla. Estas
clases deben ser implementadas para representar objetos del videojuego, otorgándoles diversas
funcionalidades. Además, se incluye una API para la gestión de recursos, como ficheros,
escenas, sprite sheets, animaciones, sonidos y música. Con el motor se incluye un editor de
escenas en línea de comandos, que facilita la creación y modificación de escenas y pantallas,
junto con sus objetos. Finalmente, el motor culmina en la generación del ejecutable del juego,
que implementa su bucle principal.
El proyecto incluye, además, un pequeño juego de demostración, realizado íntegramente
con el motor propuesto, probado tanto en una Raspberry Pi 1 como en un PC. [Abstract]: This project outlines the complete process of creating a game engine designed for the
development of 2D video games, specifically tailored for embedded systems and compatible
across various platforms. The implementation was done using the C++ programming language,
harnessing the capabilities provided by the widely-used multimedia library SDL(Simple
DirectMedia Layer) for event handling, rendering, audio, input and output.
The graphics engine consists of abstract classes following a template pattern. These classes
need to be implemented to represent game objects, giving to them diverse functionalities.
Furthermore, an API is included for resource management, like files, scenes, sprite sheets,
animations, sounds, and music. Has a scene editor to allow the creation and modification of
scenes, along with their respective objects. Ultimately, the engine culminates in generating
the game’s executable, which implements its main loop.
Keywords
Motor gráfico
Multiplataforma
Sistema empotrado
Videojuego 2D
Objeto del juego
Escena del juego
Editor de escenas
Sprite
Tile
Game engine
Cross-platform
Embedded system
2D video game
Game object
Game scene
Scene editor
Multiplataforma
Sistema empotrado
Videojuego 2D
Objeto del juego
Escena del juego
Editor de escenas
Sprite
Tile
Game engine
Cross-platform
Embedded system
2D video game
Game object
Game scene
Scene editor
Rights
Atribución 3.0 España