Dev update - what's happened since June?

Featured Image

I've been on vacation since mid-June, but it hasn't stopped me from working on Worldspawn. Since June I've made considerable progress on the user interface system, and began work on the official bunnyhop timer gamemode. This blog will cover recent improvements to Worldspawn as well as dig into the systems and decision making behind them.

User Interface

The Worldspawn UI is a completely custom HTML/SCSS renderer—no embedded Chromium or off-the-shelf framework here. Every step, from parsing HTML and SCSS to drawing panels and text, is hand-rolled, and every draw call is pushed straight to the GPU for high performance.

Over the last few weeks, I've overhauled our stylesheet engine with performance in mind. Under the hood, each computed style is packed into one contiguous, blittable struct—so applying cascades, toggling states, or updating styles is just a single memcpy away. The result? Styling operations that are practically free and unload your CPU for more important work.

On top of that, I’ve added full support for background and border gradients, image rendering, CSS transforms, and even dropped in a vector-based text renderer as a future path beyond SDF text. All of which means more visual polish, more dynamic layouts, and tons of room to customize your HUD exactly how you like it.

Worldspawn Launcher

Why html/scss?

I love that anyone can jump in, tweak the interface, or grab a community-made UI kit to personalize their speedrunning setup. HTML and SCSS form a familiar, flexible foundation for building UIs—so swapping fonts, updating color schemes, or adding and removing HUD elements is effortless.

Bhop Timer

I’ve begun work on the bhop timer. You can now browse and play over 10,000 bunnyhop maps collected and created throughout bhop’s history. We also include official zone data for many of these maps, so they’re ready to run instantly.

My top priority is making movement match Counter-Strike: Source one-to-one. Running bh_aztec in a CS:S server or in Worldspawn feels identical—so if you set a world record here, it’s unquestionably valid.

BSP maps receive first-class support as well. Loading and converting Source Engine maps is equally important, meaning a 64 in CS:S is the same as a 64 in Worldspawn.

There’s still work to do on BSP rendering, but the foundation is solid. Most maps load and play correctly now, though a few visual glitches and bugs remain to be ironed out.

Later on, I look forward to writing up a blog about the technical specs of BSP and movement/physics in CS:S. I've done a lot of research around this to replicate gameplay perfectly, and much of it you won't find easily on the web, some of it is quite interesting!

Store Page

Worldspawn's Steam store page is public marked as Coming Soon. We will roll out invites to friends & Discord members first, then users who have Worldspawn wishlisted, then finally enter open beta where anybody can play and test, and ultimately, a full release. Find our Steam and Discord links in the header of this website.

Memento from me

I started building games back in 2015/2016 with the goal of creating a true standalone surf & bunnyhop experience. Worldspawn is the culmination of everything I’ve learned since then. Building an engine from the ground up—where movement is perfect and every surf and bhop map ever made just works—is essential. This isn’t a modern remix or a gimmick; here, bunnyhop and surf are front and center, not an afterthought.

Future updates will only refine and enhance movement, never break it. Once the core experience is rock-solid, we can explore new gameplay ideas. And no matter what device you’re on—Windows, Linux, iOS, tablets, phones, even your smart fridge—you’ll be able to surf and bhop without compromise.

❤️ Crayz

An error has occurred. This app may no longer respond until reloaded. Reload 🗙