Home Applications M-U5K-3T

M-U5K-3T Awaiting Review

by Henry Pereira and 1 others
InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
0
Awards
3
Views
0
IPM installs
0
0
Details
Releases (1)
Reviews
Issues
Videos (1)
M‑U5K‑3T is a browser-based programming game where you write code to control an autonomous rover on a distant exoplanet rich in valuable minerals.

What's new in this version

Initial Release
Submission for the InterSystems Full Stack Contest 2026

  • Embedded Python
  • Docker Container
  • Threejs Frontend

Gitter
License: MIT
InterSystems IRIS
Three.js

M-U5K-3T Banner

πŸš€ M-U5K-3T

The First Autonomous Rover Platform for Extreme Exoplanet Mining

Code locally, deploy globally. Conquer the Red Planet with ObjectScript.


🌌 Motivation

Explorating exoplanets like M-U5K-3T is impossible with direct control due to extreme light-speed latency. By the time you send a β€œTurn Left” command, your rover has already fallen into a crater.

M-U5K-3T changes the game.

It is a gamified simulation platform that challenges developers to write autonomous logic using InterSystems ObjectScript.

  • βœ… Code autonomously: Write the OnTick logic that controls the rover’s brain.
  • βœ… Simulate safely: Test in the β€œDanger Room” (Client-side Simulation) with instant feedback.
  • βœ… Deploy to Orbit: Upload your code to the server to run on the actual map (Server-side Execution).
  • βœ… Visual Feedback: Watch your rover explore, mine, and survive in high-fidelity 3D.

πŸŽ₯ Gameplay Demo

Watch the Twin World Engine in action β€” syncing local simulation logic with server-side ObjectScript execution:

M-U5K-3T Gameplay

Click to watch the full mission replay.


πŸ› οΈ How It Works

M-U5K-3T utilizes a Twin World Architecture to ensure the simulation matches the server execution perfectly.

Core Technologies

  1. InterSystems IRIS Data Platform

    • Stores mission maps, user profiles, and leaderboards.
    • Executes the user’s ObjectScript code in a secure Sandbox environment.
    • Generates the authoritative β€œTimeline” of the mission.
  2. Frontend Simulation (The Danger Room)

    • A mirror of the server logic written in JavaScript.
    • Allows developers to test their algorithms in real-time without latency.
    • Powered by a custom Transpiler/Parser.
  3. 3D Visualization Engine

    • Three.js powered rendering.
    • GLTF Assets: Uses high-fidelity models (dropship.gltf, lander_base.gltf).
    • Atmospheric Effects: Dynamic fog and lighting to simulate the Martian environment.

Architecture Overview


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    User (Mission Control)                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ Writes ObjectScript
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Frontend (The Danger Room)                 β”‚
β”‚  - Mock Simulation (Instant Feedback)                       β”‚
β”‚  - Three.js Renderer (Preview Mode)                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ DEPLOY (POST /api/deploy)
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  InterSystems IRIS (Server)                 β”‚
β”‚  - Sandbox.CompileUserCode()                                β”‚
β”‚  - Mission.Run() -> Generates JSON Timeline                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ Returns Timeline & Map Data
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Mission Renderer (Orbit View)              β”‚
β”‚  - Replays the server timeline step-by-step                 β”‚
β”‚  - Validates score and fuel consumption                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


πŸ“‹ Prerequisites

  • Docker and Docker Compose
  • InterSystems IRIS (Community Edition or Health)
  • Modern Browser (Chrome/Firefox) for WebGL support

πŸ› οΈ Installation

1. Clone the Repository

git clone [https://github.com/musketeers-br/M-U5K-3T](https://github.com/musketeers-br/M-U5K-3T)
cd m-u5k-3t

2. Build and Run

docker-compose up -d --build

3. Access Mission Control

Open your browser at:
🌐 http://localhost:52773/m5k3t/index.html


πŸ’‘ How to Play

Step 1: Analyze the Map

Sensors indicate obstacles and minerals. Your goal is to collect minerals (Blue/Gold Crystals) and return to base (optional for some missions) without running out of Fuel or HP.

Step 2: Program Your Rover

Write ObjectScript in the embedded terminal. You have access to the context object.

ClassMethod OnTick(context As %DynamicObject)
{
    // 1. Get Sensor Data
    Set sensors = context.rover.sensors
    Set front = sensors.front  ; "CLEAR", "OBSTACLE", "MINERAL"
// 2. Decide Action (Move, Turn, Collect)
If (front = "MINERAL") {
    Do context.Move() ; Auto-collects when stepping on it
} ElseIf (front = "OBSTACLE") {
    Do context.Turn("east")
} Else {
    Do context.Move()
}

}

Step 3: Deploy

  1. Click EXECUTE TEST to run in the Simulation (Danger Room).
  2. Click DEPLOY TO ORBIT to send your code to the server.
  3. Watch the replay. If successful, the next mission unlocks!

πŸ—‚οΈ Project Structure

m-u5k-3t/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ dc/
β”‚   β”‚   └── mu5k3t/
β”‚   β”‚       β”œβ”€β”€ engine/          # Game Logic (Server Side)
β”‚   β”‚       β”‚   β”œβ”€β”€ Sandbox.cls  # Secure Code Execution
β”‚   β”‚       β”‚   β”œβ”€β”€ Game.cls     # Physics & Rules
β”‚   β”‚       └── api/             # REST API
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ index.html               # Main UI
β”‚   β”œβ”€β”€ main.js                  # App Logic & State Machine
β”‚   β”œβ”€β”€ simulation.js            # Client-side Physics Engine
β”‚   β”œβ”€β”€ MissionRenderer.js       # Three.js Visualization Class
β”‚   └── assets/                  # 3D Models (GLTF) & Textures
β”œβ”€β”€ docker-compose.yml
└── README.md


πŸ“Š Roadmap

βœ… v1.0 MVP (Current)

  • Basic Movement & Physics
  • ObjectScript Transpiler/Executor
  • 3D Renderer with Three.js
  • β€œTwin World” Sync (Client/Server)
  • Asset Pipeline (GLTF Loader)

πŸŽ–οΈ Credits

M-U5K-3T is developed with πŸ’œ by the Musketeers Team:

3Musketeers-br


πŸ“„ License

This project is licensed under the MIT License.

Made with
Install
zpm install dc-mu5k-3t download archive
Version
1.0.020 Feb, 2026
Ideas portal
Category
Technology Example
Works with
InterSystems IRIS
First published
20 Feb, 2026
Last edited
20 Feb, 2026