WIF - La Community Italiana di The Battle for Wesnoth

Wesnoth Italian Forum
La Community Italiana di The Battle for Wesnoth uno dei migliori giochi multiplayer online gratis open source, a turni di ambientazione fantasy. Iscriviti a wifper partecipare ai tornei online, allo sviluppo di nuove estensioni (campagne, mappe, ere, scenari, fazioni) e a tutte le iniziative di w.i.f. per questo meraviglioso gioco strategia . Giocare gratis on line non è mai stato più facile.

Se stai cercando giochi multiplayer online, giochi di strategia, giochi a turni, giochi open source, giochi gratuiti o giochi fantasy, vieni a giocare online in multiplayer con noi! Questo è il forum che cercavi.
14 Dicembre 2017, 05:39:53 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
 Notizia
VENITE A TROVARCI NELLA CHAT DI W.I.F.
- per organizzare partite ed incontri Ghigno  -
Ti aspettiamo!
Ricerca avanzata  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Stratagemmi per ridurre le dimensioni del file delle campagne  (Letto 536 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Argesilao
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 163



« inserita:: 29 Luglio 2016, 12:13:24 »

Probabilmente per megalomania intrinseca mi ritrovo a fare campagne che esorbitano i 3 MB consentiti; il problema si può aggirare caricando la campagna a rate, ma è un sistema che 'sporca' il forum, almeno a mio parere, e rende le campagne poco appetibili.

A rendere pesante una campagna sono fondamentalmente i file immagine, ed in particolare:

a) L'eventuale mappa su cui visualizzare gli spostamenti
b) i background nell'introduzione degli scenari
c)  i ritratti dei personaggi

Il punto a si può alleggerire modificando con GIMP le dimensioni dell'immagine della mappa, ma una riduzione superiore ad 1/4 della larghezza ed 1/4 dell'altezza rende l'immagine troppo poco nitida, comunque è già un piccolo risultato. Sorriso

Il punto b, purtroppo, si può affrontare solamente con una drastica riduzione del numero degli sfondi utilizzati, rendendo però ripetitiva la presentazione degli scenari, oppure scegliendo sfondi a bassa risoluzione. Indeciso

Il punto c è quello per cui ho aperto questa discussione; se si evita di usare immagini originali e si decide di usare solo le immagini presenti nelle campagne o nel core di Wif rimane il problema che, se il ritratto del personaggio, per vari motivi, lo si vuole differente dal ritratto che viene assegnato ufficialmente al type in questione, bisogna comunque copiare il file immagine desiderato nella directory della campagna, e quindi assegnarlo al personaggio con il comando "profile="
Ho provato in vari modi ad assegnare il profile del personaggio assegnando alla variabile il percorso che gli permetta di trovarlo nel core o nella campagna originale, compreso l'intero percoso da c:/ in poi, sempre senza successo  Pianto

C'è qualcuno che è riuscito in questo intento? Vale a dire ad assegnare ad un personaggio un immagine-profilo andando a 'pescarla' direttamente nella sua collocazione originale?
Sarò eternamente grato, vale a dire per almeno un paio d'ore, a chi mi  fornirà la dritta giusta, ed anche a chi mi dirà che la dritta giusta non esiste, perchè mi risparmierà sforzi e tentativi inutili.

Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Nobun
Moderatore Globale e Vincitore Torneo di Singolare 2011
*
Scollegato Scollegato

Messaggi: 697


Negromante elementale del Vento


« Risposta #1 inserita:: 31 Luglio 2016, 08:00:12 »

Non mi vengono possibili soluzioni. Il limite dei 3MB, d'altronde, è un limite specificato in WIF per ragioni legate allo spazio disponibile sul sito, non è un limite imposto alle campagne (che possono essere ben più grosse).

Una strategia potrebbe essere aumentare il livello di comprensione dell'archivio, ad esempio aggeggiando con le opzioni di programmi per la creazione di zip un po' più avanzati.
Un'altra alternativa è usare il formato archivio .7z anziché zip, che è più performante, ma ahimé meno conosciuto dai neofiti. Ora... non ricordo se il formato .7z può essere utilizzato qui oppure no. In caso negativo potresti fare uno zip che contiene il file .7z più un file di testo che spiega come estrarre il file 7z - e cioè, in pratica, suggerire di scaricarsi 7zip e scompattare con quello.

Non mi vengono alternative migliori
Registrato



A VOLTE ATTIVO, A VOLTE NO
Argesilao
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 163



