Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
// ========================================
// ============ GAME CONFIGURATION ========
// ========================================
export const CONFIG = {
// Color scheme (matching CSS root variables)
colors: {
first: 0xff5722, // hsl(14, 98%, 50%) - Orange accent
black: 0x000000, // hsl(0, 0%, 0%) - Pure black
blackLight: 0x666666, // hsl(0, 0%, 40%) - Dark gray
white: 0xf2f2f2, // hsl(0, 0%, 95%) - Off-white
body: 0xdedede, // hsl(0, 0%, 87%) - Light background
container: 0xd4d4d4, // hsl(0, 0%, 83%) - Container
title: 0x000000, // hsl(0, 0%, 0%) - Title color
text: 0x595959, // hsl(0, 0%, 35%) - Text color
// Additional colors
treeGreen: 0x2d5016, // Dark green for trees
brown: 0x654321, // Brown for tree trunks
yellow: 0xffeb3b // Yellow for headlights
},
// Car physics
car: {
acceleration: 0.008, // Acceleration rate
deceleration: 0.004, // Natural slow-down rate
maxSpeed: 0.4, // Maximum forward speed
reverseSpeed: 0.2, // Maximum reverse speed
friction: 0.98, // Ground friction (higher = less friction)
brakeFriction: 0.92, // Brake friction (lower = more braking)
turnSpeed: 0.025, // Base turn rate
turnSpeedMultiplier: 0.7, // Turn speed scales with velocity
minTurnSpeed: 0.05, // Minimum speed needed to turn
boundaryBounce: 0.3, // Bounce damping at boundaries
// Visual
headlightIntensity: 0.8,
headlightDistance: 30,
headlightAngle: Math.PI / 6
},
// Camera settings
camera: {
fov: 75,
near: 0.1,
far: 500,
distance: 18, // Distance behind car
height: 7, // Height above car
lookAheadDistance: 5, // How far ahead to look
positionLerp: 0.12, // Position smoothness (INCREASED for less jitter - was 0.08)
lookAtLerp: 0.15, // Look-at smoothness (INCREASED - was 0.12)
sideOffset: 0, // Camera offset to side
// Cinematic effects
shake: {
enabled: false,
intensity: 0.05,
frequency: 0.1
}
},
// World settings
world: {
size: 200, // World bounds
interactionDistance: 12, // Distance to trigger interactions
roadWidth: 10,
roadMarkingSpacing: 12,
// Day/night cycle
dayNight: {
enabled: false, // DISABLED - Always night
duration: 300, // Seconds for full cycle
startTime: 0.9 // 0.9 = night time (was 0.25)
}
},
// Collectibles
collectibles: {
count: 8, // Number of collectibles
size: 1.5, // Size of collectible cubes
minDistance: 15, // Minimum distance between them
rotationSpeed: 0.02, // Rotation animation speed
bobSpeed: 0.05, // Vertical bob speed
bobAmount: 0.3, // Vertical bob distance
collectionRadius: 3, // Distance to collect (renamed from collectionDistance)
glowIntensity: 0.3,
ringScale: 1.2,
lightIntensity: 1, // Point light intensity
lightDistance: 10 // Point light distance
},
// Environment
environment: {
fogNear: 60,
fogFar: 160,
// Trees
trees: {
count: 12,
trunkHeight: 4,
foliageSize: 2.5,
foliageHeight: 5
},
// Lamp posts
lamps: {
count: 8,
height: 6,
lightIntensity: 0.5,
lightDistance: 20
},
// Weather
weather: {
enabled: false,
type: 'none', // 'rain', 'snow', 'none'
intensity: 100
}
},
// Lighting
lighting: {
ambient: {
color: 0xffffff,
intensityDay: 0.5, // Reduced for better contrast
intensityNight: 0.2
},
sun: {
color: 0xfff5e6, // Warm sunlight
intensityDay: 1.1, // Stronger directional light
intensityNight: 0.05,
position: { x: 50, y: 80, z: 50 }, // Better angle
shadowRadius: 3, // Soft shadow edges
shadowBias: -0.0001
},
hemisphere: {
skyColor: 0xf2f2f2, // Sky color
groundColor: 0xcbcbcb, // Ground reflection
intensityDay: 0.6, // Stronger hemisphere
intensityNight: 0.15
},
moon: {
color: 0x9999ff, // Cooler moonlight
intensity: 0.4,
position: { x: -50, y: 80, z: -50 }
},
lampPost: {
color: 0xffaa33, // Warm lamp light
intensity: 0.8,
distance: 25,
decay: 2,
flickerEnabled: true,
flickerSpeed: 0.5,
flickerAmount: 0.15
}
},
// HUD
hud: {
minimapSize: 150,
minimapScale: 150,
updateInterval: 16, // ms between updates
notifications: {
duration: 2000, // ms
fadeOutDuration: 500 // ms
}
},
// Particles
particles: {
dust: {
enabled: true,
count: 20,
lifetime: 1000, // ms
size: 0.3,
speed: 0.1
},
splash: {
enabled: true,
count: 10,
lifetime: 800,
size: 0.2
}
},
// Audio
audio: {
enabled: false,
volumes: {
master: 0.7,
music: 0.5,
effects: 0.6
}
},
// Achievements (moved to top level for Game.js access)
achievements: {
enabled: true,
list: [
{
id: 'first_drive',
name: 'First Drive',
description: 'Start your journey',
icon: 'π'
},
{
id: 'speed_demon',
name: 'Speed Demon',
description: 'Reach maximum speed',
icon: 'β‘'
},
{
id: 'explorer',
name: 'Explorer',
description: 'Travel 500 units',
icon: 'πΊοΈ'
},
{
id: 'collector',
name: 'Collector',
description: 'Find your first collectible',
icon: 'π'
},
{
id: 'master_collector',
name: 'Master Collector',
description: 'Find all collectibles',
icon: 'β'
},
{
id: 'night_owl',
name: 'Night Owl',
description: 'Experience nighttime',
icon: 'π'
}
]
},
// Gameplay
gameplay: {
challengeMode: {
duration: 120, // seconds
requiredDiscoveries: 5
},
quests: {
enabled: false,
list: []
}
},
// Performance
performance: {
maxPixelRatio: 2,
shadowMapSize: 2048,
antialias: true,
powerPreference: "high-performance",
// Shadow optimization
shadowCameraSize: 80, // Size of shadow camera frustum
shadowCameraNear: 0.5,
shadowCameraFar: 200,
// Instancing for repeated props
useInstancing: true,
maxInstancedObjects: 100
},
// Debug
debug: {
enabled: false,
showStats: false,
logPhysics: false,
showBoundingBoxes: false
}
};
// Portfolio data
export const PORTFOLIO_DATA = {
about: {
title: "About Me",
description: "Hi! I'm a passionate developer who loves creating interactive experiences and solving complex problems. I specialize in web development, 3D graphics, and creating engaging user experiences.",
interests: [
"Game Development",
"Web Technologies",
"3D Graphics & Animation",
"User Experience Design",
"Interactive Storytelling",
"Creative Coding"
]
},
projects: [
{
title: "Chat Application",
description: "A fully-featured real-time chat platform with user authentication, real-time messaging, image uploads, and admin moderation tools. Built with PHP backend and MySQL database.",
technologies: ["PHP", "MySQL", "JavaScript", "AJAX", "HTML/CSS"],
features: [
"User authentication & profiles",
"Real-time messaging",
"Image upload & management",
"Admin moderation tools",
"User status tracking"
],
link: "../chat-main/index.php"
},
{
title: "E-Commerce Clothing Site",
description: "A complete e-commerce platform for selling clothing with product catalog, shopping cart, and secure checkout functionality. Includes admin panel for product management.",
technologies: ["PHP", "MySQL", "JavaScript", "HTML/CSS"],
features: [
"Product catalog & details",
"Shopping cart system",
"User accounts & authentication",
"Admin product management",
"Checkout process"
],
link: "../clothing-site/index.php"
},
{
title: "Food Delivery Express",
description: "A comprehensive food delivery service with interactive menu browsing, cart management, guest checkout option, and order tracking system.",
technologies: ["PHP", "MySQL", "JavaScript", "AJAX", "HTML/CSS"],
features: [
"Interactive menu system",
"Shopping cart & checkout",
"Guest checkout option",
"Order history tracking",
"FAQ section"
],
link: "../l4-pro-1-food-delivery-express-dumbell/index.php"
}
],
skills: [
{
category: "Frontend Development",
items: [
{ name: "HTML5 & CSS3", level: 90 },
{ name: "JavaScript", level: 85 },
{ name: "Three.js", level: 70 },
{ name: "Responsive Design", level: 85 }
]
},
{
category: "Backend Development",
items: [
{ name: "PHP", level: 80 },
{ name: "MySQL", level: 75 },
{ name: "API Development", level: 70 }
]
},
{
category: "Tools & Workflow",
items: [
{ name: "Git & GitHub", level: 85 },
{ name: "VS Code", level: 90 },
{ name: "Chrome DevTools", level: 80 }
]
}
],
cv: {
title: "My Curriculum Vitae",
description: "A comprehensive overview of my professional experience, education, and technical expertise.",
experience: [
{
position: "Full-Stack Developer",
company: "Freelance",
period: "2023 - Present",
description: "Building web applications with modern technologies including PHP, JavaScript, and Three.js. Specializing in interactive experiences and e-commerce solutions."
},
{
position: "Web Developer",
company: "Personal Projects",
period: "2022 - 2023",
description: "Created multiple full-stack projects including chat applications, e-commerce platforms, and food delivery systems."
}
],
education: [
{
degree: "Web Development",
school: "Self-Taught & Online Courses",
period: "2021 - Present",
description: "Continuous learning through practical projects and modern web development courses."
}
],
downloadLink: "#"
},
contact: {
title: "Get In Touch",
description: "I'd love to hear from you! Feel free to reach out for collaboration, opportunities, or just to say hi.",
email: "your.email@example.com",
github: "https://github.com/RoyaleSnaaier",
linkedin: "https://linkedin.com/in/yourprofile"
}
};
export default CONFIG;