A geometallurgical strategy game built around pit design, processing routes, sustainability, and economic tradeoffs.
Welcome to OreCraft
Enter your account email and OreCraft will send you a password-reset link.
This link lets you set a new password for your OreCraft account.
Don't have an account? Contact your instructor.
๐ Leaderboard
Loading...
Company Overview
๐๏ธ
Loading company...
Portfolio, readiness, and total company position across all owned deposits.
Loading company overview...
Loading roster...
๐งญ Course Progress
Loading team status...
โ๏ธ Company Owned Deposits
Open any deposit below to continue planning, drilling, and mining.
Layer View
Fe Grade
Layer options
Listed layers
Export CSV
Unknown (fog)
Low Fe (<30%)
Medium Fe (30-45%)
High Fe (45-55%)
Premium Fe (>55%)
Mineable
Selected
Multi-selected
Block markers
๐งญ Queue Control
Review queued drilling, lab work, and mining here. Commit the turn or clear the queue from this bottom dock instead of from the block view.
No actions queued. Select a block and queue drilling, analyses, met tests, or mining.
๐ญ Production
Review the latest committed production outcome here: block revenue, penalties, net result, and impact deltas.
Commit a turn to see the latest production result.
๐๏ธ Capital Scope
This tab focuses on one-off project spend: route choices, pit sequencing, drilling, assays, and metallurgical work that gets queued and committed.
Recurring roster salaries, payroll burden, and regional tax load now live under OpEx so students can separate day-to-day burn from discrete investment decisions.
๐ฅ Payroll & Region Profile
Students can inspect recurring salary load, employer-side payroll burden, and the assigned operating region here. The instructor selects the region profile.
Assigned region profile
Not assigned
Load your company profile to see staffing OpEx.
๐ฑ Environmental Permit
COโ
0 / 500 kt
Tailings
0 / 12 Mt
Water
0 / 10 Mmยณ
๐ Env Mgr: Per block mined โ +0.004 kt COโ ยท +0.0001 Mt tailings ยท +0.0005 Mmยณ water
Permit guidance appears here after the instructor assigns a region profile.
Loadingโฆ
๐ค Community Impact
Popularity
55 / 100
Local Trust
55 / 100
Complaint Pressure
0 / 100
Stable community relations
๐ CRM: Popularity trend
๐๏ธ Community Actions & Programs
Invest in community initiatives to build trust and reduce complaint pressure.
Regional community-program guidance appears here after the instructor assigns a region profile.
Load a game to see actions.
๐ Impact Milestones
No badges yet.
๐ Overview
Core financial and pit metrics for the active save.
Budget
-
Revenue YTD
-
Estimated NPV
-
Max Commit Duration:
No limit
Queued Actions:
0 queued
Blocks mined
0
Ore mined
0.00 Mt
Total analyses
0
Explored area
0%
Mine progress
๐ Market
Commodity prices, energy cost, and FX now live here instead of the header.
Energy
-
Live source pending โข fallback 0.80 SEK/kWh
FX
-
Live source pending โข fallback 10.50 SEK/USD
๐ Cash Flow
Load a game to view cash flow.
๐ฆ Stockpile Position
Empty
๐ฏ Block Snapshot
โญ Active Team Bonuses
Role effects stay tucked under the block snapshot so Overview remains compact but still explains why capacity, permits, or finance changed.
Load a game to see role bonuses.
๐ท Crew Capacity & Hiring
Each role caps how many actions of that type fit in one turn. Hire to grow operating capacity and track staffing spend here (max 6 per role).
Loading crewโฆ
๐ญ Route Costs & Processing
Mine accessible ore from the top down, then send it to the selected route in one action. Analysis stays restricted to sampled blocks from geomet drilling.
Use the selection toolbar to geomet drill, analyze sampled blocks, then Mine and send them to a route.
๐ Operations Log
๐ Instructor Controls
Course policy comes first, class monitoring comes second, and team-specific controls stay split into access, games, difficulty, and reset.
Active Team Workspace
One shared team selection drives access, game, difficulty, and reset tabs.
Selected team
Instructor Console
Scenario Design
Tools
Game Business Management
Users & Roles
Insights
Pending Logos
No pending logos.
๐ฎ Game Settings
Changes save automatically. General max turns applies course-wide unless a team override or per-save override replaces it. The duration cap below separately blocks commits whose queued workload would take longer than the selected maximum.
Class progress snapshot
Loading class metricsโฆ
๐ Leaderboard score guide
Mine score stays weighted at 35% profitability, 25% efficiency, 25% stability, and 15% sustainability. The labels are student-friendly, but each category maps back to concrete operating behaviour.
Profitability
Rewards teams that preserve value after spend, protect cash, and avoid destructive route choices. Blind low-grade shipping should fall quickly here.
Efficiency
Rewards productive tonnes per elapsed turn, cost discipline, and how much ore was actually defined before mining rather than only revealed afterwards.
Stability
Rewards runway, debt control, and resilience if the current plan continues. Teams with collapsing budget or mine value should separate faster now.
Sustainability
Rewards environmental and community headroom, but also whether the team is building a mine that is ready to keep operating instead of just surviving one turn.
Latest tuning check: five live team runs showed that early blind extraction was too tightly clustered, so value destruction and pre-mining definition now move the score more visibly in the opening turns.
๐ Class Analytics
Click Refresh to load.
๐งฎ Leaderboard internal comparison
Instructor-only view of the internal scoring components behind the public mine score. Useful for comparing whether top teams are winning through production, cost control, balance-sheet strength, or lower risk.
Click Refresh to load.
Teams
Loading teamsโฆ
Mineral to Elements
Pick minerals from the shared mineral catalog, enter any relative amounts or percentages, and OreCraft normalizes the blend to calculate chemical assays from the mineral database.
Calculated Assays
This tool is server-admin only. It uses the same mineral chemistry definitions already stored in the OreCraft mineral catalog, so the outputs stay aligned with scenario generation and truth views.
Run a calculation to see normalized blend percentages, estimated density, and chemical assays.
Element to Minerals
Use the shared mineral database as a reverse lookup. Pick an element and OreCraft lists minerals that contain it, sorted by element percentage.
Matching Minerals
Select an element to inspect matching minerals.
Mineral Database
Shared mineral chemistry used by scenario generation, truth views, and the mineral-to-elements tool.
Loading mineral database...
Scenario Assignment
Assign published scenarios to players for their team games. Players will see assigned scenarios in their Course Setup page.
\n
Current Assignments
Loading assignments...
Block View
View full-truth block models from scenario drafts (simulated), published scenarios, or deposit models. Shows complete geology, chemistry, mineralogy, and derived layers.
Inspection only. Use Scenario Designer to edit drafts and run simulations. This view shows the frozen block truth for QA and analysis.
Select a source to load its block model.
Resource Estimate
Load a deposit to calculate ore tonnes, cutoff buckets, and payable content.
Legend
Deposit Composition
Load a deposit model to see its chemical and mineral composition.
Simulate Scenario
Runs a full geometallurgical and economic simulation across all blocks in the deposit. Converts the geological model into metallurgical performance, economic value, and environmental impact, and displays the results as interactive spatial layers.
Scenario Draft Simulation
View block truth from scenario drafts that have been simulated. Displays all layers including chemistry, mineralogy, processing routes, economics, and risk flags.
Block Truth
Select a block to inspect its full geology, chemistry, density, and geometallurgy.
Full Deposit Grid
Block size:
Click a block to inspect its full truth. This view ignores fog of war and student unlock state, so it is suitable for scenario QA and instructor planning.
Deposit Model Designer
Create reusable deposit models for use in new scenarios. Deposit models are frozen only when a scenario is packaged.
Saved Deposit Models
| Name | Deposit Model ID | Deposit type | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Deposit identity
Mineral selection
Open the shared mineral database, search and confirm the minerals you want in this model, then tick which zones can source each mineral. Only zone-enabled minerals appear in zone mineralogy and CSV import.
Geometry
Zone mineralogy
For each zone, enter a median mineral fraction and coefficient of variation for the minerals that are enabled as sources for that zone. Fractions are entered as percent and will close to 100% per block.
Rock texture
Per-zone grain size (ยตm), size variation (CV), liberation complexity (0 = simple, 100 = very complex), and mineral association complexity. Derived class shown below each complexity score.
CSV import
Option B: one CSV with a layer column, x and z coordinates, and mineral fraction columns for the selected minerals. Layer values must map to ore, transition, or host.
No CSV preview loaded.
Validation & Preview
Preview the 2D XZ block model to inspect density, chemistry, texture class, hardness, and BWI modifier before saving.
Preview Summary
No preview calculated yet.
Preview Issues
Preview Blocks
The sample below shows block-level XZ output with zone, normalized mineral fractions, derived density and chemistry, texture class, hardness index, BWI modifier, and source flag.
Mineral database
Search the shared OreCraft mineral list, tick the minerals you want, then confirm them into the deposit model.
No minerals selected.
Scenario Designer
Create profile-based scenarios, save as drafts, and package them as immutable assignable scenarios for students.
Saved Scenarios
| Display Name | Slug | Status | Updated |
|---|---|---|---|
| Loading... | |||
Scenario Designer
draft
Slug:
(generated on first save)
Scenario Simulation
Generate block truth with geometallurgical performance, economics, and environmental impact. Required before packaging.
Note: Student observations must use knowledge_state_json in Slice 6B. This panel shows the hidden ground truth for scenario QA only.
Packaging freezes the selected deposit model, mining model, processing model, analysis model, impact model, jurisdiction model, economics model, evaluation model, and difficulty modifier set into one immutable scenario package. Later edits to those source models will not affect this package.
Evaluation Model Designer
Create reusable evaluation models for use in new scenarios. Evaluation rules are frozen only when a scenario is packaged.
Saved Evaluation Models
| Name | Evaluation Model ID | Scoring focus | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Evaluation Model
Define how the scenario is judged at the end of play. You can save named evaluation models to the shared library, import/export them as JSON, then assign one to the Scenario Designer while still freezing the full rules into each saved scenario template.
Objective Evidence Thresholds
For geometallurgy teaching, define how much evidence students need before the scenario objective counts as complete. This keeps value-of-information separate from pure end-value scoring.
Win Conditions
Lose Conditions
Score Model
Outcome Resolver
Resolver order: if a lose condition is met, the result is LOSS. Else if all active win conditions are met, the result is WIN. Else if the turn limit is reached, the scenario closes and the final weighted score is evaluated. Students may close a deposit without mining every block.
Evaluation Summary
Open Scenario Designer or Start New Scenario to initialize the evaluation model.
Model Structure
ScenarioEvaluation โ Win Conditions / Lose Conditions / Score Model / Outcome Resolver. Saved evaluation models are reusable authoring presets; the scenario template still stores the full evaluation JSON it was saved with and published packages freeze that payload for runtime use.
Difficulty Presets
Edit warmup, normal, advanced, and challenge tier definitions. Download the updated file and deploy it to
frontend/config/difficulty.json to apply changes.Mining Model Designer
Create reusable mining models for use in new scenarios. Mining models are frozen only when a scenario is packaged.
Saved Mining Models
| Name | Mining Model ID | Rule cases | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Mining model identity
Rule Case
Select the mining method this model uses. Each profile defines one case โ students will use exactly this method when assigned this model.
Unconstrained mining with no geometry restrictions. Each turn the engine extracts up to the production rate from any block.
Surface extraction constrained by pit geometry. Requires top-free access above mined blocks. Slope ratio limits lateral span.
Sub-surface extraction via tunnels and shafts. Requires a connected access path from the surface to the ore zone.
Simultaneous open pit and underground operations. Requires pit geometry rules AND underground connection. A separation layer gap is maintained between pit bottom and UG workings.
Validation & Preview
Fill in the fields above to see the active rule case summary.
Processing Model Designer
Create reusable processing models for use in new scenarios. Processing models are frozen only when a scenario is packaged.
Saved Processing Models
| Name | Processing Model ID | Routes | Coverage | Updated | Usage |
|---|---|---|---|---|---|
| Loading... | |||||
Processing model identity
Model Summary
No model loaded.
Deposit-derived inputs
Select a source deposit model for mineralogy and texture variables. Used for authoring preview and compatibility traceability. Runtime uses the deposit frozen in the scenario package.
No deposit model selected yet.
Expected deposit-derived variables
texture_complexity
association_complexity
modal mineralogy wt%
Mineral system compatibility
Optionally define required and optional minerals. Used for compatibility checks when packaging a scenario.
Route inventory
Add concentration plant, stockpile, waste, or shipping routes. Select a route card to edit its parameters.
No routes in this model yet.
Selected route editor
Select a route from the inventory above to edit its parameters here.
Route details will appear here.
Validation & Preview
Run a quick simulation for concentration plant routes using the selected deposit model and the currently loaded processing model.
No simulation run yet.
Save Processing Model
Saves the processing model to the server catalog so it can be selected in the Scenario Designer. The model is frozen only when a scenario is packaged.
Enter a display name and configure the model, then click Save Processing Model.
Company rankings
Instructor-only ranking of student companies across scored saves. This keeps the teaching signal visible without opening the public leaderboard modal.
Load ranked saves to compare company performance.
No ranked company saves are available yet.
Scenario learning outcomes
Completion and score patterns by scenario help instructors see which scenarios are reinforcing the intended operating decisions and which ones are stalling students.
Load scenario and leaderboard data to review completion patterns.
No scenario learning outcomes are available yet.
Impact Model Designer
Create reusable Impact Model profiles for use in new scenarios. Impact Models are frozen only when a scenario is packaged.
Saved Impact Models
| Name | Impact Model ID | Impact categories | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Impact Model Identity
Fill in the Impact Model values on the right.
Environment
Social, Governance, and Safety
Impact Baseline Preview
Select an Impact Model to inspect impact model values.
Economy Model Designer
Create reusable economy models for use in new scenarios. Economy models are frozen only when a scenario is packaged.
Saved Economy Models
| Name | Economy Model ID | Commodity / currency | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Economy Model Identity
Economic models control capex, operating costs, price assumptions, and banking menus. Company debt and lender choice still happen at runtime, but the shared bank setup lives here for server admins.
Fill in the economy model settings below.
Project Economics and Cost Levers
Pricing and Commercial Assumptions
Lab-method pricing now comes from the selected Analysis Model. Economy keeps product pricing, DSO thresholds, and commercial assumptions only.
Route Economics
Keep plant commissioning cost, throughput, and process-cost assumptions on the same screen as financing so an instructor can tune a scenario without switching builders.
Line 1
Line 2
Seasonality
Tune quarter-by-quarter multiplier pressure for haulage, electricity, water, social actions, and stockpile handling.
Quarter
Haulage
Electricity
Water
Social / Stockpile
Q1 Winter
Q2 Spring
Q3 Summer
Q4 Autumn
Last column is shown as social-action multiplier first, stockpile-handling multiplier second.
Banking
Runtime banks are now managed centrally from Server Admin -> Banks. Economics profiles still control starting budget, base loan, and operating costs, but lender options are no longer authored here.
Economy Preview
Select an economics profile to inspect finance and operating-cost settings. Shared banks are edited separately in Server Admin.
Jurisdiction Designer
Create reusable jurisdiction profiles for use in new scenarios. Jurisdictions are frozen only when a scenario is packaged.
Saved Jurisdiction Profiles
| Name | Jurisdiction Profile ID | Region / tax regime | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Jurisdiction Identity
Edit the full JSON profile below. Tax brackets, permit thresholds, community actions, and FX metadata are kept in JSON to avoid rigid form constraints.
Load an existing region or import a JSON profile to start editing.
Region JSON
Keep the full profile in JSON so tax brackets, permit thresholds, community actions, and FX metadata stay editable without a second rigid form.
Analysis Model Designer
Create reusable analysis models for use in new scenarios. Analysis models are frozen only when a scenario is packaged.
Saved Analysis Models
| Name | Analysis Model ID | Methods | Updated | Usage |
|---|---|---|---|---|
| Loading... | ||||
Analysis Model Identity
Analysis models define which assays and met tests are available. They own both cost per test and duration in days for each enabled lab task.
Fill in the available assays and met tests on the right.
Analyses
Met Tests
Package / Deposit Access
Choose which published packages or legacy deposits are available to the active team and lock the rest when needed.
Assign Primary Deposit unlocks the selected graded deposit and locks other graded deposits for the selected team. Tutorial and warmup stay available through course progression rules.
Assign Team Run
Create a team run from either a published package or a legacy deposit scenario.
Seed Best-Practice Round
Creates fresh `polymetal_starter_pit` comparison saves for every team with a company profile, ready for the current calibration workflow.
๐ Team Game Saves
Shows all saves, including tutorial and warmup runs, for the active team.
Select a team and click Load Games.
โ๏ธ Team Difficulty Overrides
Presets are read from frontend/config/difficulty.json in the browser and translated into backend multipliers. Jurisdiction Model assignment controls payroll, currency guidance, and environmental permit thresholds for the team.
โ Create Student Account
๐ฅ Bulk Import Students
Upload a CSV with columns: email, name, optional password.
๐ Selected Student Account
Use one workspace for student account changes: update email or name, enable or disable the account, reset a password directly, email a password setup link, or delete the account.
Selected account: none
Status changes take effect immediately and keep the student record intact. New accounts and emailed setup links use the configured SMTP server. Delete permanently removes the student and all owned saves via backend cascade rules.
โ ๏ธ Term Reset & Starter Reseed
Server-admin only. Deletes every existing save across all student accounts, then creates one warmup, one iron ore case, and one polymetal case for each student.
Starter set: warmup_pit, kiruna_clean, polymetal_starter_pit.
๐ก Server Admin User Management
Server-admin only. Create instructor or server-admin accounts, update roles, disable accounts, and force-reset passwords across the whole system.
Create User
Manage Existing Users
Selected user: none
๐ข Company Profiles
Loading company profiles...
๐ฅ Available Company Roles
Loading role catalog...
๐ฆ Bank Library
Loading bank references...
๐ Live and Market Prices
Loading live price references...
Commodity Prices
Loading commodity pricesโฆ
Energy
Loading energy priceโฆ
FX
Loading FX ratesโฆ
๐ Reset Team Progress
Deletes all saves and resets tutorial and warmup progress for the active team.
๐ชง Reset First Login Intro
Reopens the company setup wizard and first-login marker without deleting the team's existing saves.