Skip to content

Project.Roadmap.en

inf32768 edited this page Oct 23, 2026 · 6 revisions

English | 简体中文

Project roadmap

This document outlines the future direction, feature planning, and release goals for the Ultimate Scaler project. The roadmap is dynamically adjusted based on community feedback and project progress.

🎯 Version Vision

  • v0.x (current): Stable & Expand. The dev stream refactoring is complete; the focus is now on keeping up with the latest Minecraft versions and porting down to major historical releases.
  • v1.0 (future): "Precision Revolution". Completely rewrite the terrain generator with BigInteger/BigDecimal to achieve mathematically perfect accuracy while supporting offsets for all generated features (structures, features, etc.).
  • v?.0 (envision): "Dimensional Breakout". Explore breaking through hard limits such as integer limits and floating-point limits.

📅 Detailed planning

By default, the functions with higher priority will be ranked first

Short-term plan

New features

  • Spawn a sky mesh in the Edgelands
    • "Sky Grid" refers to a grid-like terrain that spawns at locations such as Bedrock Edition's corner far lands, which can also be used Java Edition's older versions of fringe lands, but have now been removed. This feature will provide a switch that, when turned on, will reproduce the sky grid in the fringe lands.
  • Modify the noise second sampling coordinate scale
    • Noises added in 1.18 and defined in datapacks are sampled twice at each sample point, once at the original sample coordinates and once at the original sample coordinates multiplied by a scale factor (default is 1.0181268882175227) to prevent noise from generating visible duplicate terrain. This feature will provide an input box where users can customize the scale of the second sample coordinates.
  • Modified the Perlin noise smooth interpolation function
    • One of the steps in Perlin noise generation is to smooth interpolate the noise, that is, to bring the current value into an interpolation function (default is 6t^5 - 15t^4 + 10t^3) to ensure that the resulting noise is smooth. This feature will provide an input box that allows the user to customize this interpolation function by entering the expression (the exp4j library will also be introduced to parse the expression).
  • Simulates low-precision terrain generation in the Bedrock Edition
    • Bedrock Edition uses a lot of single-precision floating-point numbers (float) to generate terrain, which causes the terrain to stretch nearer than Java Edition, and more duplicate terrain in the far lands. This feature will provide a toggle that, when enabled, will simulate the low-precision terrain generation of the Bedrock Edition with as little code replacement as possible, and is not guaranteed to be exactly the same as the Bedrock Edition.
  • Simulate the low-noise capacity of the Bedrock Edition
    • Same as above, single-precision floating-point numbers are not only less accurate and have limited capacity compared to double-precision floating-point numbers, which leads to a significant advance in the generation of bedrock fringe lands and nothingness. These two limitations (low precision and low capacity) exist at the same time in Bedrock Edition, but we can divide them into two separate features.
  • Removed player coordinate legitimacy checks
    • When entering a world, if the player's arbitrary coordinates are illegal values such as Inf NaN, etc., it is not possible to enter the world, which is an artificial limitation. This feature will provide a toggle that, when turned on, will remove this checksum, allowing players with illegal coordinates to enter the save.
  • Fix distant jigsaw block glitches
    • When X/Z exceeds ±1073741824, jigsaw blocks can stop working due to division average overflow, breaking any structures that rely on them. Turning on this option will fix this.
  • Fix crashes caused by invalid view frustum
    • If any of the player's coordinates in float are non-finite, or the pitch exceeds about 40° when Y is very high, the game client can freeze. Turning on this option will fix this.
  • Fix entity rendering crashes beyond Y-coordinate integer limits
    • When the player's Y-coordinate exceeds ±2147483647, rendering any entity can freeze the game client. Turning on this option will fix this.
  • Change the blended noise plane scale
    • Blended noise (density function minecraft:old_blended_noise) multiplies coordinates by a specific hardcoded constant when sampled — this is the plane scale. This option will provide input fields so users can adjust these constants.
  • Remove float arguments input limits for commands
    • In vanilla, float command arguments don’t allow players to input scientific notation with E, Infinity, NaN, or other special values. Turning on this option removes this restriction.
  • Displays oversized values in the debug screen as scientific notation
    • Extremely large values in coordinates and the Noise Router that can be generated due to noise overflow are displayed as scientific notation values represented by E.
  • Copy terrain coordinates with one click
    • Use a command or shortcut key to copy the current terrain coordinates to the clipboard, making it easy to paste them elsewhere.
  • Disable specified noise
    • An array of strings will be added to the configuration that the user can fill in with the noise IDs, which will return 0 when sampled.
  • New Interactive Calculator: Noise Info
    • Enter a noise ID or definition to calculate and display detailed info about the noise (range, frequency, overflow positions, etc.).
  • New Interactive Calculator: Float Analysis
    • Enter a float, choose the precision (float or double), and analyze its binary representation, neighboring representable numbers, precision, exact math value, integer rounding range, etc. Very useful for studying distance effects related to floating-point precision loss.
  • Fix Precision Loss of Snow at Long Distances
    • According to MC-192718, temperatures in distant parts of the world don’t work correctly because of floating-point precision loss, causing snow and ice to generate with sharp edges. Enabling this option will fix this.
  • Fix Sound Precision Loss at Long Distances
    • According to MC-191170, sounds originate from the wrong places and may suddenly stop at long distances. This worsens when X/Z reaches ±268,435,456, making many sounds increasingly inaudible. Enabling this option will fix this.
  • Simple communication between the client and the server
    • The server sends the scaling and offset data to the client, who can then view the real-time offset coordinates in the F3 menu, and the server owner can set this feature to be enabled in the configuration file.
    • If possible, allow client players with administrator privileges to remotely control the server's configuration.

