Current Status
Di SRADRAVEN
RUSTWAKE — DEV LOG COMPLETO Stato attuale
Versione di riferimento: v4.10.1_MAIN_MENU_VISUAL_FIX
RustWake è passato da prototipo arena pieno di asset statici a una struttura molto più precisa:
Roguelite top-down → Bodycraft modulare → combattimento a ondate → wreck/salvage generato dai nemici → scelta componenti → stazione → modifica build → settore successivo.
Il progetto non è ancora in fase content-complete, ma il nucleo di gameplay e la direzione visiva sono ormai molto più definiti.
1. Fondamenta tecniche e pulizia della build
All'inizio il progetto era diventato molto pesante per via di asset originali enormi, WAV, versioni storiche e materiale di sviluppo incluso nella cartella runtime.
È stato fatto un primo grosso pass di produzione:
conversione della musica da WAV a OGG; riduzione delle immagini ambientali troppo grandi; asset principali portati a dimensioni runtime più ragionevoli; eliminazione dalla build di vecchi test, audit e materiale non necessario; creazione di versioni portable complete più leggere; separazione tra build completa e patch incrementali; introduzione di documenti NEXT_CHAT_HANDOFF per mantenere continuità tra sessioni.
Da quel momento ogni grossa versione ha iniziato ad avere una build completa e, quando utile, una patch separata.
2. Prima fase: arena ricca di oggetti fisici
La prima direzione di RustWake prevedeva molti oggetti fisici nell'arena.
Sono stati creati e integrati molti asset ambientali:
veicoli distrutti; convogli; gru; checkpoint; radar; fabbriche; fonderie; reattori; torri di comunicazione; rovine; installazioni militari; laboratori; strutture biomeccaniche; landmark specifici dei cinque settori.
I cinque settori erano:
SCRAP → FOUNDRY → NETWORK → WAR → CORE
Gli asset non erano solo immagini. Molti sono stati collegati a:
collisione; HP; danni da proiettile; RAM; esplosioni; distruzione; rubble; drop; hazard.
È stata inoltre creata una distribuzione procedurale differente per settore.
3. Grounding e rimozione dei fake prop
Il problema maggiore di quella direzione è emerso visivamente.
Gli oggetti sembravano spesso:
incollati sull'asfalto; appartenenti a stili diversi; troppo grandi; troppo decorativi; ambigui rispetto a ciò che aveva collisione.
Sono quindi stati fatti diversi cleanup pass.
Sono stati eliminati dal renderer molti falsi oggetti decorativi come:
scrap pile casuali; spool; cavi; barricades puramente decorative; piccoli prop senza funzione.
Sono rimaste principalmente decal realmente compatibili con il pavimento:
crepe; olio; skid; usura; bruciature.
È stato inoltre aumentato il grounding con:
contact shadow; dust blend; tint ambientale; ombre più forti; footprint più coerenti.
Nonostante questo, alcuni asset continuavano a degradare l'immagine generale.
4. Pivot fondamentale: Enemy-Driven Arena
Questa è probabilmente la decisione di design più importante presa finora.
Dopo aver analizzato matematicamente il valore degli ostacoli, si è deciso di eliminare gli ostacoli ambientali statici dal cuore dell'arena.
La nuova filosofia è:
L'arena non è piena di rottami prima della battaglia. È la battaglia a creare i rottami.
La funzione prima svolta dagli ostacoli è stata trasferita ai nemici.
Nuova struttura:
arena pulita → spawn nemici → combattimento → nemici distrutti → carcasse → salvage → arena trasformata dalla battaglia
5. Ribilanciamento matematico dell'Enemy-Driven Arena
La rimozione degli ostacoli non è stata fatta semplicemente cancellandoli.
È stato calcolato il loro contributo a:
pressione spaziale; scrap; materiali; cover; wreck; hazard.
La nuova curva nemica è stata impostata indicativamente così:
SCRAP: +22% FOUNDRY: +18% NETWORK: +12% WAR: +8% CORE: +5%
Il pool nemici è stato portato da circa:
40 → 48
Le probabilità di wreck sono state aumentate:
normali: 30% → 45% heavy: 72% → 85% boss: 100%
È stato creato anche un Enemy Salvage Budget per sostituire l'economia precedentemente generata dalle strutture.
Target:
wave normale: circa 26 scrap boss wave: circa 30 scrap
Questo ha permesso di conservare l'economia roguelite senza tornare agli ostacoli statici.
6. Wreck e cannibalizzazione diventano centrali
I wreck nemici non sono più soltanto decorazione.
Il sistema permette già di usare carcasse per ottenere:
scrap; riparazione; refrigerante; recupero; economia della run.
La direzione futura è rendere questa meccanica ancora più centrale.
Il campo di battaglia deve raccontare ciò che è successo.
Un'arena all'inizio pulita può diventare progressivamente piena di:
wreck; detriti; scorch; cadaveri meccanici; salvage. 7. Torrette: redesign completo
Le vecchie torrette sono state uno dei problemi più lunghi del progetto.
Le prime versioni:
non erano coerenti con RustWake; sembravano prese da un altro gioco; avevano scale sbagliate; erano troppo poco leggibili; alcune modifiche avevano perfino introdotto regressioni nel boot.
Dopo vari rollback è stata adottata una regola importante:
le animazioni visuali non devono modificare la logica di DeployableManager.
Le torrette finali hanno iniziato a seguire lo stesso principio dei nemici e degli chassis:
sprite top-down authored + rotazione continua verso il target.
Sono state create due famiglie separate.
Torretta balistica
Ha:
tracking; rotazione continua; recoil; muzzle flash; casing/bossolo; spark; fumo; canna leggibile; silhouette fisica. Torretta energetica
Ha:
core pulsante; charge; sparks; ring energetico; impulse; arc; chain arc; dissipazione post-sparo.
Successivamente è stata migliorata la leggibilità aumentando moderatamente scala e footprint.
8. Collisioni fisiche delle torrette
In origine il Bodycraft poteva attraversare le torrette piazzate.
È stato corretto.
Attualmente:
balistica: circa 28 px di collision radius energetica: circa 26 px
Il player ora collide realmente con le torrette.
È stato aggiunto anche il controllo:
TROPPO VICINO AL BODYCRAFT
per impedire di piazzare una torretta direttamente sotto il giocatore.
Mine e bomb rimangono invece attraversabili.
9. Deployable Selector HUD
Un altro problema importante era che usando controller non risultava chiaro quale deployable fosse selezionato.
È stato quindi aggiunto un HUD persistente con:
IN CANNA
e informazioni su:
nome del deployable; icona; costo; stato; scrap sufficiente/non sufficiente; slot disponibili; intero ciclo dei deployable.
Il ciclo attuale mostra:
TUR → MINA → BOMBA → ARC
Il sistema visualizza anche i binding effettivi del controller.
Quando il giocatore cambia dispositivo compare un feedback più evidente.
Esempio:
IN CANNA // BOMBA DEMOLIZIONE // 20 ROTTAMI // PRONTO
10. Splash screen SRADRAVEN
È stata introdotta una schermata iniziale brandizzata prima del menu.
Le prime implementazioni hanno avuto problemi:
schermata nera; mancato redraw; input catturato dal menu sottostante.
Dopo diversi fix, la splash è stata trasformata in un overlay indipendente sopra il menu già inizializzato.
Il concetto corretto è:
boot gioco → menu costruito → CanvasLayer splash → pressione input → splash rimossa → menu già pronto sotto
Questo evita di alterare lo state machine del menu.
La splash usa branding SRADRAVEN e input da:
controller; tastiera; mouse. 11. Reward di fine wave: ritorno alle 3 carte
Durante il pivot enemy-driven, i componenti principali erano finiti accidentalmente sui nemici carrier.
Questo causava un problema:
se un componente veniva già recuperato durante la wave, il gioco considerava la ricompensa risolta e saltava la classica scelta delle tre carte.
È stato ripristinato il loop corretto:
COMBAT ↓ FINE WAVE ↓ 3 CARTE COMPONENTE ↓ SCEGLI 1 ↓ MONTA / TIENI ↓ STAZIONE ↓ WAVE SUCCESSIVA
Le ricompense principali non vengono più consumate dai nemici.
Per i boss rimane invece il sistema speciale di estrazione modulo.
12. Main menu: separazione tra gioco e configurazione
Il menu precedente mostrava troppe decisioni contemporaneamente:
modalità; chassis; protocollo; campagna; tutorial; classifica; crediti; opzioni.
Il risultato era poco leggibile.
È stata quindi iniziata una nuova gerarchia.
Il menu principale deve ora comunicare principalmente:
CONTINUA CAMPAGNA
NUOVA CAMPAGNA
ENDLESS
e poi, come contenuti secondari:
TUTORIAL
GUIDA
CLASSIFICA
CREDITI
OPZIONI
ESCI
13. Nuova Campagna
Le decisioni importanti non devono più essere sparse tra più pagine o mischiate nel menu principale.
La schermata NUOVA CAMPAGNA concentra:
CHASSIS
PILOTA
CONTROLLO
PROTOCOLLO
e infine:
AVVIA CAMPAGNA
La parte destra mostra il Bodycraft risultante e il profilo del pilota.
Questa struttura è molto più coerente con un roguelite.
14. Continue Campaign e checkpoint roguelite
È stato introdotto un sistema di checkpoint per permettere una vera CONTINUA CAMPAGNA.
Il checkpoint viene salvato in fase sicura.
Conserva elementi come:
wave; settore; scrap; heat; chassis; pilota; protocollo; modalità di controllo; componenti montati; inventario; integrità dei componenti; cimeli; route modifiers; contatori principali della run.
Se la run termina, il checkpoint viene cancellato.
Se il giocatore avvia una nuova campagna, il precedente checkpoint viene sostituito.
15. Branding e menu visual
È stato introdotto il nuovo logo RustWake basato sull'identità visiva richiesta:
metallo bianco; ruggine/arancio; nero; cyan energetico; industria post-apocalittica.
È stato inoltre creato un background menu basato sull'art/banner RustWake.
La v4.10.1 ha corretto diversi problemi della prima iterazione:
background troppo neutro/beige; logo enorme; elementi visivi sovrapposti; vecchi testi rimasti sotto il nuovo layout; pulsanti troncati; gerarchia debole.
Il menu corrente è ancora da considerare in fase di polishing, non definitivo.
16. Font
È stata migliorata la resa del font già presente usando:
dimensione dedicata; tracking; outline; gerarchie più marcate.
Non è ancora stato introdotto un nuovo font industriale definitivo.
Questo è ancora un punto aperto.
ROADMAP RUSTWAKE P0 — Stabilizzazione
Obiettivo immediato: smettere di aggiungere sistemi finché il loop attuale non è completamente stabile.
Da verificare:
boot; splash; menu; nuova campagna; continua campagna; checkpoint; wave 1–30; reward 3 carte; station; boss; endless; salvataggi; controller.
Definition of Done: una run completa può essere giocata senza bug bloccanti.
P1 — Main Menu definitivo
La v4.10.1 è un passo intermedio.
Da completare:
composizione menu finale; vero font industriale/licenziato; logo definitivo; animazioni menu leggere; focus controller più evidente; transizioni; continue card più leggibile; nuova campagna più scenografica; preview chassis e pilota più grande.
Definition of Done: entrando nel gioco si capisce in meno di 3 secondi come iniziare o continuare una run.
P2 — Run Loop definitivo
Il loop core deve diventare inattaccabile:
menu → nuova campagna → wave → reward → station → route → wave successiva
Da testare:
reward 3 carte sempre presente; nessuna ricompensa persa; station sempre accessibile; route non saltabili; checkpoint sempre coerente.
Definition of Done: nessuna fase della run può essere saltata accidentalmente.
P3 — Combat Feel
Con l'arena più pulita, ora possiamo concentrarci davvero sul combattimento.
Da migliorare:
hit stop; recoil; esplosioni; enemy death feedback; wreck spawn; screen shake controllato; impatto RAM; muzzle flash; leggibilità proiettili; sound design.
Target:
RustWake deve sembrare pesante, meccanico e violento.
P4 — Enemy roster
Ora che gli ostacoli statici non sono più il focus, i nemici devono portare la varietà.
Da sviluppare meglio:
swarm; ranged; tank; charger; artillery; support; jammer; repair unit; suicide/explosive; elite variants.
Ogni settore deve avere una firma nemica distinta.
P5 — Wreck / Salvage 2.0
Il sistema wreck può diventare uno dei tratti distintivi del gioco.
Roadmap:
light wreck; medium wreck; heavy wreck; boss wreck; wreck instabile; wreck energetico; salvage componenti; salvage refrigerante; salvage scrap; carcasse cannibalizzabili; carcasse che diventano temporaneamente cover.
L'arena deve cambiare durante la battaglia.
P6 — Chassis identity
Ogni chassis deve cambiare realmente il modo di giocare.
Non solo numeri.
Esempi:
SCRAPPER salvage / economia.
BULLDOZER RAM / armor.
SIGNAL deployable / controllo.
FOUNDRY calore / overdrive.
ENGINEER utility / repair.
WRAITH mobilità / precisione.
Obiettivo: il giocatore deve riconoscere lo chassis anche senza leggere le statistiche.
P7 — Piloti
I piloti devono essere un secondo layer roguelite sopra lo chassis.
Ogni pilota dovrebbe avere:
identità; portrait; passive; vantaggio principale; svantaggio; sinergie chassis; unlock condition.
La combinazione:
Pilota + Chassis + Componenti
deve generare build molto diverse.
P8 — Componenti e build diversity
Il sistema componenti è centrale.
Da espandere:
più armi; moduli termici; sensori; reactor/core; processor; mobility; armor; utility; pezzi boss; anomalous tech.
Obiettivo:
nessuna run deve avere sempre la stessa build ottimale.
P9 — Boss
Ogni settore deve avere un boss realmente riconoscibile.
Boss roadmap:
SCRAP: macchina assemblata da relitti FOUNDRY: forge engine / molten machine NETWORK: autonomous signal intelligence WAR: siege platform CORE: machine core / apex entity
Ogni boss dovrebbe lasciare:
wreck unico; modulo boss; VFX specifici; musica/beat dedicato. P10 — Settori
Ora che non servono più centinaia di ostacoli, l'identità dei settori può essere costruita con elementi più controllati:
pavimento; illuminazione; color grading; background; VFX; nemici; audio; hazard; UI accent; boss.
Questo è molto più sostenibile rispetto a creare 100 oggetti statici.
P11 — Audio
Serve un vero pass sonoro.
Focus:
motore Bodycraft; armi; impatti; ricochet; cannon; energy weapons; turret servo; electric charge; RAM; wreck; salvage; UI; boss warning; music transitions.
L'audio può fare moltissimo per alzare il valore percepito senza appesantire la grafica.
P12 — VFX
Creare una libreria coerente RustWake per:
sparks; smoke; fire; plasma; electricity; explosions; debris; dust; coolant; heat; salvage; boss effects.
Importante: niente VFX che sembrano provenire da stili differenti.
P13 — UI / UX completa
Dopo il menu:
HUD combat; deployable HUD; station; reward cards; route choice; boss reward; inventory; guide; leaderboard; results screen.
Tutte devono condividere:
font; palette; bordi; icone; spacing; gerarchia. P14 — Meta progression
Rafforzare:
chassis unlock; pilot unlock; protocol unlock; achievements; records; progression profile; eventuale codex.
Ma senza trasformare RustWake in un grind permanente.
Il cuore deve rimanere la run.
P15 — Endless
Dopo wave 30:
scaling; Apex waves; mutators; anomalous tech; escalating enemy mixes; boss remix; leaderboard separata.
Endless deve diventare il test definitivo delle build.
P16 — Performance e QA
Prima della release:
profiling; enemy pooling; projectile pooling; wreck cap; debris cap; audio voice cap; memory; controller regression; resolution tests; 16:9; window/fullscreen; salvataggi corrotti; crash recovery.
Target: frame time stabile anche nelle wave più dense.