« Risposta #2 inserita:: 31 Luglio 2016, 08:40:42 »

Non mi vengono possibili soluzioni. Il limite dei 3MB, d'altronde, è un limite specificato in WIF per ragioni legate allo spazio disponibile sul sito, non è un limite imposto alle campagne (che possono essere ben più grosse).

Una strategia potrebbe essere aumentare il livello di comprensione dell'archivio, ad esempio aggeggiando con le opzioni di programmi per la creazione di zip un po' più avanzati.
Un'altra alternativa è usare il formato archivio .7z anziché zip, che è più performante, ma ahimé meno conosciuto dai neofiti. Ora... non ricordo se il formato .7z può essere utilizzato qui oppure no. In caso negativo potresti fare uno zip che contiene il file .7z più un file di testo che spiega come estrarre il file 7z - e cioè, in pratica, suggerire di scaricarsi 7zip e scompattare con quello.

Non mi vengono alternative migliori

In realtà ho già inserito una campagna di più di 6MB, Mission for the King, ma ho dovuto caricarla in tre pezzi distinti, cosa esteticamente pessima e che complica la vita a chi volesse scaricarla.

Riguardo al livello di compressione dei file immagine, che per esempio nella campagna sopra citata rappresentano circa l'85% del 'peso', farò un tentativo con il formato 7z, ma l'esperienza mi insegna che i file immagine sono praticamente incomprimibili, e chi trovasse il sistema di comprimerli anche solo all'80% delle loro dimensioni verrebbe assunto dalla microsoft con uno stipendio a 6 zeri.
Grazie comunque per il consiglio
Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Elvish_Hunter
Moderatore globale
*****
Scollegato Scollegato

Messaggi: 674


Lo sviluppator cortese


« Risposta #3 inserita:: 08 Agosto 2016, 19:53:31 »

Non mi vengono possibili soluzioni. Il limite dei 3MB, d'altronde, è un limite specificato in WIF per ragioni legate allo spazio disponibile sul sito, non è un limite imposto alle campagne (che possono essere ben più grosse).
Va detto però che tale limite era stato inserito tanto tempo fa (era già in vigore quando mi iscrissi...). All'epoca, Altervista offriva molto meno spazio gratuito per i siti (ora non so se siamo a 3 Gigabyte gratis o qualcosa del genere...).
In realtà ho già inserito una campagna di più di 6MB, Mission for the King, ma ho dovuto caricarla in tre pezzi distinti, cosa esteticamente pessima e che complica la vita a chi volesse scaricarla.
Se vuoi, puoi mandare un messaggio privato a Dret e chiedergli se sia possibile aumentare la dimensione massima dei file per l'area Download, per esempio, a 10 Megabyte. La motivazione mi sembra più che valida, dopotutto. Sorriso
Registrato

Manutentore corrente di The Sojournings of Grog, Children of Dragons, A Rough Life e Wesnoth Lua Pack.
The White Troll - topic ufficiale
Argesilao
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 163



« Risposta #4 inserita:: 08 Agosto 2016, 22:47:54 »

Non mi vengono possibili soluzioni. Il limite dei 3MB, d'altronde, è un limite specificato in WIF per ragioni legate allo spazio disponibile sul sito, non è un limite imposto alle campagne (che possono essere ben più grosse).
Va detto però che tale limite era stato inserito tanto tempo fa (era già in vigore quando mi iscrissi...). All'epoca, Altervista offriva molto meno spazio gratuito per i siti (ora non so se siamo a 3 Gigabyte gratis o qualcosa del genere...).
In realtà ho già inserito una campagna di più di 6MB, Mission for the King, ma ho dovuto caricarla in tre pezzi distinti, cosa esteticamente pessima e che complica la vita a chi volesse scaricarla.
Se vuoi, puoi mandare un messaggio privato a Dret e chiedergli se sia possibile aumentare la dimensione massima dei file per l'area Download, per esempio, a 10 Megabyte. La motivazione mi sembra più che valida, dopotutto. Sorriso

