Chiedo scusa per aver trascurato così a lungo il popolo italico a cui io appartengo
Ora vi aggiorno sullo stato dei lavori. Per prima cosa, abbiamo (quasi) fissato una data di rilascio della prima beta pubblica, che sarà quest'anno.
Passiamo ora alle novità "succose"
- Il team degli sviluppatori si è allargato e ora siamo in 4: oltre a me, ci sono anche TRTombLevBauer, Lwmte e stohrendorf. Oltre a loro ci sono tante altre persone, alcune italiane, che collaborano testando, suggerendo, realizzando modelli 3D da provare e altre utilissime cose.
- L'interfaccia è stata notevolmente migliorata, rendendola completamente ridimensionabile e basata su pannelli dockable che possono essere spostati o raggruppati in tabs, come Visual Studio per chi lo conoscesse.
- Le prestazioni sono state notevolmente migliorate grazie alla fine ottimizzazione degli algoritmi e all'uso massiccio dei processori multicore. Tanto per intenderci, sul mio Intel Core i5 (quad core), i livelli stock si compilano in un tempo variabile tra 0,9 e 1,5 secondi. Anche il motore grafico può renderizzare più stanze di prima.
- L'importazione dei file PRJ è diventata notevolmente accurata. Non mi sbilancio a dire che è al 100%, ma posso dire che ci siamo estremamente vicini. A causa dei punti oscuri nel file format PRJ, ci sono voluti 9 mesi di tempo.
- Grazie alla decompilazione, sono riuscito a ricreare luci molto accurate e anche i dati per l'IA dei nemici (box, overlaps, zones).
- Abbiamo aggiunto un gizmo per muovere tutti gli oggetti dentro ai livelli: basta combinazioni di tasti assurde. Aggiungeremo presto anche rotazione e scaling.
- Abbiamo aggiunto l'importazione (e a breve, dopo il bug fix, l'esportazione) di geometria da file esterni. Abbiamo utilizzato come libreria Assimp, che può importare praticamente di tutto (guardate qui i formati supportati: http://assimp.sourceforge.net/main_features_formats.html.
- TRTombLevBauer si è fatto un mazzo tanto e ha convertito tutto il sistema di texturing ad un sistema completamente UV based. Si possono aggiungere texture di ogni forma, anche trapezi!! Basta distorsioni.
- Ho realizzato un nuovo formato per i WAD, chiamato con molta fantasia Wad2. Questo nuovo formato supporta mesh completamente UV based, importazione di static mesh da file esterni (sempre tramite Assimp, anche esportazione nel prossimo futuro), gestione più avanzata dei suoni, gestione migliorata delle risorse (texture, sprite, mesh, suoni).
- Un nuovo sistema di suoni. Attualmente, la soundmap è di 370 suoni ma in realtà nei livelli non ne troverete pià di 150-160 molto spesso. Tutto il resto è spazio sprecato, oltre ai vari conflitti che sorgono nell'importare oggetti che sovrascrivono alcuni suoni. Quindi noi abbiamo fissato 100 suoni circa che sono "obbligatori" e che devono stare al loro posto, ma tutti gli altri vengono aggiunti alla soundmap dinamicamente, nel primo slot libero. In pratica, basta sounds.txt. Ogni Wad2 avrà i suoi suoni, i suoi wav, anche diversi da Wad2 a Wad2, potrete anche assegnare in ogni Wad2 nomi personalizzati ai suoni. Tutto verrà rimappato accuratamente dal nostro codice.
- Un nuovo tool, denominato (anche qui con molta fantasia) Wad Tool, che servirà a gestire i nuovi Wad2: attualmente è in grado di copiare, cancellare oggetti, aggiungere sprite e sequenze, importare e gestire i suoni, convertire WAD -> Wad2, importare mesh da file esterni (vedi Assimp) come static meshes. Sto per iniziare uno static mesh editor, dove potrete importare nuove mesh, scalarle, ruotare, muovere il centro, ricalcolare i box collisionali e modificare anche l'illuminazione. Più tante altre cose che ho in mente.
- Abbiamo aggiunto le prime features NG, ovvero i flags delle stanze (pioggia, gas, eccetera) e i flags nelle static meshes. Appena Paolone mi manderà il resto del materiale continueremo con l'aggiunta dei triggers.
- Abbiamo inserito tante piccole features utili, come una linea bianca che dall'oggetto va al pavimento per misurare la distanza dal pavimento, stringhe di debug sotto gli oggetti selezionati e altre piccole cose.
- Ho aggiunto un nuovo tipo di settore chiamato "Non walkable floor". A differenza del box grigio, questo tiene veramente al di fuori (o al di dentro) i nemici.
- La mappa 2D è stata completamente rivoluzionata: ora le stanze vengono disegnate con vari livelli di trasparenza alpha in base alla profondità, in modo da vedere le stanze che stanno sotto le altre, poi c'è lo zoom, il pan, le sonde verticali (cliccate con la rotellina in un punto e a destra apparirà una height bar con le varie stanze viste di profilo e non dall'alto).
- Abbiamo aggiunto una nuova finestra di opzioni dove potrete impostare un sacco di parametri (path dei suoni, path del gioco, altri path, file con i font, file con il cielo, i modelli 3D importati per le stanze e molto altro).
Gli sviluppatori apprezzeranno sicuramente il fatto che stiamo mettendo tantissimo codice in una DLL che può essere aggiunta a progetti C# o VB.NET. Il codice in comune comprende le classi per gestire i Prj2 e i Wad2, lettura e scrittura degli stessi, codice per il rendering, codice per gestire i Wad2 (copia, cancellazione oggetti, aggiunta e rimozione risorse, eccetera). Vogliamo che anche lo sviluppo di nuovi tool di terze parti sia più agevole per tutti.
Vi lascio con alcune immagini
Guest Reviewer (5)