dek / Multiplayer Systems Engineer
I create networking, rendering and gameplay systems for multiplayer games / MMORPGs.
Below is a selection of my work, most of which has been on Hordes.io. If you feel like I could help you with a project, please reach out to me via email.
I am also on X / Twitter and GitHub.
===
Real-time Networking
Created a dynamic tick rate netcode system to handle spike loads while maintaining a playable experience for players:
Navigation Mesh Generator + Pathfinding
Custom navmesh generation and baking, allowing for seamless navmeshes in large open world spaces without size limitations.
3D Renderer (Open World)
A custom-built WebGL 3D renderer for an MMORPG (Hordes.io), optimized for typical high-load situations, e.g., many moving entities as well as large open worlds with full freedom of movement. This renderer achieves 144+ FPS in the browser on consumer-grade hardware.
Combat Engine
World Editor
A fully featured 3D world editor in the browser allowing the creation of large open worlds as well as placing monsters + real-time network connection to the game server. Features:
- Terrain height & texture map editing (brush + mask based) (🎞️ Video: Heightmap Editor)
- Prop placement + manipulation
- Placing water bodies & sloping (🎞️ Video: Water Editor)
- Area / Tile ID editing / Hole placement (🎞️ Video: Tile ID Editor)
- Spawn, Node & Path editing (🎞️ Video)
- Debug visualizations: chunks, prop colliders, elevation, walkability, nav-mesh (🎞️ Video)
- "Movie mode" to record and play back pre-set camera paths with hidden UI
- Automatic reloading of changed assets
- Multiplayer editing: (🎞️ Video 1, 🎞️ Video 2)
Multiple editors for quick editing of MMORPG content as well as getting comprehensive overviews over already existing content. Automatic compilation of all data into a single binary file for clients to read.
- Foliage Editor (🎞️ Video)
- Buff Effect Editor (🎞️ Video)
- Projectile Editor (🎞️ Video)
- Particle Editor (🎞️ Video)
- World Overview + Editors (🎞️ Spawn + Path editor, Navmeshes)
- Terrain & Biome Set creator
- Sound & Sound Sets
- Loot & Drop rate management
- Table inspector: quick insights + fuzzy search into the entire game's content
MMORPG Systems
A complete MMORPG database with several systems and atomic transactions using PostgreSQL.
- Trading: Auction House / Merchant System for player trading (📷 Image: Merchant UI)
- Items: Inventory, Stash, Upgrading (🎞️ Video: Blacksmith Upgrading)
- PVP: Fame Steal System, ELO based Arena, Prestige System (📷 Image: Prestige System)
- PVE: Boss Kill Analysis, Class Performance Analysis, Reward Systems (📷 Image: Boss Logs)
- Social: Chat, Friend System, Party, Clan Systems
- Economy: Player farming behavior, Economy logging and analysis
Backend / DevOps Systems
Various systems useful for running live service / multiplayer games. I've worked with common backend tools for scaling and delivery.
- Single writing + multiple read-only DB connection
- Tested up to 80M transactions per day
- Low frequency + high frequency selective database backups
- Transactional emails & Marketing/Newsletter system
- Stream integration: Twitch streamer in-game display
- UI Localization allowing for community members to contribute
- Player feedback poll collection & analysis/visualization
- Discord bot: allow players to look up items and player gear + alert moderators
- Daily & Weekly automated maintenance tools
- Test runners for simulating organic player load and behavior
- NGINX reverse proxy and load balancing
- Cloudflare CDN for cache utilization
Asset Pipeline
Content pipeline which allows for tracking of asset MD5 hashes for quick diff checks and automatic re-bundling. The primary use of this system is to ensure a consistent post-processing step for all assets, normalizing export settings and allowing a non-destructive creative workflow without having to manually re-export files. When an asset is saved by a designer, the game files are exported into output formats with the correct compression settings.
- Auto resize, crop, encoding of textures in DXT / ASTC / AVIF formats
- Compiling and updating of texture atlases
- Compiling minimaps from world data
- Post-processing of alpha textures (foliage, etc.) for improved MipMaps
- Automatic reloading of assets in 3D editor, improving the creative process
- Audio file volume normalization and OGG / WAV compression
- Lossy compression of geometry into custom 3D file format
Moderation Systems
Created a moderation platform for staff members, allowing moderating player accounts. Systems include:
- Chat log analysis
- Merchant / Auction house activity
- Player account management locking
- Permission system for fine-grained access control
- Player report system
- Neural network-based chat sentiment detection
- Moderation logs