NymQuest - Where adventure meets privacy – Introducing the First (?) MMORPG powered by Nym Mixnet technology

Hi!!
I’m in the process of developing a technical base for an mmorpg that would use mixnet for communication!!

Here is the project presentation:

NymQuest: Privacy-Focused Multiplayer Game

NymQuest is a privacy-preserving multiplayer game that leverages the Nym mixnet to ensure secure, anonymous communications between players. This innovative game demonstrates the practical application of privacy-enhancing technologies in interactive entertainment.

Project Overview

This project showcases how the Nym network can be used to build privacy-preserving applications beyond traditional financial or messaging use cases. The game features (actually):

  • Private Communications: All game data is transmitted through the Nym mixnet, preventing network observers from linking players to their actions
  • Terminal-Based Interface: Lightweight client with colored UI for an engaging gaming experience
  • Real-Time Multiplayer (with bugs): Move around a 2D world, chat with other players, and engage in simple combat
  • Anonymous Identity: Players can create characters without revealing their real identity

Architecture

The project consists of two main components:

Server

  • Manages the game state and player connections
  • Processes player commands (movement, attacks, chat)
  • Broadcasts game state updates to all connected players
  • Handles player registration and disconnection

Client

  • Connects to the server through the Nym mixnet
  • Renders the game state in a terminal interface with colors (very experimental haha)
  • Processes user input for movement and actions
  • Displays a mini-map of the game world showing player positions (bugged for now)

Technical Stack

  • Rust: Core programming language for both client and server
  • Nym SDK: Privacy infrastructure for anonymous communications
  • Tokio: Asynchronous runtime for handling concurrent operations
  • Serde: Serialization/deserialization of game messages
  • Colored: Terminal text coloring for improved UI

Github repository: GitHub - koutakou/NymQuest: NymQuest - Where adventure meets privacy – Introducing the First MMORPG powered by Nym Mixnet technology

Some screen (in its current state)
Server

Client 1

Client 2

2 Likes

Hi! Thanks for sharing this — it looks like a really interesting and unique project that brings together privacy and gaming.

I had a few questions about your plans for the game:
1. How do you plan to develop the full version of the game?
Are you building it entirely solo, or planning to expand the dev team?
2. How do you plan to attract users to play the game once it’s live?
Will it be open-source community-driven, or do you plan some kind of marketing or outreach campaign?
3. How will you store user data such as login credentials, character progress, and other persistent information?
Will this be on-chain, off-chain, or some hybrid? And how do you ensure privacy while still keeping data persistent?

Looking forward to seeing how this evolves — it’s a cool concept and I’d love to follow its development!

1 Like

Thanks for the interest!

In general
1- For the moment I’m solo but why integrate people, I’m open to all contributions and ideas!
2- For the time being, I plan to promote the game through the community and my personal and professional circle. In my mind, I see a lot of open source stuff
3- The question of storage is a good one, I’d like to play the decentralization and onchain game as much as possible, but we’ll have to see about that in detail, for the moment it’s stored in the program’s internal state, so it’s reset if I cut it.
As for the warranty, since I’m relying heavily on open source, it should be fine ahah, nothing personal will be stored anyway.

I’m also looking forward to making progress on this project!

1 Like

Are you planning to create this on the Unity, UE, or some other engine of your own?

ideally, the client should natively integrate the nym sdk, so probably a 1st web version (with the typescript version of the sdk).
in fact, I’d like to avoid having a kind of middlware between server and client

1 Like

I pushed a 1st version of the code → GitHub - koutakou/NymQuest: NymQuest - Where adventure meets privacy – Introducing the First MMORPG powered by Nym Mixnet technology

1 Like

NymQuest Update

I’m excited to share the latest developments in NymQuest, my privacy-focused MMORPG powered by Nym Mixnet technology. Since the initial release, I’ve implemented several significant improvements to enhance both the gameplay experience and user interface while maintaining my commitment to privacy

