Thejuster
-
Posts
626 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Thejuster
-
-
On 7/19/2025 at 11:10 AM, Lord Sesshoumaru said:
Io devo essere l'unico fesso che non lo sa usare come si deve.
Eccomi qui dopo un pò di tempo, finalmente trovo qualche minuto libero per scrivere un pò di aggiornamenti.
Noi abbiamo risolto su discord.
Principalmente il problema e proprio quello, bisogna giocare con i parametri al fin di ottenere il risultato sperato.
Purtroppo il tool non fà miracoli, ma giocando con le palette, ed i vari filtri, si riesce ad ottenere il linea massima quello che si cerca.Per quando riguarda le novità, ho introdotto lo slice tool.
Anche se il nome può ingannare, ma il realtà anziché dividere, tagliando porzioni da un'immagine e Copia / Incollando in un riquadro apposta che appare nei Tileset Editor ( Non nel Converter ) si può adattare una qualsiasi immagine alle dimensioni del tileset in uso.
ad esempio:
Ricopiamo questa casetta da un'immagine scava su google
Dall'anteprima si nota che è sfasata, non allineata e più grande di quella che ci può servire.
Il tool rimuove lo sfondo ( Con una tolleranza personalizzabile, utile anche quando sono presenti immagini jpg con artefatti ) e riposiziona / scala / ridimensiona l'immagine per adattarla al tileset.
Quando siamo soddisfatti del risultato ci basta premere su OK e posizionare l'elemento sul tileset.
Ovviamente questo sempre in concomitanza con gli altri strumenti a disposizione per la manipolazione dell'immagine ( Pixelizer, Palette Processor, ecc. ) -
Salve ragazzuoli ogni tanto mi faccio vivo hehe.
Magari per aggiornarvi su qualche mio progetto o se trovo un topic interessante rispondo volentieri.Portavo un paio di aggiornamenti qua e là partendo sempre
dall'ormai completo "Pixelizer".Parto dalla feature principale introdotta.
Come avevo accennato nel post precedente, con una manipolazione dei colori, potevano ottenere un effetto visivo stile old nintendo.Da qui poi, nasce l'introduzione delle palette.
Tutti sappiamo cos'è una palette.
All'interno dello strumento Pixelizer:
Si da un'immagine come input e si estraggono i relativi colori presenti
realizzando una palette grafica.
Se notate 56 Colori, e perché i vecchi sistemi NES l'hardware seppur sopporta 256 colori, sfrutta palette da 56 colori.
Possiamo inoltre, effettuando un Manual Picking, possiamo ulteriormente selezionare i colori che più ci interessano.
Questo ad esempio se abbiamo intenzione di realizzare un gioco che rispetta un certo stile grafico, con determinati colori.
Allora questo strumento sarà come una manna dal cielo.
Come nella screen, ho ulteriormente selezionato dalla palette ricavata solo 8 colori.
Se accetto solo 8 colori questo sarà il risultato
L'algoritmo assegna dei pesi per ogni colore, ed in base a quello più simile alla screen originale, sostituisce il colore che è più adatto.
In modo da ottenere un effetto retro pixellato impeccabile.Se invece volete il massimo, vi linko un sito web dove poter scaricare migliaia di palette in modo gratuito e da poter usare con RPGAC.
https://lospec.com/palette-list
Basta scegliere la palette che più vi aggrada:
Scaricare il formato PAL (JASC)
e caricare la palette direttamente su RpgAC.In modo da ottenere esempio questo
o magari un effetto più dark stile horror o del tipo Silent Hill
Insomma c'è veramente da divertirsi.
Mentre attualmente, è in sviluppo L'editor dei Tileset per XP
Come per gli editor adiacenti, sempre conversione in tempo reale Pick and Place, con la possibilità di aggiungere un upscaling o sempre un pixelizer effect.
-
Dopo un lungo lavoro, penso di essere riuscito ad accontentarti.
Ho ulteriormente elaborato l'algoritmo di generazione con ulteriori 5 passaggi.
1° Si dà in pasto al programma una screen di un gioco qualsiasi di snes.
2° Il programma elabora l'immagine simulando un hardware snes modalità 256 colori ma con palette a 5 bit 56 colori.
3° L'algoritmo non si limita a ridurre i colori, ma si limita a ricreare la grafica sfruttando la palette generata dall'immagine come campione.
Prima di tutto, estrae e campiona i colori eliminando quelli superflui e ripetuti per poi adattarli ancora una volta a 5 bit.Ad esempio ho usato questa screen di Chrono trigger
Recuperato e generati i colori limitati per l'hardware snes, si può salvare la palette e tenerla per poi applicare sempre la stessa risonanza alle altre screen.
Ma come funziona?
L'algoritmo genera una sorta di Luminance Key dando dei pesi sui colori, in modo da ricreare uno spettrogramma e dare più rilevanza a dei colori rispetto ad altri.Non ho fatto molti test anche perché ho avuto poco tempo per testare ma molto lavoro fatto sull'algoritmo.
Prendendo questa screen da google:
Caricando la palette precedentemente generata
ottengo questo risultato
Sembra un vero gioco snes.
Ovviamente alcuni colori possono sembrare fuori luogo.
Semplicemente perché ho caricato una palette generata da una screen di una foresta con prevalenza di rosso per le foglie.
Ma una qualche screen di qualche taverna per snes il risultato è sicuramente diverso.Ad esempio puoi notare i bordi delle pareti.
da sfumature e colori tenui, a pixel evidenti e netti.In più oltre a questo, come annunciato su itch,
Filtri come GameBoy ed altri in arrivo
-
Ti descrivo cosa c'è dietro al tool che normalmente non si vede o non si percepisce.
In sintesi, il mio strumento non si limita a pixellare un'immagine ad esempio come fa photoshop, ma offre strumenti più avanzati per personalizzare il risultato.
Ci sono molti fattori che vanno analizzati.
Prendiamo spunto proprio da photoshop.
Cluster Strength:
A differenza di photoshop che applica una pixelizzazione uniforme, il mio algortimo introduce un parametro chiamato Cluster Strenght, che controlla il livello di aggregazione dei pixel.
Puoi decidere quanto grandi devono essere i blocchi di pixel e quanto devono essere raggruppati i colori ottenendo un effetto più personalizzato e marcato.Palette Colori Intelligente:
A differenza del filtro di phoshop che si limita a pixelizzare l'immagine mantenendo i colori originali, il mio algoritmo genera una palette di colori ridotta e sostituisce i colori dell'immagine con quelli più vicini nella palette generata, creando un effetto più retro e controllato.
In più giocando con il cluster Strenght, nella riduzione dei colori aiuta a mantenere una transizione più naturale trai i pixel migliorando l'output visivo.anche in questo strumento, segretamente viene abilitato un upscaling.
Photoshop ha strumenti di ridimensionamento, il mio strumento sfrutta un upscaling con interpolazione bilineare, che evita il classico effetto a blocchi, in più si aggiunge anche lo smoothing Factor che controlla quanto l'upscaling deve essere morbido o mantenere l'effetto pixel art.
Questo è particolarmente utile proprio quando si usano immagini di grandi dimensioni e si decide di pixelizzarle.Preservazione della Trasparenza:
I pixel trasparenti vengono preservati, evitando che vengano sostituiti da blocchi opachi. Utile soprattutto per i game designer che necessitano di sprite trasparenti.
In più altre aggiunte come: Edge Detector ( Canny ) e struttura a Reticolo con l'Algoritmo di Voronoi
Aggiungerò altre feature?
Sicuramente!Migliorerò maggiormente l'output grafico?
Ovvio!Dietro al tool, non c'è un IA che genera immagini o quant'altro.
Ma il frutto della mia esperienza maturata negli anni nello sviluppo di motori grafici, IDE, Editor Grafici ed Game Engine.
Tutto ciò realizzato con un approccio ingegneristico basato su C++ ottimizzando ogni passaggio per garantire equilibrio, stabilità e prestazioni.Ovviamente, questo tool offre una soluzione su misura, con caratteristiche che possono essere ulteriormente espanse e migliorate proprio per adattarsi alle esigenze degli sviluppatori.
Spero di essere stato esaustivo almeno per quel che riguarda le informazioni principali del tool.
Il tool è molto giovane, ha appena qualche anno.
Sicuramente migliorerà questo grazie anche al supporto di tutti voi. -
On 3/22/2025 at 5:07 PM, Lord Sesshoumaru said:
parlo di pixelizer sì, pixelizer inoltre se non specifichi un formato salva in JPEG che forse non è l'ideale.
Si grazie per la segnalazione mi era sfuggita quella parte.
Ho appena rilasciato una nuova release per i vari bugfix.
-
On 3/18/2025 at 8:43 AM, Lord Sesshoumaru said:
Grazie della release! Ma quindi è solo upscaling, non è anche downscaling?
I link delle immagini non funzionano per niente purtroppo
Scusami non ho capito a quale strumento ti riferisci, Pixelizer o Upscaling?
PS:
Le feature di ridimensionamento le sto applicando ora.
Upscaling come ho allegato sopra nel rar il progetto di esempio, ingrandisce l'immagine aumentando i pixel
Ovvero ricreando sfumature che mancano per realizzare immagini più dettagliate ovviamente per ottenere questo effetto,
L'immagine viene ingrandita, ma Ahimè mi sono accorto del bug che l'immagine non viene ridimensionata correttamente.
Quando si aumenta il fattore scala ignora le dimensioni impostate sul lato destro.
Questo perché ho rimasto attivo di default durante l'esportazione il Keep Transform, che cerca di stabilizzare l'immagine senza storcerla (Esempio più larga e più corta) ma rispettando le proporzioni.
Quindi per ora si, L'Upscaling, ingrandisce solo, ma sto appunto modificando per ridimensionare dopo aver upscalato i pixel.Riguardo al Pixelizer, ho già completato la parte per ridimensionare e tutto.
Ora tocca solo all'upscaler per poi rilasciare un nuovo aggiornamento con altre funzionalità.
-
Lo scrivo anche qui, in modo da essere più chiaro anche con chi legge il topic.
In anzi tutto spiego esattamente cosa fà.
Per prima cosa, genera una palette di colori, più simile possibile a quella utilizzata dalla risorsa.
L'intensità ovviamente è variabile.P={(r,g,b)∣r,g,b∈L}
In questo esempio, ho impostato dei valori consigliati per il tipo di risorsa
Passaggi Filtro:
Indica quanti colori (ricreati dalla palette) deve raggruppare.
Il processo funziona in modo inverso, quindi:
Maggiore sarà il valore, più colori della risorsa saranno visibili.
Più il valore e basso, più l'algoritmo tenterà di raggruppare i colori.
Mentre il Cluster Strenght, non fà altro che amplificare l'area di gruppo dei pixel.
Maggiore sarà il valore, più elementi saranno pixellati.
Questa funzione, e consigliabile quando si hanno immagini di grandi dimensioni, in modo prima di pixellarle, in seguito eseguire un downscaling.In modo che questa:
Diventi questa
Ovviamente si può giocare come si vuole con i parametri.
Dipende dal risultato che si cerca di ottenere.
L'upscaling ve lo faccio provare in diretta.
includo anche i sorgenti per i più curiosi.
E' una prova che avevo fatto prima di completare tutto nel programma definitivo.
Perché non amo incasinare i progetti.
Faccio prima delle prove in progetti random per osservarne i risultati e come si comporta.
Poi ricompongo tutto nel programma principale.
Questo è un esempio, quindi non è funzionale al 100%, ma fà quello che deve fare in termini di operazione.
Manca la parte più importante ovvero la rimozione del background e l'affino dei bordi. -
Grazie mille lord soprattutto per il tuo supporto.
Ne approfitto per annunciare che anche l'upscaling è completato.
19 hours ago, Lord Sesshoumaru said:Giusto qualche parola per apprezzare questo tool :) un ottimo acquisto :) ma la funzione "ridimensiona" in congiunzione con il pixelizer arriverà?
Si, come già presente (in parte) per l'upscaling che al momento ridimensiona in proporzione ^ 2, ci sarà anche per il pixelizer.A questi due strumenti volevo aggiungere una funzione per un autodetect della risorsa utilizzata.
Un pò come accade per l'editor di chipset per il 2k3.
Nel senso che si carica una risorsa da mz esempio, il tool capisce che è una charaset, quindi oltre a pixellare l'immagine, la ridimensiona in modo che rispetta l'output ( per 2k3, XP, ACE o ) che si disedera.
-
Personalmente stimo molto freank, ma tutto quello che riguarda l'uso delle IA per me è croce nera.
Posso tollerare l'IA unicamente su una cosa.
All'epoca ho dovuto affrontare algoritmi o processi che mi hanno bloccato per più mesi su un progetto, e trovare qualcuno che ne capisse qualcosa era estremamente difficile. Se non provare a chiudere su Stack Overflow ed aspettare qualcuno di buona anima che riuscisse a risolverti il problema.Allora, posso appoggiare l'ia.
Ma non accetto IA Generative, del tipo che si chiede pappa pronta e puff.
Sono sempre stato contro questa filosofia che non è diversa dal vecchio "Copia / Incolla" usato prima che uscissero ste ia.Il problema e che le gente sta prendendo troppo sotto gamba sta cosa e sta sfuggendo di mano.
E spuntano persone dette esperte come funghi, nascosti dietro ad un IA anche per risponderti nel caso gli poni una domanda di programmazione.
Eh si, ho incontrato anche persone del genere.
Che non sanno una virgola di programmazione, gli chiedi una cosa per metterli alla prova, e ti rispondono chiedendola prima l'IA e poi a te.
Cosa veramente pietosa....Dico sempre una cosa ad i miei amici.
Se vuoi fare una cosa, falla, ma con la tua testa e con le tue mani.
Sbaglia ed impara da dove hai sbagliato, riscrivila da capo che sarà ancora migliore.
Solo così sarai fiero di quello che hai fatto ma soprattutto, uno dei principali motivi per cui programmiamo o creiamo giochi,
e proprio quello di divertirci prima ancora noi, per poi far divertire gli altri.
-
non penso sia un problema, ma cmq parte del codice è questo
insomma almeno la parte piu importante
BYTE r1 = (currentPixel >> 16) & 0xFF, g1 = (currentPixel >> 8) & 0xFF, b1 = currentPixel & 0xFF; BYTE r2 = (rightPixel >> 16) & 0xFF, g2 = (rightPixel >> 8) & 0xFF, b2 = rightPixel & 0xFF; BYTE r3 = (bottomPixel >> 16) & 0xFF, g3 = (bottomPixel >> 8) & 0xFF, b3 = bottomPixel & 0xFF; BYTE r4 = (bottomRightPixel >> 16) & 0xFF, g4 = (bottomRightPixel >> 8) & 0xFF, b4 = bottomRightPixel & 0xFF; int red = (1 - fx) * (1 - fy) * r1 + fx * (1 - fy) * r2 + (1 - fx) * fy * r3 + fx * fy * r4; int green = (1 - fx) * (1 - fy) * g1 + fx * (1 - fy) * g2 + (1 - fx) * fy * g3 + fx * fy * g4; int blue = (1 - fx) * (1 - fy) * b1 + fx * (1 - fy) * b2 + (1 - fx) * fy * b3 + fx * fy * b4; //uscitga UINT newPixel = (255 << 24) | (red << 16) | (green << 8) | blue; outputPixels[(y * scaleFactor + dy) * outputStride + (x * scaleFactor + dx)] = newPixel; inputImage->UnlockBits(&inputData); outputImage->UnlockBits(&outputData);
Almeno per quello che riguarda lo smoothing.
Magari, dovrei provare ad alleggerire la parte del nero.
perché sembra troppo netto. -
2 hours ago, Testament said:
E la sfocatura come si comporta ai bordi? Se il contorno del personaggio sfocandosi si amalgama al verde, poi quando il verde viene tolto considerandolo trasparente, non rimane un alone verdastro intorno ai chara?
Si ovviamente essendo una sfumatura, se si sovrappone ad un colore esempio verde, avendo le trasparenze logicamente rimane verde.
Anche se prima di fare ciò, elimino prima il colore di fondo e poi applico le modifiche.Ma questo non è problema.
Magari ho proposto io un esempio sbagliato usando un charaset.
Perché rpgmaker 2k3 accetta solo charaset piccoli mentre io li ho ingranditi nell'esempio.
Fatto sta, che durante l'esportazione, il background viene eliminato.
Di conseguenza lo sfondo rimane trasparente.Quindi avremo il charaset del 2k3 ingrandito, ma senza background.
In modo che gli altri tool della serie li accettano senza problemi.
evitando per l'appunto di intravedere un colore per un'altro nelle trasparenze.Ottenendo alla fine un risultato del genere usando uno scaling * 2
Ovviamente questo è solo un esempio.
Il sistema dovrà essere ulteriormente affinato. -
Uhm ho notato ora.
Eppure ero sicuro di aver seguito i vari template di MZ.Mi era sfuggita la parte per quel che riguarda la possibilità di scegliere da MZ i tiles.
Non sapevo di questa opzione.Ma a tal proposito prima di questa discussione stavo lavorando ad un eventuale filtro proprio per l'upscaling.
Per evitare l'impatto visivo dei pixel(Se noti i dettagli, nella screen "DOPO" i vari colori sono sfumati e non netti e precisi)
Ero impegnato proprio per lavorare a questo problema.
Perché eseguendo un upscaling, si ingrandisce solo l'immagine ma non i dettagli.
Anzi, alcuni vengono pure persi, quindi questo filtro risolveva il problema dell'upscaling.Non è un semplice, "Prendi l'immagine e ingrandiscila". Ma c'è tutto un processo dietro, simile al precedente pixelizer. Ma in questo caso fa l'opposto. Anziché pixellare, ne aumenta i dettagli.
-
Buongiorno ragazzi.
Prima di natale, ho voluto affrettare lo sviluppo per rilasciare almeno l'editor completo di chipset.Chi non ha seguito gli sviluppi, è stato introdotto un filtro molto particolare.
Possiamo definirlo unico nel suo genere.Cosa fa?
Potremmo definirlo un interpolazione lineare invertita.
Anche se c'è molto di più dietro le quinte.Trasforma un'immagine di alta qualità in una pixellata.
Ad esempio:
oppure un intero tileset
Il filtro ovviamente ha piu effetto su immagini di alta qualità.
I passaggi, servono ad indicare quanto preciso deve essere il filtro.
Meno passaggi farà, più pixel saranno visibili.
C'è appunto il preview per capire quale risultato vogliamo ottenere.
Attualmente ho impostato un limite di 15 passaggi.
Anche se non sembra è un calcolo enorme.Prendiamo come esempio questo tile.
che mi sura 768 x 576 sono un totale di 442.368 pixel * Passaggi
Presumiamo 15 ( 442.368 * 15 ) = 6.635.520Quindi l'algoritmo eseguirà un controllo di 6.635.520 pixel in meno di 5 secondi. 😅
Oltre ovviamente a quello che deve fare per renderli pixellosi.
Quindi c'è un bel lavorone dietro.Oltre a questo, la vera chicca e l'editor.
Un convertitore di risorse in tempo reale da piazzare direttamente sul template.Senza fare molte chiacchiere vi mostro direttamente il video di presentazione spero che vi piaccia.
-
sera riprendo il topic per ancora qualche problema di posizionamento.
Ho fatto diversi tentativi anche allungando l'acqua più del dovuto ma ancora ci sono dei strani problemi.
Magari sono piazziati male.
posiziono esempio i due elementi di MZ.
Ma al caricamento del chipset:
Entrambi allungati seguendo il template ma il risultato non è quello che volevo
il primo lo taglia bene, il secondo ha qualcosa che non và.
sbaglio a posizionare gli elementi nel template? -
2 hours ago, Lord Sesshoumaru said:
Basta basta mi hai convinto!
in che senso? XD
Cmq ho fatto dei tentativi, ampliando l'algoritmo con qualche parametro in più.
Avevo stabilito dei passaggi fissi da fare invece ho aggiunto un ulteriore processo per livelli di profondità e passaggi sui colori.
Piu il numero è alto piu tempo impiega per il calcolo ma ovviamente maggiore sarà la qualità.
Alcuni test
Mostro i più significanti
Questa è quella che preferisco di più.
8^255 passaggi.
Anche se è codice nativo, impiega qualche secondo.
Mentre per gli altri e quasi istantaneo.
Da notare l'armatura sulla spalla.
Effetto veramente molto carino e pixelloso.
-
10 hours ago, Lord Sesshoumaru said:
Grazie - ma deve essere per forza tra risorse maker? Non può convertire che so, una immagine, se non altro per vedere come funziona la conversione palette?
In teoria e nato per quello, ma ovviamente si. Si può adattare anziché esportare solo una semplice risorsa, adattare ad una più grande. Ma più colori ha, più ne perdi giustamente.
Su quei asset gira bene perché non ci sono sfumature molto elaborate.
O Meglio, le risorse tendono ad avere una certa affinità ma non molto distanti tra loro.Un esempio è:
Convertire una foto.
Si avrebbe un output orrendo.
Non perché l'algoritmo non funzioni. Ma vista la foto che ha un infinità di sfumature e colori.
La tavolozza è solo di 256 colori, puoi immaginare da solo cosa ne uscirebbe fuori.Certo, il mio metodo usa un'attenzione maggiore ai colori, al passaggio tra un colore ed un altro seguendo un preciso schema. Ma ad esempio convertire una foto di una persone in stile retro pixel penso sia molto più complicato di quando sembri.
Impossibile no. Ma servirebbero ulteriori passaggi ed algoritmi.
Ad esempio:
1° Filtro Pop Art
2° Pixelizer
3° ConversioneGiusto un ipotesi.
Poi sarebbe da vedere il risultato e migliorare le varie parti.
Perché ogni algoritmo è a sè, andrebbe ritoccato per ciò che serve. -
Ecco qui
Rpgmaker Asset Converter & UI Tool by Making Italia
Attualmente è ancora in fase di sviluppo.
Ma ci sono aggiornamenti costanti e regolari -
On 10/31/2024 at 9:46 AM, Louie said:
Conversione davvero notevole, avevo visto degli aggiornamenti su itch. Sempre al lavoro su questo bel progetto!
Grazie Luoie 😊 ormai sono in tanti che supportano il progetto.
Sinceramente non immaginavo nemmeno di riuscire ad arrivare ad un risultato del genere.
Quindi continuerò a scrivere codice ed implementare nuove funzionalità.On 10/31/2024 at 3:41 PM, Lord Sesshoumaru said:Per curiosità, quale algoritmo?
E' più di un algoritmo. ci sono diversi passaggi e diverse funzioni per ottenere quel risultato.
Per ovvie ragioni non posso scriverlo, visto che comunque è una funzione che alcune persone hanno pagato per poterla usare in seguito nel programma.
Posso semplicemente dire che degli algoritmi presenti, sono quelli del Median cut ed il color quantization.
Usando in seguito funzioni come interpolazioni bilineari ecc. Ma la parte fondamentale e la creazione della tavolozza rgb partendo della caratteristiche dell'immagine
data come input.
Senza quella, i colori cmq verrebbero generati un pò come quelli nella screen superiore o a casaccio.
Ben lontani dallo stile retro nettamente visibile e conforme alla caratteristiche di rpgmaker 2k3 o vecchio stile pixel.
-
23 hours ago, Lord Sesshoumaru said:
beh sicuramente è molto più pulito come aspetto!
Questo sicuro, non è una classica conversione da 16 a 8 bit.
Perché una conversione classica non otterresti quel risultato ma questo.
Conversione comune:
Conversione tramite algoritmo
-
Quello sotto.
Quello in alto e la conversione da MZ a 2k3
-
-
In realtà stavo proprio cercando di sviluppare un qualcosa del genere.
Non so dirti se riscirò nell'impresa o tanto meno se e fattibile, ma ho una mezza idea di come potrei fare.
Quello che intendi te, e definita anche come la saturazione dei colori.
Quelli dei moderni Rpgmaker, sono esattamente come dici.
Più morbidi, più affusolati e con diverse sfumature.Per ottenere ciò si dovrebbe quantizzare l'immagine ed applicare una sorta di filtro di saturazione per i colori.
In una matrice[256] 8 bit di colori esempio, raggruppare quelli più simili ad un colore primario per poi farne la divisione della tavolozza disponibile.
Prendere ogni singolo pixel, ottenere il colore e moltiplicare i valori R G B per renderli più vivi insomma più retro.
Almeno questo e quello che avevo pensato. -
2 hours ago, Guardian of Irael said:
Maledetti puntatori, il professore di C diceva sempre che erano complessi, ma che in compenso la maggior parte degli errori dipendesse da essi, quindi si sapeva dove andare a cercare. E io pensavo sempre che gli altri tipi di errori rimanessero, semplicemente si aggiungevano pure quelli dei puntantori! XD
haha come dargli torto! XD
Basta una inizializzazione non corretta di un oggetto per avere un crash.
Molte delle volte purtroppo non riesco nemmeno a comprendere il perché succeda, ma succede >_-
E cosa piu strana, 10 volte và, 2 volte no. Sicuramente è un errore della memoria gestita in modo errata. Purtroppo non sono un ingegnere della nasa ma appassionato della programmazione XDUn problema che sto affrontando ora e che l'immagine selezionata di un anonimo tile le prende e la mostra correttamente, ma quando la invio dalla finestra al comparto rendering ho un null exception.
E sta cosa mi sta facendo sbroccare perché se la mostra non è null invece passandola ad un'altra classe, qualcosa si perde per strada.
"Maledetto GPS" cit. -
Giorno amici e da tanto che non ci sentivamo.
Di tanto in tanto porto nuovità per chi magari non segue il progetto.Riguardo al generatore di script, ho deciso di eliminare ogni singolo blocco evento ed aggiungerne solo uno.
Apparirà come in foto
Basta semplicemente fare un doppio click sul Modulo per avere una schermata simile a quella di Rpgmaker per inserire eventi di manipolazione come Cambia Switch, Cambia Variabile, Modifica Oro, Oggetti, Salute ecc. ecc.
Per quanto riguarda il reparto Tileset.
Sto iniziando da poco a progettare L'editor avanzato.
Che sarà disponibile sempre unicamente nella versione completa.
In questo esempio si tratta dell'editor di Rpgmaker 2000/3
Ci permette in pratica di usare qualsiasi elemento grafico di qualsiasi set aperto ( Autotile, A,B,C,D) ecc.La parte sinistra contiene gli elementi caricati nell'editor.
A destra sono gli elementi Ancorati.
Facendo un doppio click sull'elemento a sinistra si aprirà una finestra come quella posizionata al centro, in seguito, si può ancorare a destra o dove si vuole.
Contemporaneamente su tutte le finestre grafiche aperte, e possibile selezionare uno o piu elementi da tenere in memoria per poi andare a posizionare l'elemento sul template che sarà il risultato finale.Il programma capirà in automatico di che risorsa si tratta se di XP, VX o MV /MZ.
per poi adattare il contenuto per il template scelto.
Per ora procede benone, Ho solo un piccolo problemino con il passaggio dei dati tramite puntatori ma, i problemi sono fatti per essere risolti.
Certo, richiederà un pò di tempo prima di essere funzionale al 100% ma il funzionamento sarà come citato.
Spero vi piaccia la news e di come procede il progetto.
Soprattutto ringrazio a chi sta sostenendo il progetto per la cifra irrisoria.


