VOID LANCE 1.1 — space shooter procedurale, ora in Flatpak

È online VOID LANCE, uno space shooter arcade a scorrimento verticale scritto in C++20 con Qt6 e OpenGL. Non c’è un solo file di grafica o di audio: nebulose, sagome dei nemici, esplosioni, musica ed effetti nascono a runtime, dallo shader o dal sintetizzatore.

Combattimento in VOID LANCE: nemici a stella e proiettili sopra una nebulosa procedurale

Cosa c’è dentro

  • 12 mondi × 10 settori, ognuno con nome, tinta, sagoma dei nemici e armi proprie. Le silhouette sono stelle a N punte (da 3 a 12) costruite nel fragment shader, non sprite disegnati a mano.
  • Tre astronavi con velocità, cadenza di fuoco, numero di canne e danno diversi: LANCE (equilibrata), VIPER (intercettore), BULWARK (corazzata).
  • Boss al quinto e al decimo settore di ogni mondo: bracci rotanti, ventaglio mirato, anelli di proiettili.
  • Arsenale guadagnato combattendo: dal secondo mondo missili guidati e bombe. Si parte con due missili e una bomba, poi ogni sei nemici distrutti arriva una munizione garantita, alternando missile e bomba; i boss ne lasciano sempre una per tipo.
  • Audio sintetizzato: quindici effetti e quattro strumenti in DSP a 48 kHz, mixer a 64 voci, musica su quattro battute in tre atmosfere.
  • Progressi salvati a ogni settore, pausa compresa, con ripresa dal titolo.

Boss con barra di vita e anelli rotanti

Come provarlo

Il gioco è distribuito come pacchetto Flatpak per Linux x86_64: meno di 200 kB, perché Qt arriva dal runtime KDE e non è incluso. Serve una GPU con OpenGL 3.3 core; su hardware più vecchio parte il percorso di compatibilità GLSL 120 (OpenGL 2.1).

flatpak install --user flathub org.kde.Platform//6.10
flatpak install --user ./VoidLance-1.1-x86_64.flatpak
flatpak run it.pseudocodice.VoidLance

Il pacchetto si scarica dalla pagina del gioco, dove ci sono schermate, comandi e requisiti, oppure dalla release su GitHub.

Comandi essenziali

Mouse / WASD pilota la nave (fuoco automatico)
V / B missile guidato / bomba, dal secondo mondo
P / Esc pausa, con menu: riprendi o torna al menu principale
pannello missione: salta a un mondo e settore qualsiasi

Come è fatto

Tre strati con contratti stretti: una simulazione pura che non conosce né Qt né OpenGL, una traduzione stato → istanze grafiche fatta di funzioni pure, un renderer che non sa nulla del gameplay. L’audio non ha thread propri: il mixer riempie i buffer che QAudioSink richiede in pull mode. Le catture che si vedono qui sono generate dal gioco con passo fisso e seed costante: nessuno screenshot ritoccato a mano.

Codice sorgente: github.com/4n-0n/void_lance.
Pagina del gioco: pseudocodice.it/void_vance.

Condividi X

Void Lance

Autore dell'annuncio di VOID LANCE.

Lascia un commento

La tua email non sarà pubblicata. I campi obbligatori sono contrassegnati.