UI Enhancements

  • Bordered Interface Sections: I’ve completely redesigned the terminal UI with properly bordered sections using Unicode box-drawing characters for a more polished look
  • Enhanced Health Visualization: Health is now displayed as an intuitive progress bar with color-coding (green/yellow/red) based on current health levels
  • Distance Indicators: Players can now see the distance to other players with visual indicators showing whether opponents are within attack range
  • Improved Mini-Map: The mini-map now features proper borders, grid points, and better player positioning, making it easier to navigate the game world
  • Color-Coded Status Information: Player information is now color-coded based on proximity and status, allowing for faster situational awareness

Gameplay Improvements

  • Diagonal Movement: Added full support for diagonal movement with intuitive commands (/ne, /nw, /se, /sw) for more flexible navigation
  • Enhanced Command System: Expanded command shortcuts and improved auto-completion for a more responsive gaming experience
  • Attack Range Visualization: Clear indicators show when players are within attack range, enhancing combat strategy
  • Improved Player Identification: Enhanced display IDs now use word-number combinations (e.g., Warrior123) rather than sequential numbering for better anonymity

Technical Improvements

  • Better Message Authentication: Enhanced HMAC-SHA256 implementation ensures all communications are properly authenticated
  • Improved Error Handling: More robust error handling with privacy-preserving error messages that don’t leak sensitive information
  • Protection Against Replay Attacks: Messages are now verified with sequence numbers and authentication tags to prevent replay attacks
  • Session Integrity Protection: The system now prevents identity conflicts by requiring proper disconnection before allowing new registrations

Privacy Enhancements

  • Enhanced Metadata Protection: Further reduced metadata leakage in all communications
  • Anonymous Authentication Verification: Improved authentication flows maintain anonymity while ensuring security

I encourage everyone to try out these new features and provide feedback. NymQuest remains open source and available on GitHub: github.com/koutakou/NymQuest

Some screen with updated client
Player 1

Player 2

1 Like

NymQuest Update 2

UI Enhancements

Console Display Refinements: Fixed critical console formatting issues including border alignment problems, text padding, and width calculations that were causing visual inconsistencies in the terminal interface.

Real-Time Status Dashboard: Implemented a comprehensive client-side monitoring system displaying connection health with 5-level quality indicators (Excellent → Critical), privacy protection levels with visual status indicators, and live message delivery tracking from sent to delivered/failed states.

Enhanced Information Display: Added complete command documentation with detailed movement shortcuts, comprehensive emote listings, and improved overall visual consistency throughout the console interface.

Network Statistics Visualization: Real-time metrics now show average latency, packet loss rates, success rates, and anonymity set size monitoring for enhanced privacy awareness.

Gameplay Improvements

Emote System: Introduced eight distinct emote types (wave, bow, laugh, dance, salute, shrug, cheer, clap) with visual emoji representations, processed through the Nym mixnet for privacy-preserving social interaction.

Command Aliases & Shortcuts: Added intuitive command aliases (/r, /m, /a, /c, /h, /q) and direct movement shortcuts including diagonal movement (/ne, /nw, /se, /sw) with interactive tab completion.

Improved Movement Mechanics: Enhanced diagonal movement normalization and synchronized world boundaries between client and server for smoother gameplay experience.

Configuration Management: Integrated comprehensive configuration system with environment variable override support, allowing customization of movement speed, attack range, damage values, and combat mechanics.

Technical Improvements

Game State Persistence: Implemented automatic game state saves every 2 minutes with backup creation, player data recovery on server restart, and automatic cleanup of offline players (>5 minutes), all while maintaining privacy-preserving design.

Heartbeat Mechanism: Added robust connection monitoring with server-side heartbeat requests, automatic client responses, and proper removal of inactive players to maintain game state consistency.

Structured Logging System: Replaced basic output with comprehensive structured logging using JSON formatting, rolling daily logs, environment-based filtering, and privacy-compliant logging that avoids sensitive data exposure.

Concurrent Architecture: Enhanced server with background task scheduling, asynchronous event loops, and non-blocking concurrent processing for optimal performance under load.

Security & Privacy Enhancements

