PSEC-99: A 3D Browser Game in C# and WASM, Without WebGL
Description and use
PSEC‑99 demonstrates a 3D browser game built with C# and WebAssembly that renders directly into a single pixel buffer, avoiding WebGL and achieving efficient performance.
Problem
Web apps often struggle with CPU and memory usage when rendering simple UIs, yet a 3D game can run efficiently in the browser using C# and WebAssembly.
Outcome
PSEC‑99 demonstrates that a 3D browser game can run efficiently using pure C# and WebAssembly, avoiding WebGL and reducing CPU/memory overhead.
Workflow
- 1. Convert the 1982 TI‑99/4A game into a 3D model.
- 2. Implement 3D math, projection and rasterization in C#.
- 3. Render the scene into a single int[] pixel buffer row by row.
- 4. Use OpenSilver’s WriteableImage to copy the buffer to an HTML canvas.
- 5. Play the game in the browser (or run locally with .NET 10/WASM).
Evidence
They took a 1982 TI-99/4A game and turned it into a 3D browser experience using C#/WASM and an int[] pixel buffer. No WebGL.
Their entire 3D scene is drawn in C# into a single pixel buffer (yes, just one!) in .NET memory, then displayed on an HTML canvas through OpenSilver 3.4 Preview’s new WriteableImage XAML control.
- Record date: 2026-10-19T04:56:22.873Z