crystal-bit / sala-studio

[Archiviato] Un punto di incontro per chi vuole approfondire lo sviluppo di videogiochi in un ambiente rilassato e collaborativo.
5 stars 2 forks source link

Come strutturare al meglio un progetto Godot #13

Open veonazzo opened 4 years ago

veonazzo commented 4 years ago

Utilizzando Godot, mi sono accorto della necessità di avere delle linee guida, tipo best practice su come strutturare correttamente il progetto. Esempio: `

NodoRoot |--NodoGlobal (con signleton o var/const globali) |--NodoGame |--|--NodoMenu (ref issue#7) |--|--NodoMain |--|--|--tutti i nodi che seguono servono per il gioco nel main loop |--|--NodoPlayer |--|--|--tutti i nodi che servono per gestire il player |--|--NodoEnemy |--|--|--tutti i nodi che servono per gestire i nemici (ripetuto per ogni nemico diverso nel caso) |--|--NodoObject |--|--|--tutti i nodi che servono per gestire oggetti (es rigid body) |--|--NodoBackground |--|--|--tutti i nodi che servono per avere sfondi e/o parallax |--|--NodoTileMap |--|--|--tutti i nodi che servono per gestire tilemap |--|--NodoAudio |--|--|--tutti i nodi che servono per gestire diversi audio

` Ovviamente in base al progetto di gioco da realizzare, ci possono essere più o meno nodi, per ora ho individuato questi come struttura base applicabile a quasi tutti i progetti di gioco 2D.

In più chiederei giusto un tips&tricks su come gestire i sotto nodi di Game/Main, quindi le scene player, enemy etc, come richiamarle negli script e dove inserire i rispettivi script (es; script del player, meglio metterlo su NodoPlayer o sul sotto nodo KinematicBody del player?)

davcri commented 4 years ago

Grazie @veonazzo per l'argomento, ne avevamo già parlato sul server Discord, ma scrivo anche qui.

L'argomento lo proponi nel periodo perfetto, visto che ad Ottobre probabilmente riproporrò l'hacktoberfest e ci sarà bisogno di una struttura di progetto che sia chiara a tutti!

Forse farò anche un video dedicato visto che nei giorni passati ho cominciato a lavorare ad un godot-template che si occupa proprio di fornire una struttura di base. Il repository è ancora privato, ma l'URL sarà questo: https://github.com/crystal-bit/godot-game-template