Revamp
A dark, interconnected world awaits. Explore, fight, evolve. — Metroidvania built in Godot 4.
Revamp is an in-development Metroidvania built in Godot 4 with a PHP webhook backend for telemetry and progression sync. The web build runs in the browser via Godot's HTML5 export; the desktop build ships native. Currently a teaser landing site while the vertical slice comes together.
- Godot 4
- GDScript
- Godot HTML5 export
- PHP
- Apache (reverse proxy)
- systemd
Revamp is the in-development Metroidvania entry in our games portfolio — interconnected world, exploration-gated traversal, deliberate combat, character progression that opens up new map regions over time. The web build runs straight in the browser via Godot 4's HTML5 export; a thin PHP backend handles telemetry, save sync, and sponsor / promo webhooks for the events the game shows up at.
Where it sits in the catalog
Our other games — XRPG Engine, Tulpa, Grim Syndicate — all run on the same Python text-RPG engine. Revamp is the deliberate step away from that lineage: a real-time, controller-friendly, pixel-art world running on Godot's own renderer. Different muscle, different tooling, different audience. The "interconnected world + earn-your-traversal" Metroidvania skeleton is the part we're building from scratch.
What's playable
- Browser-playable web build — Godot 4 HTML5 export shipping the current vertical slice. Loads in a tab; mobile-friendly fallback messaging when controls don't translate.
- Recent updates feed — the landing page publishes development snapshots so the people watching the build know which mechanics are landing next.
- PHP webhook layer for the eventing side — promo-code redemption, telemetry collection, integration with the larger gamingworld.uk player profile.
Why "Revamp"
The name is the design philosophy. Metroidvania traversal is a genre of revisiting — every new ability sends you back to a place you've already been, only this time the wall you stared at is a doorway. Revamp is built around that loop of "the map you remember is not the map you can read now." The world rewards memory; the abilities rewrite the memory.
Straight from the source
The project's own README.
Rendered in place — every link, image, and code block carried over from the repo. The page below is what a contributor would see opening the project for the first time.
Changelog
v0.7.0 — 2026-02-21
New Features
- Player hurt/knockback state: Taking damage now triggers a proper HurtState with directional knockback away from the damage source and 0.4s of input lockout
- Floating damage numbers: Diablo II-style numbers rise and fade when enemies are hit. 15% critical hit chance shows gold numbers at 2x damage
- Enemy name display: Attacking an enemy shows their name above their head for 3 seconds with a smooth fade-out
- Enemy knockback: Enemies are knocked back away from the player when hit (skulls get a velocity kick, dragons use a decaying knockback vector)
Bug Fixes
- Skull enemies stuck at bottom: Increased collision shape (12x12 to 14x16), added offset, and added safety Y clamp to prevent falling through ground
- Skull sprite jittering: Added 8px dead zone and 0.15s flip cooldown to prevent rapid direction changes when player is directly above
- Player sinking into ground: Raised ground collision surface by 20px (offset CollisionShape2D) so player walks near the grass tops instead of chest-deep in them. All ground-level entities repositioned to match
- Player rendering behind stage: Added z_index=10 to Player so it always renders above ground decorations
- Melee hitbox too small/high: Enlarged from 34x22 to 48x28 and repositioned from (20,-26) to (24,-16) for much better ground-level coverage
- Crouch attack hitbox: Hitbox Y now shifts to -6 during crouch attacks (was staying at standing height -26, missing everything)
- Crouch attack re-triggering: Changed CrouchState attack input from is_action_pressed to is_action_just_pressed
Enhancements
- Pickup visuals: Replaced tiny 12x12 colored squares with larger 14x14 orbs with glow effect, center highlight, pulsing animation, icon characters, and clear labels ("2x JUMP", "3x JUMP", "HI-JUMP")
- Spell pickup visuals: Same glow/pulse treatment applied to spell pickups
- Enemy hit feedback: Flash white (overbright) instead of red for a more impactful hit feel
v0.6.0 — 2026-02-21
New Features
- Crouch system: Hold Down to crouch (halves collision height), release to stand. Supports crouch attack and crouch shooting at lower projectile height
- Crouch attack: Press attack while crouching for a low slash with hitbox timing (0.1s-0.32s window)
- Dynamic jump animations: Double/triple jumps now play a tumbling "air_jump" animation using alternating run frames
- Gravity boots visual: Sprite flips upside-down during high jump for clear visual feedback of powered ascent
Bug Fixes
- Idle animation loop: Trimmed 2 narrower end frames (23px vs 24-25px) that caused a visible hiccup at loop boundary — now a smooth 5-frame cycle
- Melee hitbox: Enlarged (28x18 -> 34x22) and raised (y:-16 -> y:-26) to reliably hit enemies at chest height
v0.5.0 — 2026-02-21
Bug Fixes
- Sprite transparency: Removed solid black background from Alucard sprite sheet using corner flood-fill (preserves internal outlines)
- Platform collisions: All platforms now use 96x16 collision shapes matching the visual tile width (was 160/256px of invisible walkable area)
- Ground tile gaps: Re-spaced 20 ground tiles at 96px intervals for seamless coverage across full 1920px level width
- Projectile spawn: Projectiles now fire from chest level (y=-24) instead of hip level (y=-8)
- Decoration alignment: All cemetery decorations repositioned to sit flush with ground surface; tombstones/crosses grouped into tighter cemetery clusters
Enhancements
- Jump animation: Expanded from 6 to 7 frames, now loops to prevent freezing during long airtime
- Fall animation: Expanded from 4 to 7 frames, now loops for smooth descent visuals
- Developer docs: Added
docs/quick-start.mdreference for AI assistants and contributors
v0.4.0 — 2026-02-21
New Features
- Alucard sprite replacement: Replaced placeholder gothic-hero with Alucard (Castlevania SOTN) sprite sheet
- Dedicated fall animation: FallState now plays its own "fall" animation instead of reusing "jump"
- 5 animation states: idle (7 frames), run (12 frames), jump (6 frames), fall (4 frames), attack (6 frames)
Enhancements
- Single sprite sheet: All player animations now sourced from one atlas (alucard-sprite-sheet.png) instead of 4 separate PNGs
- Collision tuning: Slightly taller collision box (14x32) and extended melee hitbox (28x18) for better fit
v0.3.0 — 2026-02-21
Bug Fixes
- Pink squares eliminated: Tileset regions now use verified Piece A (304,16,96,48) — the clean grass-topped tile instead of the magenta marker area
- Decoration sprites fixed: All tombstones, crosses, bushes, and trees now use pixel-verified bounding boxes from objects.png via ImageMagick connected-component analysis
- Background coverage: Moon scaled 3x, mountains 2.5x, graveyard 2x — no more blank edges when camera reaches level boundaries
- Gravity boots visible: Fixed by correcting the platform visual sprite that was obscuring the pickup
New Features
- Castlevania-style spell system: Pick up spells (fire/water), swap by walking over a different one — old spell drops as a pickup
- Water spell projectile: Blue water effect with 5-frame animation, costs 2 mana
- Fire spell projectile: Existing fireball now costs 3 mana to cast
- Mana system: 20 MP max, regenerates at 3/sec — fast enough to cast often but prevents spam
- Spell HUD: Shows equipped spell name and mana bar below health
v0.2.0 — 2026-02-21
Bug Fixes
- Pickup collection: Player collision_mask now includes pickups layer (bit 7), fixing item collection
- Health HUD: Replaced unicode hearts with ASCII characters for web export compatibility
- Tileset regions: Reverted region offsets to (0,0) — previous (16,16) offset grabbed wrong tile areas
- Invisible walls: All platforms now use one-way collision so player can jump through from below
- Background gaps: Scaled parallax layers to 1.5x width, updated mirroring to cover full 480px viewport
Enhancements
- Enemy AI: Ground enemies and flying dragons now detect and chase the player within 150px range
- Attack cooldown: Enemies have 1s cooldown between damage hits to prevent instant kills
v0.1.0 — Initial
- Cemetery test stage with parallax backgrounds
- Player with state machine (idle, run, jump, fall, attack, high jump)
- Pickup system for abilities (double jump, gravity boots, triple jump)
- Ground enemies and flying dragons with patrol AI
- Health system with HUD
- CI/CD pipeline with Godot web export and SSH deploy
Build something like this
Want a tool like this for your shop?
We've shipped this kind of thing before. Twenty-minute intro call, no slides.