Skip to content

Project.Roadmap.zh

inf32768 edited this page Oct 23, 2026 · 6 revisions

English | 简体中文

项目路线图

本文档概述了 Ultimate Scaler 项目的未来发展方向、功能规划与版本目标。路线图会根据社区反馈和项目进展动态调整。

🎯 版本愿景

  • v0.x (当前): “稳定与拓展”。开发流重构已经完成,当前重点是保持最新版跟进,并向下移植到主要历史版本。
  • v1.0 (未来): “精度革命”。通过 BigInteger/BigDecimal 全面重写地形生成器,实现数学上的完美精度,同时支持偏移所有生成要素(结构、地物等)。
  • v?.0 (远景): “维度突破”。探索突破整数极限、浮点数极限等硬极限

📅 详细规划

默认按照优先级排序,优先级高的功能会排在前面

短期计划

新功能

  • 在边缘之地生成天空网格
    • “天空网格 ”指基岩版边境之角等位置生成的网格状地形,该地形也可在 Java 版旧版本的边缘之地生成,但现已移除。此功能将提供一个开关,开启后将在边缘之地复现天空网格。
  • 修改噪声第二次采样坐标比例
    • 1.18 加入的新噪声和数据包自定义的噪声在每个采样点都会采样两次,一次在原采样坐标,另一次则在原采样坐标乘以一个比例系数(默认为 1.0181268882175227)之处,以防止噪声生成可见的重复地形。此功能将提供一个输入框,用户可以自定义第二次采样坐标比例。
  • 修改柏林噪声平滑插值函数
    • 柏林噪声生成的其中一步是对噪声进行平滑插值,也就是把当前值带入到一个插值函数中(默认为 6t^5 - 15t^4 + 10t^3 )来确保生成的噪声平滑。此功能将提供一个输入框,用户可以通过输入表达式自定义这个插值函数(届时还将引入 exp4j 库来解析表达式)。
  • 模拟基岩版低精度地形生成
    • 基岩版大量使用单精度浮点数 float 来生成地形,这导致地形在相比 Java 版更近的地方出现拉伸现象,且边境之地会出现更多的重复地形。此功能将提供一个开关,开启后将在尽可能不大量替换代码的前提下模拟基岩版低精度地形生成,不保证和基岩版完全一致。
  • 模拟基岩版低噪声值容量
    • 同上,单精度浮点数不仅精度较低,容量相比双精度浮点数也很有限,这导致基岩版边缘之地和“虚无”的生成大幅提前。这两个限制(低精度和低容量)在基岩版是同时存在的,但我们可以将其分为两个独立的功能。
  • 移除玩家坐标合法性校验
    • 在进入存档时,如果玩家的任意坐标为 Inf NaN 等非法值,则无法进入存档,这是一个人为限制。此功能将提供一个开关,开启后可移除这个校验,使得带有非法坐标的玩家也可以进入存档。
  • 将调试屏幕中过大的数值显示为科学计数法
    • 针对坐标和 Noise Router 中可能因噪声溢出产生极端巨大的数值,显示为按 E 表示的科学计数法数值。
  • 修复拼图方块远距离故障
    • 当 X/Z 超过 ±1073741824 时,拼图方块会因除法平均数溢出而停止工作,导致所有依赖于拼图方块的结构被破坏。开启此选项将修复此问题。
  • 修复因视锥体无效导致的卡死
    • 当玩家的任意坐标在 float 中为非有限值,或在Y坐标大到一定程度时俯仰角超过40°左右,会导致游戏客户端卡死。开启此选项将修复此问题。
  • 修复Y坐标整数极限外渲染实体卡死
    • 当玩家的Y坐标超过 ±2147483647 时,渲染任何实体将导致游戏客户端卡死。开启此选项将修复此问题。
  • 更改混合噪声平面比例
    • 混合噪声(密度函数 minecraft:old_blended_noise)会在采样时将坐标乘以一个特定的、硬编码的常量系数,即此处的平面比例。此选项将提供几个输入框,允许用户修改这些常量。
  • 解除命令中浮点参数输入限制
    • 原版中浮点数类命令参数不允许玩家输入按 E 表示的科学计数法数值、Infinity 和 NaN 等特殊值。开启此选项将解除此限制。
  • 一键复制地形坐标
    • 通过指令或快捷键,复制当前地形坐标到剪贴板,方便粘贴到其他位置中。
  • 禁用指定噪声
    • 将在配置中添加一个字符串数组,用户可以填写噪声 ID,这些噪声将在采样时返回 0。
  • 新交互式计算器:噪声信息
    • 输入一个噪声 ID 或定义,计算并显示噪声的详细信息(值域、频率、溢出位置等)。
  • 新交互式计算器:浮点数分析
    • 输入一个浮点数,选择精度,分析显示其二进制表示、相邻可表示数、精度、数学精确值、整数舍入范围等。对于研究与浮点数精度损失有关的距离现象时非常有用。
  • 修复远距离处降雪精度损失
    • 由于 MC-192718[↗] ,温度在世界远处因浮点数精度损失而无法正常运作,导致积雪和冰块生成得棱角分明。开启此选项将修复此问题。
  • 修复远距离处声音精度损失
    • 由于 MC-191170[↗],在远距离处,声音会从错误的地方发出,且有可能会突然停止。在 X/Z 达到 ±268,435,456 后变得越来越严重,许多声音会越来越听不见。开启此选项将修复此问题。
  • 客户端和服务端的简单通信
    • 服务端把缩放和偏移数据发送给客户端,随后客户端可以在 F3 菜单中查看实时偏移后坐标,服务器所有者可以在配置文件中设置是否开启此功能。
    • 如果可以的话,可以让拥有管理员权限的客户端玩家远程控制服务器的配置。

