Fabric Racing Game
Data Pipeline Edition - 10 Fabric-themed tracks, collect ⭐ data points, avoid 🐛 bugs!
📋 Overview
Race through 10 Fabric-themed tracks in the Data Pipeline Edition! Collect ⭐ data points with a consecutive multiplier up to x10, avoid 🐛 bugs, and reach the finish line with enough points to advance. Vertical scrolling with START and FINISH lines!
🚀 Quick Start
Open a Fabric Notebook and run:
# Cell 1 - Install
%pip install -q fabric-arcade
# Cell 2 - Deploy
from fabric_arcade import arcade
arcade.install("fabric-racing-game")
That's it! A README notebook with complete instructions will be created automatically.
🏆 Fabric-Themed Tracks
| Level | Track | Target | ⭐ Data Points | 🐛 Bugs |
|---|---|---|---|---|
| 1 | Lakehouse Lane | 500 | 12 | 5 |
| 2 | Pipeline Pass | 800 | 14 | 7 |
| 3 | Warehouse Way | 1,200 | 16 | 9 |
| 4 | Dataflow Drive | 1,600 | 18 | 11 |
| 5 | Notebook Narrows | 2,000 | 20 | 14 |
| 6 | Eventhouse Express | 2,500 | 22 | 17 |
| 7 | Shortcut Sprint | 3,000 | 24 | 20 |
| 8 | Capacity Canyon | 3,500 | 26 | 24 |
| 9 | OneLake Overdrive | 4,000 | 28 | 28 |
| 10 | Spark Summit | 5,000 | 32 | 32 |
📊 Scoring System
🔧 Workloads
📦 Fabric Items Deployed
🎯 Scenarios
⚙️ Post-Deploy Configuration
Configure Eventstream
Open RacingEventstream in your workspace and click Edit.
- Add a Custom Endpoint source named
TelemetryInput - Add an Eventhouse destination:
- Data ingestion mode: Event processing before ingestion
- Workspace: Your workspace
- Eventhouse: RacingEventhouse
- KQL Database: RaceData
- KQL Destination table: GameEvents
- Input data format: Json
- Connect Source to Destination
- Click Publish
Get the Ingestion URI
The Ingestion URI is in the KQL Database details:
- Open RacingEventhouse in your workspace
- Click on RaceData database (in the left panel under "KQL databases")
- In the Database details panel on the right, find Ingestion URI
- Click Copy URI
Start the Game
Open the Racing_Championship notebook, paste the Ingestion URI, and run all cells.
Play! 🎮
- ⬅️➡️ Arrow Keys: Steer left/right
- Collect ⭐ data points for bonus score
- Avoid 🐛 bugs or lose points
- Reach the FINISH line with enough points!
- Complete all 10 Fabric-themed tracks to win!
✨ What You'll Learn
- 🎮 Build interactive HTML5 games in Fabric notebooks
- 📡 Configure Custom Endpoints for data ingestion
- 🗺️ Set up JSON mapping in Eventstream
- ⚡ Stream events with sub-second latency
🏁 CHALLENGE: Build Your Pit Wall!
🌟 Homework: Put your Real-Time Intelligence skills to the test!
Create your own "Pit Wall" — a real-time dashboard to monitor the race like a Formula 1 team:
- 📊 Leaderboard Position — Who's winning?
- ⭐ Stars Collected per driver
- 🐛 Bugs Avoided vs Hit
- 🔥 Max Multiplier reached
- 🏆 Current Level of each player
💡 Hint: Use KQL Queryset or Real-Time Dashboard with queries on the GameEvents table!
🏛️ Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ HTML5 Racing │────▶│ Eventstream │────▶│ Eventhouse │
│ Game │ │ (Custom EP) │ │ (KQL Database) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Race Dashboard │
│ (KQL Queries) │
└─────────────────┘
📋 Prerequisites
- ✅ Microsoft Fabric workspace (F2+ capacity or Trial)
- ✅ Contributor permissions on the workspace