CBL - Campus del Baix Llobregat

Projecte llegit

Títol: Implementació d'un joc de combat de drons amb Flutter, Node.js i Python


Estudiants que han llegit aquest projecte:


Director/a: VALERO GARCÍA, MIGUEL

Departament: DAC

Títol: Implementació d'un joc de combat de drons amb Flutter, Node.js i Python

Data inici oferta: 29-01-2025     Data finalització oferta: 29-09-2025



Estudis d'assignació del projecte:
    DG ENG AERO/SIS TEL
    DG ENG AERO/TELEMÀT
    DG ENG SISTE/TELEMÀT
Tipus: Individual
 
Lloc de realització: EETAC
 
Paraules clau:
Dron, Backend, Frontend, Python, Flutter, Socket.IO, Node.js/Express
 
Descripció del contingut i pla d'activitats:
 
Overview (resum en anglès):
The Bachelor's Thesis I present describes an integrated platform for the simultaneous control
and management of multiple drones. The system consists of three main components: a
Python-based ground station, a Node.js and Express backend, and a Flutter web client
accessible from any browser thanks to Ngrok tunnel integration.
The ground station serves as the command center. From there, flight zones are defined,
obstacles are configured, match parameters are set, and all combat logic is executed (collision
detection, score calculation, and projectile management). It supports USB joysticks or
keyboard controls, allowing piloting without accessing the web frontend. Additionally, thanks to
the Mission Planner integration, the flight path and telemetry data are displayed on an
interactive map in real time.
The backend, built with Node.js and Express, stores user data in MongoDB and handles real
time communication via WebSockets (Socket.IO), ensuring fast and stable event
synchronization across all platforms.
The Flutter-based web client allows pilots to connect from any browser and control their drones
with touch commands, reflecting in real time any changes made from the ground station
(heading changes, obstacle destruction, etc.). Non-competing users can follow the match as
spectators or enjoy individual mini-games. Moreover, the interface is fully internationalized and
offers multilingual support in Catalan, Spanish, and English; from the settings section, users
can select their preferred language or let the application adapt automatically to their browser's
Language.
The entire system features an automatic reconnection mechanism-across the ground station,
backend, and client-that restores communication and recovers the match state in the event
of a connection loss, without interrupting the gaming experience.


© CBLTIC Campus del Baix Llobregat - UPC