18/09/2026

Current Status

Progetto: RUSTWAKE

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.