dfe-blazor is a game engine written in C# and JavaScript, using Blazor to compile to WebAssembly.
The virtual 3D game view is created using a custom raycasting engine that supports loading textures and sprites from PNG files.The raycaster is written in C# and individual video frames are sent to the HTML canvas using JavaScript Interop functionality provided by Blazor.
The client-side render loop is handled by the JavaScript requestAnimationFrame method. On the server side, we use C# async Tasks and the Task.delay method to run a non-blocking game loop.
Multiplayer support and the client-server networking model use the SignalR protocol.
This project is no longer under active development, however the only major component missing from the current version is collision detection. At present, it could work as a sort of virtual chat room.