Devlog 1: I’m Porting Geometry Dash to the Web
I have over 300 hours in GD and beat my first Extreme Demon a few weeks ago.
Total time logged: ~22h 30m
I forgot about devlogs even though I’ve been working on this for weeks.
This is not a wrapper. No Unity, no Godot, no emulator, and none of the love.js stuff I used for my Balatro port. It’s vanilla TypeScript + WebGL2, reading the real level files directly out of my Steam copy and re-implementing GD’s physics, collision, gamemodes, triggers, and rendering entirely by hand.
My plan for now is just to build the 22 classic main levels, the menus, and the icon kit. No editor, no online, and no platformer mode for now, though I do want to add custom levels later (possibly supporting .gmd imports via the Geode “GDShare” mod).
What Works So Far
- Rendering: All 22 levels render somewhat correctly.
- Gamemodes: All 8 modes are implemented (Cube, Ship, Ball, UFO, Wave, Robot, Spider, Swing), though only 4 feel solid right now.
- Mechanics: Portals, orbs, pads, breakable blocks, and dual mode (barely working).
- Triggers: Color, Move, Alpha, Toggle, Spawn, and Shake.
- Features: Practice mode, checkpoints, secret coins, and save states.
- UI & Audio: Level select, icon kit, settings, music, SFX, and pause menu.
- VFX: Particles, screen shake, and death explosions.
The Actual Hard Part
Rendering was the easy part. Making it feel right is the entire project. While other GD web remakes exist, almost none of them nail the physics.
I ended up disassembling the actual game binary with Claude to read the original physics values and logic directly.
Next Up
- Finishing the last 3 levels
- Robot and Spider animations
- Proper easing on moving platforms
- Overhauling the main menu
- Deploying to a real domain so people can play it
- General bug fixes (there are a lot right now)
More devlogs coming soon!
Comments 4
I don’t know if you know but your devlogs shouldn’t exceed 10 hours. The hours above 10 will be deducted. Anyways, the project is looking nice. Keep up the great work 👍
i tried doing this once but i’ve lost the project :(
@Sam unfortunately I know :( I wish i knew that before I started building the project. but thank you! I really hope to push it out before stardance closes.
Welcome and best of luck
Sign in to join the conversation.