遇见数据集

Factorio Natural Island Census

收藏
github2026-07-16 更新2026-07-17 收录
官方服务:

资源简介:

Factorio自然岛屿普查是一个GPU加速的搜索项目,覆盖了所有4,294,967,296个可能的Factorio种子(默认地图设置,无island高程类型),以查找完全被水包围的陆地上生成的出生点。结果确认了2,599个自然岛屿,稀有度约为1/1,652,000,最大岛屿面积为7,430,080平方单位。数据集包含每个确认岛屿的种子、面积(平方单位)和出生点到封闭区域最远点的距离。

Factorio Natural Island Census is a GPU-accelerated search project that covers all 4,294,967,296 possible Factorio map seeds under default map settings, excluding the island elevation terrain type, to identify spawn points generated on landmasses fully surrounded by water. The study confirmed 2,599 natural islands, with an approximate rarity of 1 per 1,652,000, and the maximum island area reaches 7,430,080 square units. The dataset contains the seed, area (in square units), and the distance from the spawn point to the farthest point within the enclosed landmass for each confirmed island.

创建时间:
2026-07-16
原始信息汇总

数据集概述:Factorio Natural Island Census

该数据集记录了在Factorio游戏默认地图设置(非“岛屿”地形类型)下,所有 4,294,967,296 个可能种子中,出生点位于完全被水域包围的陆地上的自然岛屿。

核心结果

  • 确认岛屿总数:2,599 个。
  • 稀有度:约 1 / 1,652,000。
  • 最大岛屿:种子 1925425905,面积 7,430,080 格²。

搜索方法与性能

  • 硬件:主要使用单台家用PC(AMD Ryzen 9 9950X3D + NVIDIA RTX 5090),并在最后阶段借助临时多云计算(Google Cloud L4、Vast.ai)加速。
  • 单机吞吐量:约 7,300–9,700 种子/秒(是单线程CPU洪水填充速度的27–36倍)。
  • 峰值吞吐量:14个并行工作节点,约 92,000 种子/秒。
  • 搜索流程
    1. 网格生成:复现游戏的地形噪声算法,生成海拔场。
    2. 级联过滤:对出生点周围5,000格半径区域进行多分辨率网格检查,懒评估策略,仅探索搜索前沿触及的网格线。
    3. 洪水填充验证:所有级联过滤出的阳性结果均经过精确的C++洪水填充算法(code/floodfill/stages.cpp)最终确认。

数据集内容

仓库内包含以下主要文件与目录:

  • code/:源代码,包含网格生成(mesh/)、洪水填充(floodfill/)、级联管道(pipeline/)等模块。
  • data/MASTER_all_fronts.csv:所有确认岛屿的完整列表,包含种子、面积(格²)及出生点到封闭区域最远点的距离。
  • data/ZERO_AREA_SEEDS_excluded.csv:零面积边缘案例中被排除的种子列表。
  • data/island_area_histogram.png:岛屿面积直方图(中位数 955,344 格²)。
  • images/part1/part2/part3/:所有确认岛屿的洪水填充可视化验证图(共2,599张),按面积从大到小分三个目录存放。
  • images/top_400_mosaic.jpg:面积最大的400个岛屿的拼贴图(20×20网格)。
  • excluded_zero_area_images/:被排除的98个零面积种子的证明图片。
  • leader_showcase/:最大岛屿(种子 1925425905)的完整管道运行数据展示,包括级联各阶段和最终洪水填充结果的可视化。

特殊边缘案例

  • 零面积:105个种子初始面积为0(出生点落在小湖上)。重新分析后,101个被确认为普通大陆,4个是极小的真实岛屿(面积3–6格²)。
  • 精度边缘2098331609(16格²)和 2888143787(32格²)两个岛屿的面积因不同实现间的微小浮点差异而存在不确定性,但仍计入确认总数。

数据来源:该数据集基于 ness056/fast-factorio-seed-finder 项目逆向工程的地图生成算法,并受 Reddit 用户 u/int_ua 的帖子 启发而创建。

数据文件与图片的绝对地址示例(根据仓库结构推断):

  • 主数据文件:https://github.com/Yambda/factorio_island_finder/blob/main/data/MASTER_all_fronts.csv
  • 直方图:https://github.com/Yambda/factorio_island_finder/blob/main/data/island_area_histogram.png
  • 最大岛屿展示:https://github.com/Yambda/factorio_island_finder/tree/main/leader_showcase