Optimization

  • Change the locate pos command into an Interactive Calculator in the config screen (since a feature that’s barely related to the current world shouldn’t really exist as a command)

Porting

  • Port up to 1.21.9+
  • Port down to 1.18.2 ~ 1.20.6
    • If a plan is blocked by version differences, it may be split into multiple versions

Medium-term plan

  • Port to Forge Mod Loader
  • Port down to versions 1.18.1 and below
    • If a plan is blocked by version differences, it may be split into multiple versions
  • Linkage to Modern Beta (or Moderner Beta) to make the offset algorithm work on it to explore the lower version of the terrain on the higher version
    • If cross-software compatibility is difficult, or if it doesn't deliver results as expected, consider directly building a low-version generator.
  • Fixed a series of bugs that occurred when coordinates exceeded 33554432
    • Known ones include: In 1.17+ lighting failure, blocks not updating, crashes when trying to load chunks near X = 33554432; In 1.18 ~ 1.21.2 after exceeding this position, the game crashes due to the inability to generate an aquifer; In 1.21.2+ blocks do not render.
  • Prevent the game from crashing when chunk generation fails
    • When turned on, if there is an exception when generating a chunk, the game will display a pop-up in the upper right corner and continue running as if the block read failed, instead of crashing directly.

Long-term planning

  • Bypass the 32-bit integer limit, 64-bit integer limit, single-precision floating-point number limit, and even double-precision floating-point number limit in the world boundary, and the mod will probably change the name at that time.
  • Added Bedrock Edition terrain generation algorithm
    • Also considering linking with existing mods.
  • Linked with the minimap mod to draw noise images on the map
  • Break through the Y-axis limit and support generation heights of 2147483647 (or even higher?) terrain

✅ Completed Program

Plans completed before 0.4.0

  • Remove the air walls at 30000000.
  • Add comments to the configuration file.
  • Compatible with the server.
  • Offset the generation of the end island.
  • Offset the density function weird_scaled_sampler.
  • Rewrite the "noise" density function using BigInteger.
  • Automatically adjust the display of TerrainPos in the debugging screen according to the current offset mode.
  • Global fluid replacement: Replace specified fluids during terrain generation to prevent the game from lagging due to too many fluids.
  • Port to 1.21 ~ 1.21.1.
  • Offset the sea level and the underground lava layer.
  • Add usage instructions to the option interface.
  • Make the option screen available for Mods running on 1.21 - 1.21.1.
  • Port to 1.21.9.

Wiki 导航 | Navigation

🏠 首页 | Home

🧭 用户指南 | User Guide

📈 项目治理 | Project Management

📚 参考资料 | References

Clone this wiki locally