Rodolfo Villaruz

Rodolfo Villaruz

Thoughts, notes, and things I'm learning.

Minecraft, But It's WebAssembly

July 25, 2026

I got a little carried away and built a tiny voxel engine in Rust, compiled straight to WebAssembly — no game engine, no WebGL, not even libm. It's a real 3D grid of blocks (grass, dirt, stone, a few trees) rendered with a per-pixel raycaster running entirely in WASM; the pixels get handed to a 2D canvas every frame. Rust source is saved alongside the compiled module if you want to see how it works: minecraft.rs.

Loading WASM…

Click the canvas to look around with the mouse. WASD to move, Space to jump, Esc to let go of the mouse.

Hello, World

July 24, 2026

This is my very first post. I'm starting this blog to keep track of things I'm working on and ideas worth writing down. No fancy setup here — just plain HTML, so it's easy to edit and easy to host anywhere.

WASM Demo: Mandelbrot Explorer

A small WebAssembly module, live on this page

This fractal is rendered by a ~1KB WebAssembly module compiled straight from Rust with rustc (no JS framework, no build step). Click the fractal to zoom in.

Loading WASM…

WASM Demo: Bouncing Ball Physics

Gravity, wall bounces, and elastic collisions — simulated in WebAssembly

Another tiny Rust→WASM module (~1.4KB). Every frame, WebAssembly integrates gravity, resolves wall collisions, and checks all ball-vs-ball pairs for elastic collisions — JavaScript just reads the resulting positions out of WASM linear memory and draws circles. Click anywhere to drop in a new ball.

Loading WASM…

Why I Keep Things Simple

July 20, 2026

I don't need a CMS or a database to write a blog. A single HTML file does the job just fine, and I can add new posts whenever I want by copying a block and changing the text.

What's Next

July 15, 2026

Future posts will probably cover whatever I'm building or reading about at the time. Stay tuned.