Skip to main content

Quirkymals (Player Characters)

Quirkymals are the player characters in Woodlands — small creatures navigating the forest.

Spawn Resolution

QuirkymalService._getSpawnForPlayer() resolves spawn location in priority order:

  1. Development — If DevelopmentMode flag is active
  2. GameStart — If teleport data contains gameStart: true or GamePhase === "game"
  3. Lobby — Default fallback

Spawn locations are registered by SpawnLocationComponent — a Flamework component that registers tagged SpawnLocation parts by name.

Character Creation

  1. Clone quirkymal model from ServerStorage prefab
  2. Assembly via Quirkify module:
    • add-quirkymal.ts — Model assembly
    • add-animations.ts — AnimationTrack binding
    • add-rotations.ts — Rotation LOD setup
  3. Assign to player

Camera Modes

Based on gamePhase atom:

PhaseCameraZoom
lobby3rd person (Custom)Min 3, Max 5
game1st person (FirstPersonCamera module)Locked

Debug mode overrides mouse lock for UI interaction.

Animation State Machine

quirkymal-animations.ts manages:

  • Idle
  • Walk
  • Sprint
  • Jump
  • Death

Transitions based on humanoid state and velocity.

Key Files

FilePurpose
quirkymal-service.tsServer spawn resolution, character creation
quirkymal-controller.tsClient character management
spawn-location.tsComponent registering spawn points
viewport-controller.ts3D character preview
Quirkify/Character assembly module