Mire Engine
in Supporto (programmi, linguaggi o software)
Posted
Riprendo anche questo questo e questo topic.
Per chi si ricorda di Mire, è un progetto su cui ho veramente lavorato per tantissimi anni.
Avevo abbandonato il progetto principalmente per due motivi.
1° community assente.
Seppure molto scaricato, conosciuto e visualizzato sul web, poche persone effettivamente si interessavano al progetto.
Magari, proprio perché pieno di bug, crash all'avvio senza motivo.
o perché era fortemente legato a windows.
2° Risorse
Nonostante abbia tentato di chiedere a grafici di contribuire anche per una piccola parte alla realizzazione di risorse per Mire, questo era un punto di blocco forte per il motore stesso.
Non potendo usare risorse grafiche dal web, non avendo una propria libreria, Un tool senza risorse risulta praticamente inutile.
Con l'avvento del cambio di licenza da parte di degica e co, Che hanno reso le loro risorse utilizzabili su diversi motori e non più legati a rpgmaker, ho finalmente potuto riprendere il progetto.
Rispolverando il sorgente però era stra-pieno di problemi.
Senza contare le librerie ormai obsolete e non più compatibili sui sistemi moderni.
Ho dunque riscritto l'editor e l'engine.
La maggior parte delle funzioni dell'engine le ho recuperate e ri-utilizzate.
Anche perché riscrivere da 0 tutto quello che c'è dietro al motore è un impresa. Senza contare l'interprete interno (è quello il vero cuore).
ed ecco le vere e sostanziali modifiche
1) Riscritto completamente L'editor da C# a C++
L'editor in precedenza era stato pensato in C#.
Per comodità e facilità di sviluppo, ma meno portatile e meno potente.
Ora l'editor è multipiattaforma, compreso l'engine stesso.
Sia L'editor che L'engine funzionano su qualsiasi sistema operativo.
Entrambi fanno uso delle OpenGL.
Dal vecchio editor:
Al nuovo Editor:
Cosa è cambiato rispetto al vecchio Mire?
Riscritte e riadattate le Luci per compatibilità da HLSL a GLSL
Il motore si appoggia principalmente su SDL.
Partiamo dal linguaggio di scripting.
Javascript ES6:
Mire supporta javascript standard ES6.
Migliorato l'interprete ed aggiunto oggetti nativi.
ad esempio:
Bloom: Aggiunto l'effetto Bloom che in anni passati era in test se non erro avevo postato già qualche screen molti anni fà, in caso contrario
ecco la combinazione DeferredLight + Bloom
Baked ShadowMap: Tramite un algoritmo di raycast, vengono calcolati oggetti che entrano in contatto con la direzione della luce creando relativamente delle zone ombra visibili a runtime.
Eventi Amtosferici:
Nuova modalità di Eventi:
In precedenza, era gestito via nodi.
Ma visualizzando uno script enorme, diventava tutto confusionario.
Quindi ho deciso di passare ad una modalità diversa utilizzando delle TAB stilizzate
Per il resto, spero che questa sia la volta buona per completare definitivamente l'engine.