Qual è il solito metodo di memorizzazione di modelli 3D, trame, suoni e script (ad esempio file Lua) durante lo sviluppo e in una versione? Sto sviluppando un gioco con i miei amici principalmente in C ++; nella fase di prototipazione avevamo solo una trama che è stata salvata come intestazione C con GIMP, ma ovviamente questo approccio non si adatta bene e aumenta notevolmente i tempi di compilazione.
Sotto Windows, la solita pratica è semplicemente scaricarli nella %PROGRAMFILES%
sottodirectory in cui risiede l'eseguibile del gioco, magari disponendoli in una struttura ad albero appropriata. Tuttavia, su Linux l'immagine sembra molto più complicata. L'eseguibile di solito risiede /usr/bin
, mentre le applicazioni archiviano i loro altri file /usr/share
e penso che sarebbe una cattiva pratica inserire file non eseguibili /usr/bin
. Tuttavia, la struttura delle directory durante lo sviluppo è totalmente diversa.
Potrei trovare due diverse soluzioni possibili:
- Consenti all'eseguibile di trovare i file di risorse relativi a se stesso e di installare il gioco
/opt
. Quindi posizionare i collegamenti simbolici a/usr/bin
. Durante lo sviluppo, il percorso relativo delle risorse verso i binari è lo stesso che durante la distribuzione. - Accedi ai file con un percorso assoluto definito come simbolo del preprocessore. Lascia che il processo di compilazione (nel nostro caso, raw
Makefile
s) si occupi di definirlo come è adatto.
Entrambi gli approcci mi sembrano in qualche modo ineleganti in un aspetto o nell'altro. Esiste una pratica comune nel settore dello sviluppo dei giochi al riguardo?
Le uniche domande rilevanti che ho potuto trovare sono state la determinazione della posizione delle risorse di gioco installate / su disco e dei percorsi della directory per risorse e risorse , ma quelle non hanno risolto il problema dell'esecuzione "dall'albero dei sorgenti".