Rocket Roadster è un progetto di gioco iOS completo e costruibile: un gioco arcade in pixel-art a un tocco scritto in Swift + SpriteKit. Una roadster rosso ciliegia vola su propulsori a gas freddo e si infiltra tra razzi torreggianti, salendo attraverso cinque mondi in pixel-art: Terra, Tramonto, Notte, Luna e Marte.
Tutta l'arte è pixel art procedurale generata in codice, e tutta la musica e gli effetti sonori sono sintetizzati dal gioco stesso. Non ci sono asset di immagini o audio esterni e nessuna dipendenza di terze parti, quindi puoi aprirlo, compilarlo e iniziare a personalizzarlo.

Come si gioca

- Tocca per attivare i propulsori, evita i razzi e non toccare il suolo.
- Ogni 10 punti avanzi di livello: Terra, Tramonto, Notte, Luna, Marte. Dal livello 3 alcuni razzi si muovono su e giù, e sulla Luna e su Marte i razzi utilizzano la skin per carichi pesanti.
- Medaglie a 10, 20, 30 e 40 punti, un punteggio migliore salvato e un pulsante di condivisione nella schermata di fine gioco.
- Pausa dal pulsante in alto a destra (il gioco si mette in pausa anche quando l'app va in background), con un conto alla rovescia 3-2-1 al ripristino.


Cinque mondi, cinque aspetti
Ogni mondo ha il proprio cielo, sfondo parallax e terreno, tutti disegnati proceduralmente in tempo reale.





Cosa c'è sotto il cofano
- Motore di gioco deterministico. Le regole del gioco vivono in Core senza dipendenza da SpriteKit, funzionano su un passo fisso di 120 Hz e sono completamente coperte da test.
- Renderer di pixel art procedurale. Canvas, font pixel 5x7 e 3x5 leggibili, sprite, temi (cielo, parallax, terreno) e una cache di texture, tutto in codice.
- Compositore chiptune. Quattro tracce composte in codice (Liftoff, Night Drive, Orbit e Mars Run) che cambiano con il livello e si sovrappongono l'una all'altra. Scegli AUTO o blocca una singola traccia. L'audio funziona su un proprio thread e la musica diventa più silenziosa mentre è in pausa.
- Effetti sonori e feedback tattili sintetizzati. Nessun file audio ovunque nel gioco.
- Layer di scena. GameScene con instradamento degli input, schermate e UI, uno sfondo parallax e particelle.
- Punto di ingresso SwiftUI e un manifesto sulla privacy (PrivacyInfo.xcprivacy), orientamento verticale, schermata di avvio e nome visualizzato già impostati.
Flusso di gioco rifinito
- Impostazioni (icona dell'ingranaggio nel menu e nella schermata di pausa): cursori separati per il volume della musica e degli effetti, interruttori per musica, effetti e vibrazione, e un selettore di tracce.
- Medaglie, punteggio migliore salvato sul dispositivo e un pulsante di condivisione.
- Localizzato in inglese e spagnolo; il gioco segue la lingua di sistema.



Testato
- 116 test unitari che coprono il motore, il compositore musicale, sprite, font, audio, localizzazione e la scena reale in esecuzione all'interno di un SKView.
- Test UI end-to-end (XCUITest).
- Argomenti di avvio solo per il debug per lo sviluppo:
--autoplay (pilota automatico), --autoplay-stop, --level=N, --reset-data e --uitest.
Struttura del progetto
- Sources/Core: regole di gioco senza SpriteKit (motore, livelli, impostazioni, stringhe, compositore musicale)
- Sources/Render: pixel art procedurale
- Sources/Scene: disegno, instradamento degli input, schermate, sfondo parallax e particelle
- Sources/Audio: effetti sintetizzati, lettore musicale con crossfade, feedback tattili
- Sources/App: punto di ingresso SwiftUI
- Tests/Unit e Tests/UI: i test unitari e end-to-end
- Tools/ e Scripts/: strumenti macOS che rendono la pixel art in PNG (anteprime di livello, icona dell'app, fotogrammi del trailer) e costruiscono il trailer, oltre a script di test e QA
- Marketing/: immagini di elenco e trailer (1080p e 720p)
Cosa è incluso
- Progetto Xcode e project.yml (configurazione XcodeGen)
- Fonti Swift: Core, Render, Scene, Audio e App
- Test unitari e test UI
- Strumenti per asset e trailer (Tools/, Scripts/)
- Icona dell'app da 1024 px
- README in inglese
- Immagini di marketing e trailer
Inizia in pochi minuti
- Decomprimi l'archivio e apri
RocketRoadster.xcodeproj.
- Scegli il tuo team sotto Signing & Capabilities e sostituisci l'identificatore del bundle (
com.example.rocketroadster, impostato in project.yml).
- Compila e esegui su un simulatore o su un iPhone.
Il progetto Xcode generato è incluso, quindi XcodeGen è facoltativo: esegui xcodegen generate solo se modifichi project.yml.
Rendilo tuo
- Rinomina il gioco e modifica le parole del logo e la scritta del razzo (vedi Sprites.swift e GameScene+Screens.swift) in modo che il risultato sia il tuo marchio.
- Sostituisci l'icona dell'app e cattura i tuoi screenshot e trailer con gli script inclusi (Scripts/build_trailer.sh).
- Aggiungi i servizi di cui hai bisogno. Game Center, pubblicità, acquisti in-app e supporto per iPad non sono inclusi intenzionalmente, poiché richiedono i tuoi account e configurazioni.
Requisiti
- Un Mac con una versione recente di Xcode.
- Target di distribuzione iOS 16.0, iPhone, verticale.
- Nessuna dipendenza di terze parti.
- Il compratore è responsabile della revisione dell'App Store, dei marchi e del proprio ID bundle.