all repos — RPG @ d7044262357209ad359fad4b2664315aea7096d0

Fully functional 3D turn based role playing game coded in C# and base Unity.

README.md (view raw)

 1# Remnants of Peek Galeer
 2
 3Remnants of Peak Galeer è stato realizzato da Marco Andronaco (O46001282) per il corso di Sviluppo Giochi Digitali.
 4
 5## Punti realizzati
 6* Splash Screen (logo UniCT)
 7* Icona gioco
 8* Load Game
 9* Options (Sound/music, resolution)
10* Credits Screen
11* Classifica ordinata, con rimpiazzo dinamico delle entry
12* Tutorial (3 schermate statiche)
13* Score (gold)
14* Gioco a tempo
15* Presenza di nemici/sfida
16* Difficoltà crescente
17* AI base (nell'overworld e in battaglia)
18* PlayerPrefs (impostazioni audio e velocità testo/battaglia)
19* Singleton (GameMaster)
20* Coroutines (BattleManager, UI, ...)
21* Enums (BattleManager, MenuManager, OverworldUIManager, ...)
22* Classi statiche (UI, AbilityDB)
23* Presenza di ereditarietà (Ability e Item estendono Action. Potion, BottledBlessing e tutti gli altri item ereditano da Item. FireBall, Attack, Defend, Heal e tutte le altre abilità ereditano da Ability.)
24* Overriding (I vari tipi di NPC eseguono l'override su actionAfterDialogue per definire il codice da eseguire dopo il dialogo)
25* Delegates (GameMaster.onSceneChanged, DialogueManager.actionAfterDialogue)
26* Animazioni originali (La dialogue box si alza e si abbassa con due animazioni)
27* Soundtrack
28* Altri suoni
29* Raycast (MouseOverInfo, per visualizzare info sull'abilità al passaggio del mouse)
30* User Interface
31* Particelle (Fuoco nel menu, torcia nella casa iniziale)
32
33## Note
34* Ai fini di riutilizzo del codice, ogni item è implementato come una sorta di "abilità consumabile".
35* Il codice è scalabile e funziona con un numero variabile di party members che va da 1 a 4, in base ai contenuti di GameMaster.partyNames.
36* Tutte le battle stats sono definite in un costruttore di Stats; questo permette di poterle confrontare e bilanciare facilmente tra loro.
37* È possibile assegnare una "voce" ai personaggi tramite il parametro Voice dentro NPC, ma al momento non è assegnata per mancanza di asset.