Rocket Roadster is een compleet, bouwbaar iOS-gameproject: een one-tap pixel-art arcadegame geschreven in Swift + SpriteKit. Een kersrode roadster vliegt op koude-gas thrusters en navigeert tussen torenhoge raketten, terwijl hij door vijf pixel-art werelden klimt: Aarde, Zonsondergang, Nacht, Maan en Mars.
Alle kunst is procedurele pixelkunst die in code is gegenereerd, en alle muziek en geluidseffecten worden door het spel zelf gesynthetiseerd. Er zijn geen externe afbeeldings- of audio-assets en geen afhankelijkheden van derden, zodat je het kunt openen, bouwen en beginnen het je eigen te maken.

Hoe het speelt

- Tik om de thrusters te activeren, vermijd de raketten en raak de grond niet aan.
- Elke 10 punten ga je een niveau omhoog: Aarde, Zonsondergang, Nacht, Maan, Mars. Vanaf niveau 3 bewegen sommige raketten op en neer, en op de Maan en Mars gebruiken de raketten de heavy-lift skin.
- Medaille bij 10, 20, 30 en 40 punten, een opgeslagen beste score en een Deel-knop op het game-over scherm.
- Pauzeer met de knop rechtsboven (het spel pauzeert ook wanneer de app op de achtergrond gaat), met een 3-2-1 aftelling bij hervatting.


Vijf werelden, vijf looks
Elke wereld heeft zijn eigen lucht, parallax achtergrond en grond, allemaal procedureel getekend tijdens runtime.





Wat zit er onder de motorkap
- Deterministische game-engine. De spelregels bevinden zich in Core zonder afhankelijkheid van SpriteKit, draaien op een vaste 120 Hz stap en zijn volledig getest.
- Procedurele pixel-art renderer. Canvas, leesbare 5x7 en 3x5 pixel lettertypen, sprites, thema's (lucht, parallax, grond) en een textuurcache, allemaal in code.
- Chiptune-componist. Vier nummers gecomponeerd door code (Liftoff, Night Drive, Orbit en Mars Run) die veranderen met het niveau en in elkaar overvloeien. Kies AUTO of vergrendel een enkel nummer. Audio draait op een eigen thread en de muziek wordt zachter terwijl het gepauzeerd is.
- Gesynthetiseerde geluidseffecten en haptiek. Geen audiobestanden ergens in het spel.
- Scene-laag. GameScene met invoerrouting, schermen en UI, een parallax achtergrond en deeltjes.
- SwiftUI toegangspunt en een privacy-manifest (PrivacyInfo.xcprivacy), portretoriëntatie, opstartscherm en weergavenaam al ingesteld.
Verfijnde gameflow
- Instellingen (tandwielpictogram in het menu en op het pauzescherm): aparte schuifregelaars voor muziek en effectenvolume, schakelaars voor muziek, effecten en trilling, en een nummerkiezer.
- Medaille, beste score opgeslagen op het apparaat en een Deel-knop.
- Geïntroduceerd in het Engels en Spaans; het spel volgt de systeemtaal.



Getest
- 116 eenheidstests die de engine, de muziekcomponist, sprites, lettertypen, audio, lokalisatie en de echte scène die draait in een SKView dekken.
- Einde-tot-einde UI-tests (XCUITest).
- Debug-only opstartargumenten voor ontwikkeling:
--autoplay (autopilot), --autoplay-stop, --level=N, --reset-data en --uitest.
Projectindeling
- Sources/Core: spelregels zonder SpriteKit (engine, niveaus, instellingen, strings, muziekcomponist)
- Sources/Render: procedurele pixelkunst
- Sources/Scene: tekenen, invoerrouting, schermen, parallax achtergrond en deeltjes
- Sources/Audio: gesynthetiseerde effecten, muziekspeler met crossfades, haptiek
- Sources/App: SwiftUI toegangspunt
- Tests/Unit en Tests/UI: de eenheid- en einde-tot-einde tests
- Tools/ en Scripts/: macOS-tools die de pixelkunst naar PNG renderen (niveau previews, app-icoon, trailer frames) en de trailer bouwen, plus test- en QA-scripts
- Marketing/: lijstafbeeldingen en trailer (1080p en 720p)
Wat is inbegrepen
- Xcode-project en project.yml (XcodeGen-config)
- Swift-bronnen: Core, Render, Scene, Audio en App
- Unit tests en UI tests
- Asset- en trailer-tools (Tools/, Scripts/)
- 1024 px app-icoon
- Engelse README
- Marketingafbeeldingen en trailer
Binnen enkele minuten aan de slag
- Pak het archief uit en open
RocketRoadster.xcodeproj.
- Kies je team onder Signing & Capabilities en vervang de bundle identifier (
com.example.rocketroadster, ingesteld in project.yml).
- Bouw en voer uit op een simulator of een iPhone.
Het gegenereerde Xcode-project is inbegrepen, dus XcodeGen is optioneel: voer xcodegen generate alleen uit als je project.yml wijzigt.
Maak het je eigen
- Hernoem het spel en wijzig de logo-woorden en raketletters (zie Sprites.swift en GameScene+Screens.swift) zodat het resultaat jouw eigen merk is.
- Vervang het app-icoon en maak je eigen screenshots en trailer met de meegeleverde scripts (Scripts/build_trailer.sh).
- Voeg de diensten toe die je nodig hebt. Game Center, advertenties, in-app aankopen en iPad-ondersteuning zijn opzettelijk niet inbegrepen, omdat ze je eigen accounts en configuratie vereisen.
Vereisten
- Een Mac met een recente versie van Xcode.
- Deploymentdoel iOS 16.0, iPhone, portret.
- Geen afhankelijkheden van derden.
- De koper is verantwoordelijk voor de App Store-review, handelsmerken en hun eigen bundle-ID.