优化

  • 将 locate pos 命令改为配置界面内的交互式计算器(因为这种与当前世界几乎毫无关联的功能就不应以命令的形式存在)

移植

  • 向上移植到 1.21.9+
  • 向下移植到 1.18.2 ~ 1.20.6
    • 如果因版本差异受阻,可能会拆分成多个版本的计划

中期计划

  • 移植到 Forge 加载器
  • 向下移植到 1.18.1 及以下版本
    • 如果因版本差异受阻,可能会拆分成多个版本的计划
  • (单向)联动《Moderner Beta》,使得偏移算法对其生效,以在高版本探索低版本的地形
    • 如果跨软件兼容性有困难,或是其提供的结果不符合预期,可以考虑直接内置低版本生成器。
  • 修复坐标超过 33554432 时出现的一系列 Bug
    • 已知的包括:1.17+ 光照失效、方块不更新、尝试加载 X = 33554432 附近区块时崩溃;1.18 ~ 1.21.2 超出此位置后因无法生成含水层而崩溃;1.21.2+ 方块不渲染。
  • 阻止游戏在区块生成失败时崩溃
    • 开启后,如果在生成区块时出现错误,游戏会像区块读取失败那样在右上角显示弹窗并继续运行,而不是直接崩溃。

长期计划

  • 在世界界限方面突破32位整数限制、64位整数限制、单精度浮点数乃至双精度浮点数的限制,预计届时模组将更换名称。
  • 添加基岩版地形生成算法
    • 也可考虑和现有模组联动。
  • 与小地图模组联动,将噪声图像绘制在地图上
  • 突破Y轴限制,支持生成高度达到2147483647(甚至更高?)的地形

✅ 已完成的计划

0.4.0 前完成的计划

  • 移除 30000000 处的空气墙,破除 /tp 的坐标限制
  • 偏移末地岛屿的生成
  • 偏移密度函数 weird_scaled_sampler
  • 使用 BigInteger 重写噪声类密度函数
  • 依据当前使用的偏移模式,自动调整调试屏幕中 TerrainPos 的显示
  • 兼容服务端
  • 为配置文件添加注释
  • 偏移海平面和地底熔岩层
  • 全局流体替换
  • 向下移植到 1.21 ~ 1.21.1
  • 在选项界面中添加使用说明
  • 让运行在 1.21 - 1.21.1 版本的 Mod 也能使用配置界面

Wiki 导航 | Navigation

🏠 首页 | Home

🧭 用户指南 | User Guide

📈 项目治理 | Project Management

📚 参考资料 | References

Clone this wiki locally