In effetti in 3 MBytes si possono costruire fior di campagne, basta rinunciare a mettergli troppi orpelli grafici intorno; la sola mappa su cui visualizzare gli spostamenti, che di 1024x768 pixel occupa 1,75 MBytes; si può ridurla ma non più di tanto, pena un'immagine sfuocata; poi ci sono gli sfondi delle introduzioni, ed anche li sono 300-400 kilobytes a sfondo; infine, il mio vero cruccio sono le immagini dei profile delle unità; trovo assurdo che non si possa richiamare un profile dai dati del core, cosa che risparmierebbe l'onere di copiare l'immagine nella cartella del'add-ons in questione; tutto il resto occupa ben poca memoria, per di più comprimibile, a differenza dei files immagine.
Aumentare la dimensione delle campagne caricabili nella sezione download, solo per motivazioni estetiche, potrebbe ridurre altrove le possibilità del sito; ne varrebbe la pena? Prima o poi porrò a Dret il quesito. Intanto cercherò di realizzare campagne più leggere e di alleggerire quelle pesanti.
Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Argesilao
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 163



« Risposta #5 inserita:: 08 Novembre 2017, 13:35:21 »

Fin da quando ho cominciato a realizzare campagne ho dovuto vedermela con il problema della dimensione massima dei files postabili nella sezione download del sito, problema che già in un paio di occasioni mi ha costretto a scomporre una singola campagna in due post differenti.
In realtà è un problema più irritante, almeno per l'iracondo sottoscritto, che reale, però sussiste.
Ora, teniamo presente che i files veramente pesanti sono quelli relativi alle immagini dei profili dei personaggi, generalmente tra i 150 ed i 200 kB, ma oltre i 400kB in alcune immagini particolari di Wose e Dragoni.
Vi sono poi le immagini della mappa in cui visualizzare gli spostamenti degli eroi; una di queste immagini, da sola, supera i 2MB; è vero che si può ridurre con GIMP, ma il risultato è piuttosto scadente dal punto di vista estetico.

Ed adesso vengo al motivo di questo post: se le immagini che vengono utilizzate nella campagna user-content sono disponibili nelle sottodirectory di data/core/ allora non è necessario inserirle nel file della propria campagna; è invece necessario farlo, almeno allo stato delle mie conoscenze, se le immagini sono disponibili solamente nelle varie campagne ufficiali, vale a dire nelle sottodirectory di data/campaigns/, e questo comporta un notevole aggravio nella dimensione del file dell'add-on in questione.

Andando a sgarfare di qua e di la alla ricerca del modo di ovviare a ciò ho trovato, alla pagina https://wiki.wesnoth.org/PreprocessorRef, quanto segue:

File/directory inclusions
Syntax: {path}
Includes the file with the specified path, which will in turn run the preprocessor on it and perform any required substitutions or inclusions within it. The path may not contain .. or the inclusion will be skipped.
The exact location in which the path will be resolved will depend on its prefix:
{path}: If path isn't a known macro (see below), the game will assume it's a relative path to a file in the main game data/ directory and include it.
{~path}: As above, but instead of the game data directory, the path is resolved relative to the user data/ directory, where user made add-ons can normally be found.
{./path}: The path is resolved relative to the location of the current file containing this inclusion.


In teoria, se il sottoscritto avesse ben compreso quanto scritto sopra e volesse usare nella propria campagna l'immagine della mappa dell'Isola Verde, presente solo nella directory data/campaigns/The_Rise_Of_Wesnoth/images/maps/ dovrebbe essere in grado di farlo con il comando

image={data/campaigns/The_Rise_Of_Wesnoth/images/maps/green_isle.png}

invece, in fase di compilazione della campagna appare il messaggio
macro/files 'data/campaigns/The_Rise_Of_Wesnoth/images/maps/green_isle.png' is missing Pianto

per curiosità, se poi provo, supponendo che la directory data/ sia implicita,  ad usare la forma
image={campaigns/The_Rise_Of_Wesnoth/images/maps/green_isle.png}
non ottengo nemmeno il messaggio di errore, ma semplicemente l'interruzione brutale e repentina dell'esecuzione del programma ed il ritorno alla schemata di windows, mentre nel file stderr appare la criptica quanto inquietante espressione
Caught general exception:
std::exception Scioccato
Ma questa è una divagazione, almeno credo.

Il punto è: se i files non presenti nelle sottodirectory del data/core sono off-limits per gli users-contents, a meno che non vengano copiati nelle sottocartelle dell'add-ons directory, perchè prevedere il caso di cui sopra? Che?!?

E poi: perchè i files non presenti nelle sottodirectory del data/core sono off-limits per gli users-contents? Che?!? Che?!?

E soprattutto:  i files non presenti nelle sottodirectory del data/core sono veramente tabù per gli users-contents, oppure c'è qualcosa (d'altro) di importante che ignoro? Che?!? Che?!? Che?!?

