← 返回工作坊
玩乐与探索

OrbitPuzzles

用轨道物理谜题考验你对引力的直觉。

OrbitPuzzles 游戏

关于游戏

OrbitPuzzles 是一款具有挑战性的基于物理的益智游戏,玩家通过战略性地放置行星、卫星和小行星等天体来设计轨道系统。您的目标是实现特定的配置,例如完成一定数量的轨道而不与中心恒星相撞或逃离系统。

OrbitPuzzles 完全以 Kotlin 原生构建,具有使用 Velocity Verlet 集成和 Plummer 软化的高度稳定的自定义 $O(N^2)$ N 体模拟器。时间在设计阶段暂停,以便您可以仔细定位身体并调整速度矢量,然后进入运行阶段以测试您的轨道力学是否成立。

视觉体验将由 Google Filament 提供支持的 3D 渲染与 100% Jetpack Compose UI 相结合。每个天体均使用自定义程序纹理进行渲染,无需依赖大量纹理文件即可创建无数种行星和恒星,而发光轨迹和 UI 叠加层则提供实时遥测和反馈。

图片集

功能

  • 自定义物理引擎: 精确的 N 体模拟利用 Velocity Verlet 集成实现长期轨道稳定性,并配有 Plummer 软化以优雅地处理极端近距离的接触。
  • 设计和运行阶段: 这是一种战术方法,可以暂停时间进行计划,让您可以在释放模拟之前微调行星设置、矢量力并解决轨道难题。
  • 程序 3D 行星: Google Filament 集成使用数学生成的等距柱状反照率图,确保每个天体看起来都是独一无二的,同时保持应用程序占用空间较小。
  • 混合渲染: 原生 3D 物理渲染与使用 Jetpack Compose Canvas 绘制的精美分层实时 2D UI 叠加层完美融合。
  • 渐进式挑战: 导航具有不同预算和目标的各种级别。无论椭圆偏心率如何,内部“OrbitTracker”系统都能准确记录转数。