Rocket Roadster é um projeto completo de jogo para iOS, construível: um jogo de arcade em pixel-art de um toque, escrito em Swift + SpriteKit. Um roadster vermelho-cereja voa em propulsores de gás frio e passa entre foguetes imponentes, subindo por cinco mundos em pixel-art: Terra, Pôr do Sol, Noite, Lua e Marte.
Toda a arte é arte em pixel gerada proceduralmente em código, e toda a música e efeitos sonoros são sintetizados pelo próprio jogo. Não há ativos de imagem ou áudio externos e nenhuma dependência de terceiros, então você pode abri-lo, construí-lo e começar a personalizá-lo.

Como se joga

- Toque para acionar os propulsores, evite os foguetes e não toque no chão.
- A cada 10 pontos você avança de nível: Terra, Pôr do Sol, Noite, Lua, Marte. A partir do nível 3, alguns foguetes se movem para cima e para baixo, e na Lua e em Marte os foguetes usam a pele de carga pesada.
- Medalhas em 10, 20, 30 e 40 pontos, uma melhor pontuação salva e um botão de Compartilhar na tela de fim de jogo.
- Pausa pelo botão no canto superior direito (o jogo também pausa quando o aplicativo vai para o segundo plano), com uma contagem regressiva de 3-2-1 ao retomar.


Cinco mundos, cinco visuais
Cada mundo tem seu próprio céu, fundo em parallax e chão, todos desenhados proceduralmente em tempo real.





O que há por trás
- Motor de jogo determinístico. As regras do jogo vivem no Core sem dependência do SpriteKit, rodando em um passo fixo de 120 Hz e são totalmente cobertas por testes.
- Renderizador de pixel-art procedural. Canvas, fontes de 5x7 e 3x5 pixels legíveis, sprites, temas (céu, parallax, chão) e um cache de texturas, tudo em código.
- Compositor de chiptune. Quatro faixas compostas por código (Liftoff, Night Drive, Orbit e Mars Run) que mudam com o nível e se cruzam. Escolha AUTO ou bloqueie uma única faixa. O áudio roda em sua própria thread e a música fica mais baixa enquanto pausada.
- Efeitos sonoros e hápticos sintetizados. Nenhum arquivo de áudio em qualquer lugar no jogo.
- Camada de cena. GameScene com roteamento de entrada, telas e UI, um fundo em parallax e partículas.
- Ponto de entrada SwiftUI e um manifesto de privacidade (PrivacyInfo.xcprivacy), orientação retrato, tela de lançamento e nome de exibição já configurados.
Fluxo de jogo polido
- Configurações (ícone de engrenagem no menu e na tela de pausa): controles deslizantes de volume separados para música e efeitos, interruptores para música, efeitos e vibração, e um seletor de faixa.
- Medalhas, melhor pontuação salva no dispositivo e um botão de Compartilhar.
- Localizado em inglês e espanhol; o jogo segue o idioma do sistema.



Testado
- 116 testes unitários cobrindo o motor, o compositor de música, sprites, fontes, áudio, localização e a cena real rodando dentro de um SKView.
- Testes de UI de ponta a ponta (XCUITest).
- Argumentos de lançamento apenas para depuração para desenvolvimento:
--autoplay (piloto automático), --autoplay-stop, --level=N, --reset-data e --uitest.
Layout do projeto
- Sources/Core: regras do jogo sem SpriteKit (motor, níveis, configurações, strings, compositor de música)
- Sources/Render: arte em pixel procedural
- Sources/Scene: desenho, roteamento de entrada, telas, fundo em parallax e partículas
- Sources/Audio: efeitos sintetizados, player de música com crossfades, hápticos
- Sources/App: ponto de entrada SwiftUI
- Tests/Unit e Tests/UI: os testes unitários e de ponta a ponta
- Tools/ e Scripts/: ferramentas para macOS que renderizam a arte em pixel para PNG (pré-visualizações de nível, ícone do aplicativo, quadros do trailer) e constroem o trailer, além de scripts de teste e QA
- Marketing/: imagens de listagem e trailer (1080p e 720p)
O que está incluído
- Projeto Xcode e project.yml (configuração do XcodeGen)
- Códigos Swift: Core, Render, Scene, Audio e App
- Testes unitários e testes de UI
- Ferramentas de ativos e trailer (Tools/, Scripts/)
- Ícone do aplicativo de 1024 px
- README em inglês
- Imagens de marketing e trailer
Comece a rodar em minutos
- Descompacte o arquivo e abra
RocketRoadster.xcodeproj.
- Escolha sua equipe em Assinatura & Capacidades e substitua o identificador do pacote (
com.example.rocketroadster, definido em project.yml).
- Compile e execute em um simulador ou em um iPhone.
O projeto Xcode gerado está incluído, então o XcodeGen é opcional: execute xcodegen generate apenas se você alterar o project.yml.
Personalize-o
- Renomeie o jogo e altere as palavras do logo e a escrita do foguete (veja Sprites.swift e GameScene+Screens.swift) para que o resultado seja sua própria marca.
- Substitua o ícone do aplicativo e capture suas próprias capturas de tela e trailer com os scripts incluídos (Scripts/build_trailer.sh).
- Adicione os serviços que você precisa. Game Center, anúncios, compras dentro do aplicativo e suporte para iPad não estão incluídos intencionalmente, pois requerem suas próprias contas e configurações.
Requisitos
- Um Mac com uma versão recente do Xcode.
- Alvo de implantação iOS 16.0, iPhone, retrato.
- Sem dependências de terceiros.
- O comprador é responsável pela revisão da App Store, marcas registradas e seu próprio ID de pacote.