Visione - GioeleCicchini/TankWar GitHub Wiki

Introduzione

Vogliamo realizzare un code-game basato sulla programmazione di carri armati robot. Il gioco consiste nel programmare dei Tank e farli combattere in un campo di battaglia virtuale. Gli utenti, in un primo momento, programmeranno le strategie del loro Tank. Verranno fornite agli utenti delle istruzioni atomiche, basate su sistemi di sensori e cannoni, le quali potranno essere combinate in modo da formare degli algoritmi di battaglia.
Una volta creato il Tank, questo sarà pronto a scendere in battaglia ed eseguirà automaticamente l’algoritmo impostato dall’utente. I campi da gioco saranno tutti riconducibili a griglie. Il sistema assegnerà un avversario ed un campo di battaglia, con un sistema di matchmaking, sulla base del livello raggiunto dal Tank.
Vincendo battaglie, infatti, il Tank salirà di livello. Potrà disporre di armi sempre più potenti e di algoritmi più performanti, ma affronterà, in questo modo, avversari sempre più temibili e combatterà in terreni sempre più complessi.

Obiettivi del progetto

Vogliamo fare in modo che sempre più utenti si possano divertire con l'utilizzo del nostro sistema. Vogliamo stimolare la competitività nel creare strategie sempre migliori. A tal fine, i meccanismi di gioco forniti dovranno essere bilanciati. In particolare si forniranno degli strumenti agli utenti né troppo performanti (che farebbero terminare i match in brevissimo tempo) né troppo banali (che limiterebbero l'espressione della bravura nella creazione della Strategia e al tempo stesso annoierebbero i giocatori con partite interminabili).

Fase preliminare: Ideazione delle dinamiche di gioco

Prima di procedere nell'ideazione del progetto, il team si è concentrato nell'ideazione del "gioco" in se per se. A questo scopo sono stati utilizzati dei "prototipi cartacei" con cui simulare battaglie.

Prima simulazione (1)

Prima simulazione (2)

Prima simulazione (2)

Prima simulazione (2)

Sono state svolte alcune battaglie di prova, nelle quali il team ha cercato di concepire quali possano essere le risorse da assemblare a disposizione degli utenti finali.

A chi è destinata l'applicazione

L'Applicazione è destinata a chiunque voglia divertirsi attraverso questo gioco per pc. Immaginiamo che l'utenza prediliga giochi basati sull'ideazione di strategie. A tal fine intendiamo creare competizione tra gli utenti, stimolandoli nel creare strategie sempre migliori. Non è necessaria una grande conoscenza dei linguagi di programmazione in quanto le strategie sono costituite da blocchi di operazioni elementari, comprensibili a tutti.

Altri Stackeholders del Sistema

Immaginiamo che altre figure interessate all'utilizzo del Sistema possano essere degli Utenti non ancora registrati e gli Amministratori del Sistema Stesso.

Necessità degli Utenti del Sistema

Player Ha la necessità di potersi autenticare al Sistema e, in seguito, ideare e registrare le proprie strategie e assegnarle al proprio Tank. Infine deve poter simulare delle battaglie e verificare l'esito dei battaglie effettuate in passato.

Amministratore Ha la necessità di autenticarsi in modo da creare campi da gioco ed effettuare la gestione degli Utenti registrati.

Utente non Registrato Ha la necessità di registrarsi nel Sistema, in modo da potersi autenticare in futuro ed usufruire delle funzionalità riservate agli utenti registrati.

Dall'analisi di queste necessità è scaturito il Modello dei Casi d'Uso.