搜集汇总
数据集介绍
Factorio Natural Island Census 数据集图片
构建方式
Factorio Natural Island Census 数据集构建于对游戏《异星工厂》全部 4,294,967,296 个种子(默认地图设置,排除岛屿地形类型)的 GPU 加速遍历搜索。核心流程采用三阶段级联架构:首先通过噪声重实现生成地形高程场,继而利用多分辨率网格对被 5000 格半径内水域完全包围的出生点进行懒惰评估,最后对通过级联筛选的候选种子执行精确的广度优先漫水填充验证。整个管道在单个搭载 AMD Ryzen 9 9950X3D 处理器和 NVIDIA RTX 5090 显卡的家用 PC 上实现了约每秒 7300 至 9700 个种子的吞吐量,并在最终阶段借助多云爆发扩展至每秒约 92000 个种子的并行处理能力。
使用方法
用户可通过本仓库的 code/ 目录直接复现搜索过程:涵盖地形生成的噪声重实现(code/mesh/)、GPU 批处理近似漫水填充(stage2_floodfill.py)以及编排全管道的 find_islands.py 脚本。已确认的岛屿清单存储于 data/MASTER_all_fronts.csv 文件中,包含种子、面积及出生点到包围组件最远点的距离。可视化证据集分为 images/part1 至 part3 三部分(因 GitHub 目录条目限制),每张 FLOODFILL_PROOF_*.png 展示一个确认种子的实际漫水填充区域渲染图,按面积降序排列。top_400_mosaic.jpg 提供前 400 大岛屿的缩略图拼贴,便于快速观察形态多样性。
背景与挑战
背景概述
Factorio Natural Island Census 数据集诞生于2025年,由一位独立研究者利用个人高性能计算设备(AMD Ryzen 9 9950X3D与NVIDIA RTX 5090)及临时云端资源,通过GPU加速对Factorio游戏中全部2³²个种子进行穷举搜索,旨在系统性确证自然生成的岛屿数量。该研究受社区手动发现孤立岛屿种子的启发,核心问题在于量化极罕见自然岛屿(频率约1/1,652,000)的分布与特征。最终数据集仅收录2,599个经严格验证的岛屿,最大面积达7,430,080平方单位,为游戏地图生成算法分析与程序化内容探索提供了高精度基准,在游戏数据科学、启发式搜索及并行计算领域具有开创性影响力。
当前挑战
本数据集面临的核心挑战包括:1)领域问题层面,Factorio地图生成算法复杂,包含六层噪声的组合与阈值判定,传统单线程洪水填充法(约273 seeds/s)难以完成全空间搜索,如何在不牺牲精度的前提下将验证速度提升至约9,700 seeds/s成为关键;2)构建过程中,需确保GPU实现的噪声生成与逆向工程参考代码的浮点一致性(最坏偏差控制在2.579以内),避免边界误判;同时需处理零面积边缘情况(如出生点恰位于湖泊)与微小岛屿(面积仅3-32平方单位)的精确标定,部分微岛因浮点数分歧导致面积测量存在不确定性,需结合游戏内直接验证进行人工甄别。
常用场景
经典使用场景
在《异星工厂》的社区研究中,Factorio Natural Island Census数据集被广泛应用于探索地图生成算法的极限与稀有自然奇观。该数据集通过GPU加速,穷举了全部42.9亿个可能的地图种子,精准定位那些出生点位于完全被水域包裹的孤立陆块上的种子。玩家和研究人员利用此数据集作为基准,评估不同地图设置下自然孤岛的出现概率(约165万分之一),并分析其面积分布、地形特征及与大陆分离度的统计规律。数据集提供的2,599个确认岛屿及其可视化证据,为理解程序化地图生成的随机性边界提供了坚实的数据基础。
解决学术问题
该数据集解决了程序化地图生成领域中关于稀有自然结构统计可靠性的核心问题。在学术层面,它首次通过全量搜索而非采样估计,确证了《异星工厂》默认地图设置下自然孤岛的真实出现频率与面积分布规律,填补了此前仅依靠手工发现或部分搜索导致的认知空白。数据集通过多重分辨率级联算法与精确洪泛填充的验证流程,确保了每一条记录的可复现性与零假阳性,为程序化内容生成中稀有事件的量化研究树立了方法学范例。其影响超越了单一游戏,为研究大型搜索空间中极端事件的统计特性提供了可复用的计算框架。
实际应用
在实际应用层面,该数据集直接服务于《异星工厂》玩家社群与地图生成工具的开发者。玩家可依据数据集中的种子列表,快速定位并体验自然孤岛的独特生存挑战,这类地图大幅改变了游戏的战略节奏与资源管理逻辑。地图生成工具的维护者则利用其确认的岛屿边界数据,改进地图预览功能或添加稀有地形检索选项。此外,数据集可被嵌入自动化测试管线,用于验证未来游戏更新是否会影响现有地图种子的地形成效,确保社区创作与分享的地图种子保持长期有效性。
数据集最近研究
最新研究方向
在程序化生成与游戏地图的极端场景挖掘领域,该数据集通过GPU加速暴力搜索,系统性地量化了《异星工厂》默认地图种子中自然孤岛的发生概率与规模分布。研究采用定制噪声重建与级联认证流水线,在数天内完成2³²全种子空间的遍历,发现仅2599个有效孤岛(概率约1/165万),最大面积超740万平方格。该工作突破了传统人工或小范围随机抽样方法,揭示了游戏程序化生成算法中地理边界的统计规律,为游戏叙事机制(如开局孤立处境)的数学建模提供了实证基础。相关代码与数据开源,推动了社区对随机地图可玩性边界与算法公平性的量化讨论。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务