Hasty Briefsbeta

Bilingual

Curveball

3 hours ago
  • #Neverball
  • #Rust
  • #Curve Generator
  • Curveball is a curve generator tool for Neverball, available as a web app or downloadable desktop app, written in Rust.
  • It was created to generate complex curves not possible with the existing curve.c tool, which only produces circular arcs.
  • Neverball levels consist of convex brushes defined by intersections of halfspaces, described using the Quake map format.
  • Curveball uses the chull crate to compute convex hulls from points, simplifying brush generation from curve vertices.
  • The key abstraction is extrusion: a 2D profile is copied along a path, with vertices processed via convex hull to form brushes.
  • Orienting profiles along paths involves Frenet frames to handle rotation, with torsion considered to avoid issues.
  • Curveball supports extrusion-based curves plus three special types: Curve Classic, Curve Slope, and Rayto, with some overlap in generation methods.
  • The tool aims to streamline level creation for Neverball, allowing diverse curve shapes through profile and path combinations.