Commit Graph

3 Commits

Author SHA1 Message Date
zwitschi a37eb14ba5 feat: add level schema and tilemap tests
- Introduced a JSON schema for game levels to validate level data structure.
- Added comprehensive tests for tilemap functionalities including collision resolution, tile type retrieval, and level loading.
- Enhanced the SyncSystem to manage remote state synchronization and interpolation for smoother gameplay.
- Implemented an AudioSystem with tests to ensure audio loading and playback functionality.
- Updated NetworkClient to support dynamic WebSocket URLs from environment variables.
- Added integration tests for matchmaking and network communication between clients.
- Improved RenderSystem to correctly render player nicknames above sprites.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 18:48:46 +02:00
zwitschi 4ee2a0a159 feat: implement core game systems including networking, matchmaking, audio, and tilemap support
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 17:23:18 +02:00
zwitschi 5499b90390 feat: add initial implementation of ECS architecture and systems
- Introduced a minimal Entity-Component-System (ECS) framework in `ecs.ts` with basic entity management and component handling.
- Created `World` class to manage entities and components, including methods for creating, adding, retrieving, and removing components.
- Implemented unit tests for the `World` class in `ecs.test.ts` to ensure functionality.
- Developed input handling with `InputSystem` to capture keyboard events.
- Added `PhysicsSystem` for movement and collision detection.
- Created `RenderSystem` to handle drawing entities on the canvas.
- Set up a main game loop in `main.ts` to integrate systems and manage game state.
- Added SVG icons and images for UI elements.
- Included CSS styles for layout and theming.
- Configured TypeScript settings in `tsconfig.json` for project compilation.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 14:35:54 +02:00