Critical Replay Protection Fix: Resolved a critical vulnerability in the sliding window approach, replacing unsafe sequence number generators with thread-safe atomic implementations.

Multiple Registration Prevention: Implemented safeguards to prevent multiple registrations from the same client, enhancing identity protection and preventing conflicts.

Enhanced Mutex Operations: Improved robustness of mutex operations to prevent application crashes and replaced Mutex with RwLock in GameState for better concurrent access patterns.

Privacy-Preserving Monitoring: All new monitoring and logging features are designed with privacy-first principles, ensuring no compromise to user anonymity while providing valuable insights.

As always NymQuest remains open source and available on GitHub: GitHub - koutakou/NymQuest: NymQuest - Where adventure meets privacy – Introducing the First MMORPG powered by Nym Mixnet technology

Here is some updated screen

Server

Client 1


Client 2


Server

1 Like

For anyone interested/curious or wishing to contribute, I’ve restructured the documentation to make it easier to understand (and also for me to find my way around :laughing:)

I’ve added an automatic release CI on the github side, as well as a check that there are no errors or compilation warnings :slight_smile:

There’s now a binary for the server and client if you want to run it at home without having rust installed. Normally it works on mac (intel or silicon), linux and windows.

1 Like

New release :blush:Release Release v0.1.3 · koutakou/NymQuest · GitHub


NymQuest v0.1.3

What’s Changed

Enhanced Privacy Protection

  • Added message prioritization system to protect against timing correlation attacks
  • Implemented variable jitter based on message sensitivity with four priority levels
  • Enhanced privacy protection during high server load situations
  • Improved protection against traffic analysis through timing patterns

Server Optimization

  • Optimized server logging system to reduce redundant information
  • Eliminated duplicate configuration log entries
  • Enhanced log readability and performance
  • Maintained privacy and anonymity principles throughout all changes

Documentation Updates

  • Updated privacy documentation with details on the new prioritization system
  • Added information about message priority levels and their privacy benefits

Installation

Download the appropriate package for your platform:

  • Linux (x86_64): nymquest-linux-x86_64.tar.gz
  • Windows (x86_64): nymquest-windows-x86_64.zip
  • macOS (Intel): nymquest-macos-x86_64.tar.gz
  • macOS (Apple Silicon): nymquest-macos-aarch64.tar.gz

Each package includes both server and client binaries.

Upgrade Instructions

If you’re upgrading from v0.1.2 or below, simply replace the binaries with the new versions. No database migration or configuration changes are required.

1 Like

Here is the v0.1.4 → Release Release v0.1.4 · koutakou/NymQuest · GitHub

What’s Changed

Security Enhancements

  • Implemented key rotation with forward secrecy for message authentication
  • Added message expiration mechanism to prevent delayed replay attacks
  • Improved security model with time-based message validity

Gameplay Improvements

  • Added experience points and leveling system for character progression
  • Enhanced character development and gameplay progression mechanics
1 Like

Hello everyone!

Just to inform you that an update of the client is under development to use ratatui which is a lib allowing to make more … modern terminal interface … haha

Hey @koutakou, welcome to the community!

We discussed your project at the first NSL council meeting. It’s an original idea and really cool!

What we would love to see is:

  • a browser/webapp based version of the game to make it more accessible
  • a deeper tie with the cypherpunk lore and/or a more intensive use case of the mixnet around this game

We’re also more than happy to help flesh out some of that worldbuilding with you. If you’d like to explore support through a grant, please feel free to share:

  • Relevant milestones for your project
  • Estimated $NYM token amount per milestone

Let us know your thoughts!

1 Like

Hi @sudonym

Thank you so much for the recognition and support!

On the Browser/Webapp Version
This is absolutely something I want to pursue! My main concern is maintaining the core principle of direct client-to-mixnet communication. From what I understand, the Nym TypeScript SDK is currently in maintenance mode - could you provide insight on its current status and roadmap?

I’m committed to avoiding any middleware that could compromise privacy, so I’d need to ensure the web client can still communicate directly with the mixnet :smile:

