Core Memories Logo
Back to Details

DEV-LOG: MAP DESIGN

2023-10-15WRITTEN
LOGDESIGN

DEV-LOG: MAP DESIGN

2023-10-15Lead Architect

Laying the Mathematical Groundwork

Building a theme park of this scale isn't just about placing assets; it's about defining the spatial reality in which they exist. For World Park, we needed a coordinate system that could handle massive scale without floating-point precision loss at the edges.

"The beauty of a digital world lies in its invisible grid. If the grid is flawed, the world crumbles."

The Grid Implementation

We started by abandoning standard Cartesian coordinates in favor of a chunk-based hexagonal mapping system. Here's a glimpse of the initial node generation algorithm:

typescript
class HexGrid {
  size: number;
  chunks: Map<string, Chunk>;

  constructor(size: number) {
    this.size = size;
    this.chunks = new Map();
  }

  getChunk(x: number, y: number): Chunk {
    const key = `${x},${y}`;
    if (!this.chunks.has(key)) {
      this.chunks.set(key, new Chunk(x, y));
    }
    return this.chunks.get(key);
  }
}

This approach allows us to load and unload massive sections of the park seamlessly, guaranteeing a smooth 60fps experience regardless of how many rollercoasters the player builds.

EOF