About this project

little-spaceship is a single-player vertical shoot 'em up featuring pixel art and a single level. The project is designed as a portfolio piece with a strong emphasis on architecture, testing, and CI/CD. Key technical features include: - Deterministic Simulation: The core runs at a fixed step (1/60s) using a seeded RNG and immutable input frames, ensuring reproducible replays. - Engine-Agnostic Core: The simulation logic is written in pure Java without dependencies on libGDX or external math libraries. - Multi-platform Deployment: It utilizes libGDX for rendering and audio, with TeaVM used to compile the Java code into JavaScript for browser execution, while also supporting a native desktop target via LWJGL3. - Architecture: The project follows a strict dependency hierarchy (desktop/web -> game -> core) and utilizes an Entity Component System (ECS) for game rules. Controls support both keyboard (Arrow keys, Space, X, Shift) and relative mouse movement via the Pointer Lock API.