On the Cypherpunk Lore & Worldbuilding
This suggestion is … excellent haha! I deliberately kept the lore minimal initially to leave room for community input, and anchoring it in cypherpunk philosophy feels like the perfect direction.

I had already thought about 2-3 things:

  • A dystopian world where surveillance is omnipresent
  • Players as digital freedom fighters using mixnets to organize resistance
  • Quests involving cryptographic puzzles, privacy tools, and information liberation
  • NPCs inspired by cypherpunk pioneers and privacy advocates

Here are my proposed milestones with development/effort estimates (to begin with):

Milestone 1: Web Client Development

  • Implement browser-based client with direct mixnet integration
  • Responsive UI suitable for web browsers
  • Estimated effort: ~5 weeks
  • Requested: ~60k NYM

Milestone 2: Cypherpunk Lore Integration

  • Develop comprehensive worldbuilding with cypherpunk themes
  • Create story-driven quests and NPCs
  • Implement privacy education elements within gameplay
  • Estimated effort: ~3 weeks
  • Requested: ~50k NYM

Milestone 3: UI/UX & Accessibility

  • Professional UI/UX overhaul for broader appeal
  • Accessibility features and mobile optimization
  • Onboarding tutorial for privacy concepts
  • Estimated effort: ~2.5 weeks
  • Requested: ~25k NYM

This is the 1st time I’ve applied for a grant, and I have no idea what you’re used to in terms of budget, so of course it’s a completely open to discussion :blush:

Lastly, I’m also directly affiliated with the French school Alyra (which Alexis Roussel knows well, hahah) and I’d love to see a potential partnership with a pedagogical scope, but also for our learners to be able to contribute to it

1 Like

Hello everyone! Here is NymQuest v0.2.0 :blush: Release Release v0.2.0 · koutakou/NymQuest · GitHub

What’s Changed

Cypherpunk Integration

This release introduces a comprehensive integration between the Nym mixnet’s privacy-preserving technology and the game’s cypherpunk worldbuilding, creating a cohesive experience where technical privacy features are seamlessly woven into gameplay:

Technical-Narrative Integration

  • Region-Based Privacy Mechanics: Each world region (Neon Harbor, Deep Net, Data Havens, Dead Zones, The Grid) now has unique security and surveillance properties :

    • High surveillance areas implement increased message pacing intervals and more aggressive padding
    • Low surveillance areas optimize for message delivery with reduced padding overhead
    • But of course you keep all the advantages of the NYM mixnet in terms of privacy :laughing:
  • Mixnet Health Monitoring: The new comprehensive monitoring system provides real-time feedback on mixnet performance, surfacing technical details to players as in-world “security levels” and “surveillance risks”

  • Faction-Specific Network Behaviors: Each faction now has distinct relationships with mixnet technology:

    • Nyms receive bonuses to anonymity and communication speed
    • Corporate Hegemony features advanced surveillance capabilities
    • Cipher Collective specializes in encrypted communications
    • Algorithm Monks can detect surveillance risks and optimize pathways
    • Independent Operators adapt mixnet usage based on skills

Privacy Enhancements

  • Enhanced message padding with thread-safe implementation
  • Added dynamic message size padding for improved traffic analysis resistance
  • Implemented message size normalization to prevent correlation attacks
  • Maintained strong privacy protection principles across all new features

Technical Improvements

  • Fixed unnecessary type cast in mixnet_health module
  • Optimized message handling for better performance

Installation

Download the appropriate package for your platform:

  • Linux (x86_64): nymquest-linux-x86_64.tar.gz
  • Windows (x86_64): nymquest-windows-x86_64.zip
  • macOS (Intel): nymquest-macos-x86_64.tar.gz
  • macOS (Apple Silicon): nymquest-macos-aarch64.tar.gz

Each package includes both server and client binaries.

Upgrade Instructions

If you’re upgrading from v0.1.4 or below, simply replace the binaries with the new versions. No database migration or configuration changes are required.

1 Like