Keeping the Wheels turning
When Happy Wheels creator, Jim Bonacci got in touch about re-making the game in HTML5, we jumped at the chance.
Fortunately, unlike the game, we stuck our landing and didn’t get dismembered in a pit of lawnmowers ;D
Anyone who knows Happy Wheels knows that the game is a chaotic mix of hilarious ragdoll physics and UGC levels and challenges. Our challenge was to port a ten year old Flash game that had iterated across its lifespan into a new, future-proofed HTML5 home.
Flash meets its maker
Converting Flash games to live on in the modern web would seem like a bit of a no-brainer. Unfortunately there’s never been a silver bullet to quickly and easily perform this task. Like so many things in life, the answer comes down to old fashioned hard work!
That said, we came up with a bunch of cool tricks to make that hard work just a little bit easier. Our ActionScript to TypeScript converter let us instantly convert the original source into a format that could at least function in the land of web.
We also ported the original Box2D physics engine over to TypeScript, right down to replicating its original bugs! This was far from lazy coding (as if we would!) however - it was essential to preserve all its quirks as they contributed to exactly how all the UGC levels specific behaviours and outcomes operated. If we ‘fixed’ the engine we’d actually have broken the game!
Other tricks included an API that would ‘translate’ Flash commands that didn’t exist in our Pixi library as well as a vector conversion pipeline to extract all the original art and turn it into bitmaps.
And whilst there were no silver bullets, the outcome was solid gold!