Note: For Indonesian documentation, see README-id.md.
Welcome to reeshape! A desktop app built with Godot 4 (C#) by Arief F-sa Wijaya (241511002) for the 2025 midterm of the Computer Graphics course at Politeknik Negeri Bandung. The mission: revive the classic pattern block activity with modern interaction, precise controls, and a template pipeline you can export and replay.
- Manual 2D transforms (translate/rotate/scale) without relying on Godot's built-in transforms.
- Snap-based validation to 100% completion with win popup and best-time tracking.
- Three curated 720p challenges (Rocket, UFO, Astronaut) with precise outline targets.
- Hybrid controls: drag and drop, Q/E rotate, WASD/arrow micro-move, right-click reset.
- Template Builder + My Patterns: build -> export JSON -> replay.
- Persistent progress stored in
user://save.dat. - Modular stage/template system (TemplateShapeStage, TemplateLoader) with JSON receipts.
Imagine a colorful block puzzle that comes alive on screen. You can drag base shapes, rotate, move, and assemble them into the correct silhouette. All transforms and snapping are implemented via custom scripts to make 2D computer graphics concepts tangible.
Available shapes:
- Square
- Triangle
- Trapezoid
- Parallelogram / Rhombus
- Hexagon
Transforms include translation, rotation, global scaling, and snapping. Core logic is handled by ShapePlayground and the TemplateShapeStage family.
- Template Builder: create your own pattern with base shapes.
- Export JSON: save the pattern as a template.
- My Patterns: replay your custom patterns anytime.
- Open the app -> the Welcome page shows your latest progress.
- Press PLAY -> choose Rocket/UFO/Astronaut or enter Template Builder.
- Arrange shapes -> drag from the palette, rotate, and micro-move with keyboard.
- Check progress -> HUD shows progress and a real-time timer.
- Finish -> 100% completion triggers the win popup and saves best time.
├── Scenes/ # Godot scenes (Welcome, PLAY/Projects, Stage, Builder, etc.)
├── Scripts/ # C# scripts
│ ├── Stages/ # Stage logic, templates, builder
│ ├── UI/ # Pages and UI components
│ └── Utils/ # Helpers (TemplateLoader, StageSaveService, TimeFormatUtils)
├── StagesReceipt/ # JSON templates (Rocket, UFO, Astronaut, and custom)
└── project.godot # Godot project config
- Godot Engine 4.x (C#/.NET)
- Target platform: Desktop (Windows, macOS, Linux)
- Game resolution: 1280 x 720
- Install Godot 4.x with C# support.
- Clone this repository or extract the submitted zip.
- Open the project in Godot (
project.godot). - Run the
Scenes/Pages/Welcome.tscnscene. - Have fun!
- Add background music and sound effects.
- Refresh UI/UX to better match stage themes.
- Add more base shapes and pagination on the PLAY page.
- Prepare template sharing between users.
Thanks for stopping by. I hope reeshape becomes a fun reference for learning 2D computer graphics.