fleeting-garden/src/settings.ts

45 lines
1.2 KiB
TypeScript

import { GameLoopSettings } from './game-loop/game-loop-settings';
import { AgentSettings } from './pipelines/agents/agent-settings';
import { BrushSettings } from './pipelines/brush/brush-settings';
import { DiffusionSettings } from './pipelines/diffusion/diffusion-settings';
import { RenderSettings } from './pipelines/render/render-settings';
import { rgb255 } from './utils/colors/rgb255';
const palette = {
blue: rgb255(0, 110, 202),
red: rgb255(232, 141, 122),
green: rgb255(90, 188, 94),
purple: rgb255(161, 90, 188),
yellow: rgb255(255, 204, 0),
beige: rgb255(229, 204, 175),
};
export const settings: GameLoopSettings &
AgentSettings &
BrushSettings &
DiffusionSettings &
RenderSettings = {
agentCount: 4_000_000,
renderSpeed: 1,
simulatedDelayMs: 0,
brushWidth: 20,
brushWidthRandomness: 8,
brushTrailWeight: 5,
moveSpeed: 40,
turnSpeed: 20,
sensorOffsetAngle: 30,
sensorOffsetDistance: 60,
diffusionRateTrails: 0.4, // inverse
decayRateTrails: 0.9,
diffusionRateBrush: 4, // inverse
decayRateBrush: 0.98,
brushColor: palette.blue,
speciesColorA: palette.yellow,
speciesColorB: palette.purple,
clarity: 3,
};