Questa cosa sta minando la mia sanità mentale, sarò eternamente riconoscente per almeno un paio di giorni a chi mi eviterà di cadere nel baratro della pazzia fornendomi delucidazioni in merito a quanto sopra! Ghigno
Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Nobun
Moderatore Globale e Vincitore Torneo di Singolare 2011
*
Scollegato Scollegato

Messaggi: 697


Negromante elementale del Vento


« Risposta #6 inserita:: 08 Novembre 2017, 20:00:59 »

Hai capito bene, ma applicato male.
Mi spiego... quello che tu hai letto si riferisce a "File/directory inclusions" e cioè alle INCLUSIONI di file (quando ad esempio aggiungi riferimenti a mappe o a scenari, per intenderci).

In questi casi, infatti, si parla di inclusione, e cioè di una operazione equivalente alla direttiva #include nel linguaggio C / C++.
Cio' significa, in parole spicciole, che si crea un riferimento simbolico che verrà sostituito, in tempo di esecuzione col CONTENUTO del file indicato.

Ma non è questo il caso. Nei parametri di "img" tu hai bisogno di indicare un PERCORSO di un file che però non deve essere incluso nel sorgente WML della campagna, ma è per l'appunto solo un riferimento testuale che serve a capire dove si trova l'immagine che poi verrà caricata dal gioco.

quindi la sintassi da usare non è quella.

--------------------

Nel tuo caso, quindi, non so darti una risposta precisa perché non ho mai provato ad usare il link diretto ad una risorsa di una campagna ufficiale, preferendo invece (se mi serviva qualcosa) copiare ciò che mi serviva.

Ora... PENSO (e sottolineo PENSO) che aggiungere un binary path al _main.cfg della tua campagna possa risolvere la cosa

Leggi questo mio vecchio tutorial, alla voce Binary Path per capire di cosa sto parlando:
http://wif.altervista.org/wiki/doku.php?id=introduzione:scenario1p2

nel tuo caso potresti provare ad aggiungere un
Codice:
[binary_path]
    path="data/campaigns/The_Rise_Of_Wesnoth"
[/binary_path]

nel tuo _main.cfg

e poi, per quanto invece riguarda il parametro IMG nel file CFG in cui devi puntare alla mappa specificare
Codice:
img="maps/green_isle.png"
e vedi se risolve.

Come ti ho detto NON SO se funzionerà perché non so se sia consentito usare più di un binary path in una campagna (ed ovviamente il binary path che punta alla directory della campagna stessa è irrinunciabile).

-------------------

E ora ti spiego il perché della std::exception (no... non era una cosa inutile).
Il fatto è che nel primo caso eri andato a cercare un file inesistente.
In effetti, a ben leggere, si doveva far partire il path dalla directory data COMPRESA (quindi non l'avresti dovuta includere).

Però, al secondo tentativo, quando hai fatto la cosa giusta, invece hai persistito nell'errore di fondo di cui ti ho detto all'inizio.
Cosa è successo: wesnoth ha trovato il file immagine in questione, lo ha aperto, ed ha provato ad aggiungere il contenuto del file immagine (che sono informazioni di tipo binario) all'interno del codice WML (che è invece un file di testo).
Quindi, quando si è trattato di processare il file WML il gioco è andato in crash perché, in un punto in cui ci si aspettava un testo (il percorso relativo del file immagine) ci si è invece beccati una informazione binaria assolutamente inaspettata e quindi l'errore che tu hai visto.
Registrato



A VOLTE ATTIVO, A VOLTE NO
Argesilao
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 163



« Risposta #7 inserita:: 08 Novembre 2017, 22:39:39 »

Sono commosso fin quasi alle lacrime  Pianto

Aggiungendo al file _main.cfg l'indicazione del percorso delle directory delle campagne contenenti i contenuti (ops!) interessanti, si possono utilizzare i contenuti stessi  Ghigno

Grazie Nobun, per aver preservato il mio equilibrio psichico  Occhi al cielo e soprattutto svariati MBytes di spazio sul server del sito  Occhiolino

P.S. Mannaggia, però, potevo arrivarci un anno prima  Triste
P.S.S. Credo perfino di aver capito il discorso sull'inclusione dei file, che, naturalmente, non centrava un piffero con quello che mi interessava fare  Scioccato
Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Pagine: [1]   Vai su
  Stampa  
 
Vai a: