← All Workshops

MudEngine Part 10: Desktop with Blitz

Congratulations!

You just ran your MUD as a native GPU-accelerated desktop application — no browser, no WebView, no JavaScript.

What we achieved:

  • Blitz renderer — swapped the browser DOM for a pure-Rust HTML/CSS engine built on WGPU and Vello
  • Two-line migration — changed use dioxus::prelude::* to use dioxus_native::prelude::* and dioxus::launch to dioxus_native::launch
  • Fullstack still works — server functions, WebSocket, and set_server_url() all function unchanged
  • Cross-platform clients — the native window and browser tabs share the same game world
  • Experimental exploration — you experienced the cutting edge of Rust-native UI rendering

What we learned

Resources

📚 What we learned
ConceptHow we used it
dioxus_native::launchStarts a winit window with the Blitz renderer
dioxus-natives::preludeRe-exports all Dioxus macros and types for native rendering
set_server_urlConfigures the native client to find the Axum server
Blitz rendering pipelineVirtual DOM → Stylo CSS → Taffy layout → Vello GPU draw
WGPU backendVulkan, Metal, or DX12 — automatic GPU selection
Experimental limitationsMissing CSS features, rendering quirks, pre-alpha stability

|