Skip to content

About

Resources

Stars

2.0k stars

Watchers

14 watching

Forks

Repository files navigation

Folio 2025

image info

Setup

Create .env file based on .env.example

Download and install Node.js then run this followed commands:

# Install dependencies
npm install --force

# Serve at localhost:1234
npm run dev

# Build for production in the dist/ directory
npm run build

Game loop

0

  • Time
  • Inputs

1

  • Player:pre-physics (Inputs)

2

  • PhysicalVehicle:pre-physics (Player:pre-physics)

3

  • Physics

4

  • PhysicsWireframe (Physics)
  • Objects (Physics)

5

  • PhysicalVehicle:post-physics (Player:pre-physics)

6

  • Player:post-physics (Physics, PhysicalVehicle:post-physics)

7

  • View (Inputs, Player:post-physics)

8

  • Intro
  • DayCycles
  • YearCycles
  • Weather (DayCycles, YearCycles)
  • Zones (Player:post-physics)
  • VisualVehicle (PhysicalVehicle:post-physics, Inputs, Player:post-physics, View)

9

  • Wind (Weather)
  • Lighting (DayCycles, View)
  • Tornado (DayCycles, PhysicalVehicle)
  • InteractivePoints (Player:post-physics)
  • Tracks (VisualVehicle)

10

  • Area++ (View, PhysicalVehicle:post-physics, Player:post-physics, Wind)
  • Foliage (VisualVehicle, View)
  • Fog (View)
  • Reveal (DayCycles)
  • Terrain (Tracks)
  • Trails (PhysicalVehicle)
  • Floor (View)
  • Grass (View, Wind)
  • Leaves (View, PhysicalVehicle)
  • Lightnings (View, Weather)
  • RainLines (View, Weather, Reveal)
  • Snow (View, Weather, Reveal, Tracks)
  • VisualTornado (Tornado)
  • WaterSurface (Weather, View)
  • Benches (Objects)
  • Bricks (Objects)
  • ExplosiveCrates (Objects)
  • Fences (Objects)
  • Lanterns (Objects)
  • Whispers (Player)

13

  • InstancedGroup (Objects, [SpecificObjects])

14

  • Audio (View, Objects)
  • Notifications
  • Title (PhysicalVehicle:post-physics)

998

  • Rendering

999

  • Monitoring

Blender

Export

  • Mute the palette texture node (loaded and set in Three.js Material directly)
  • Use corresponding export presets
  • Don't use compression (will be done later)

Compress

Run npm run compress

Will do the following

GLB

  • Traverses the static/ folder looking for glb files (ignoring already compressed files)
  • Compresses embeded texture with etc1s --quality 255 (lossy, GPU friendly)
  • Generates new files to preserve originals

Texture files

  • Traverses the static/ folder looking for png|jpg files (ignoring non-model related folders)
  • Compresses with default preset to --encode etc1s --qlevel 255 (lossy, GPU friendly) or specific preset according to path
  • Generates new files to preserve originals

UI files

  • Traverses the static/ui. folder looking for png|jpg files
  • Compresses to WebP

Resources

About

Resources

Stars

2.0k stars

Watchers

14 watching

Forks

Contributors

Languages