{"project":{"id":"1ok6Rqg","userId":"davidyarham@gmail.com","username":null,"userPicture":null,"name":"Neon Dash","thumbnail":"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","visible":true,"contributors":"","githubRepo":null,"forkedFrom":null,"tags":"","files":{"folder":"","files":[{"name":"index.html","content":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Untitled</title>\n  <link rel=\"stylesheet\" href=\"style.css\">\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js\"></script>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n</head>\n<body>\n<div id=\"game-ui\">\n\t<div id=\"start-screen\" class=\"overlay\">\n\t\t<h1>NEON DASH</h1>\n\t\t<p>TAP SIDES TO MOVE</p>\n\t\t<button id=\"start-btn\">START ENGINE</button>\n\t</div>\n\n\t<div id=\"game-over\" class=\"overlay\" style=\"display:none\">\n\t\t<h1>CRASHED</h1>\n\t\t<p id=\"final-score\">Score: 0</p>\n\t\t<p id=\"high-score\" style=\"font-size: 0.8rem; opacity: 0.7\">Best: 0</p>\n\t\t<button id=\"restart-btn\">RETRY</button>\n\t</div>\n\t<div id=\"score-board\">0</div>\n</div>\n<div id=\"canvas-container\"></div>\n  <script type=\"module\" src=\"main.js\"></script>\n</body>\n</html>"},{"name":"main.js","content":"let scene, camera, renderer, player, obstacles = [],\n\tclock, isPlaying = false,\n\tscore = 0,\n\thighScore = localStorage.getItem('neonDashHigh') || 0;\nlet audioCtx, spawnTimer = 0;\nconst LANES = [-2, 0, 2];\nlet currentLane = 1;\n\nfunction playSound(freq, type, duration, vol = 0.1, slide = 0) {\n\tif (!audioCtx) audioCtx = new(window.AudioContext || window.webkitAudioContext)();\n\tif (audioCtx.state === 'suspended') audioCtx.resume();\n\tconst osc = audioCtx.createOscillator();\n\tconst gain = audioCtx.createGain();\n\tosc.type = type;\n\tosc.frequency.setValueAtTime(freq, audioCtx.currentTime);\n\tif (slide) osc.frequency.exponentialRampToValueAtTime(slide, audioCtx.currentTime + duration);\n\tgain.gain.setValueAtTime(vol, audioCtx.currentTime);\n\tgain.gain.exponentialRampToValueAtTime(0.0001, audioCtx.currentTime + duration);\n\tosc.connect(gain);\n\tgain.connect(audioCtx.destination);\n\tosc.start();\n\tosc.stop(audioCtx.currentTime + duration);\n}\n\nfunction init() {\n\tscene = new THREE.Scene();\n\tscene.fog = new THREE.FogExp2(0x050505, 0.08);\n\n\tcamera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);\n\tcamera.position.set(0, 3, 6);\n\n\trenderer = new THREE.WebGLRenderer({\n\t\tantialias: true\n\t});\n\trenderer.setSize(window.innerWidth, window.innerHeight);\n\trenderer.setPixelRatio(window.devicePixelRatio);\n\tdocument.getElementById('canvas-container').appendChild(renderer.domElement);\n\n\tscene.add(new THREE.AmbientLight(0xffffff, 0.4));\n\tconst point = new THREE.PointLight(0x00ffff, 1, 20);\n\tpoint.position.set(0, 5, 2);\n\tscene.add(point);\n\n\tconst grid = new THREE.GridHelper(200, 50, 0xff00ff, 0x333333);\n\tgrid.position.z = -40;\n\tscene.add(grid);\n\n\tconst barGeo = new THREE.BoxGeometry(0.2, 0.5, 100);\n\tconst barMat = new THREE.MeshPhongMaterial({\n\t\tcolor: 0x00ffff,\n\t\temissive: 0x00ffff\n\t});\n\t[-4, 4].forEach(x => {\n\t\tconst bar = new THREE.Mesh(barGeo, barMat);\n\t\tbar.position.set(x, 0.25, -40);\n\t\tscene.add(bar);\n\t});\n\n\tplayer = new THREE.Mesh(\n\t\tnew THREE.BoxGeometry(1, 0.5, 1.5),\n\t\tnew THREE.MeshPhongMaterial({\n\t\t\tcolor: 0x00ffff,\n\t\t\temissive: 0x00ffff,\n\t\t\temissiveIntensity: 0.5\n\t\t})\n\t);\n\tplayer.position.y = 0.5;\n\tscene.add(player);\n\n\tclock = new THREE.Clock();\n\twindow.addEventListener('resize', onWindowResize);\n\twindow.addEventListener('touchstart', handleTouch);\n\tanimate();\n}\n\nfunction handleTouch(e) {\n\tif (!isPlaying) return;\n\tconst oldLane = currentLane;\n\tif (e.touches[0].clientX < window.innerWidth / 2) {\n\t\tif (currentLane > 0) currentLane--;\n\t} else {\n\t\tif (currentLane < 2) currentLane++;\n\t}\n\tif (oldLane !== currentLane) playSound(440 + (currentLane * 110), 'square', 0.1, 0.05, 880);\n}\n\nfunction spawnObstacle() {\n\tif (!isPlaying) return;\n\tconst numToBlock = Math.random() > 0.6 ? 2 : 1;\n\tconst availableIndices = [0, 1, 2].sort(() => Math.random() - 0.5);\n\n\tfor (let i = 0; i < numToBlock; i++) {\n\t\tconst obs = new THREE.Mesh(\n\t\t\tnew THREE.BoxGeometry(1.2, 1.2, 1.2),\n\t\t\tnew THREE.MeshPhongMaterial({\n\t\t\t\tcolor: 0xff00ff,\n\t\t\t\temissive: 0xff00ff\n\t\t\t})\n\t\t);\n\t\tobs.position.set(LANES[availableIndices[i]], 0.6, -60);\n\t\tscene.add(obs);\n\t\tobstacles.push(obs);\n\t}\n}\n\nfunction animate() {\n\trequestAnimationFrame(animate);\n\tconst delta = clock.getDelta();\n\tif (isPlaying) {\n\t\tscore += delta * 10;\n\t\tdocument.getElementById('score-board').innerText = Math.floor(score);\n\t\tplayer.position.x = THREE.MathUtils.lerp(player.position.x, LANES[currentLane], 0.2);\n\n\t\tconst speed = 18 + (score / 150);\n\t\tspawnTimer -= delta;\n\t\tif (spawnTimer <= 0) {\n\t\t\tspawnObstacle();\n\t\t\tspawnTimer = Math.max(0.4, 0.8 - (score / 2000));\n\t\t}\n\n\t\tfor (let i = obstacles.length - 1; i >= 0; i--) {\n\t\t\tconst obs = obstacles[i];\n\t\t\tobs.position.z += speed * delta;\n\t\t\tobs.rotation.x += delta * 2;\n\t\t\tif (obs.position.z > -1 && obs.position.z < 1) {\n\t\t\t\tif (Math.abs(obs.position.x - player.position.x) < 0.8) gameOver();\n\t\t\t}\n\t\t\tif (obs.position.z > 10) {\n\t\t\t\tscene.remove(obs);\n\t\t\t\tobstacles.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\trenderer.render(scene, camera);\n}\n\nfunction startGame() {\n\tisPlaying = true;\n\tscore = 0;\n\tcurrentLane = 1;\n\tspawnTimer = 0;\n\tobstacles.forEach(o => scene.remove(o));\n\tobstacles = [];\n\tdocument.getElementById('start-screen').style.display = 'none';\n\tdocument.getElementById('game-over').style.display = 'none';\n\tplaySound(220, 'sawtooth', 0.5, 0.1, 440);\n}\n\nfunction gameOver() {\n\tisPlaying = false;\n\tplaySound(100, 'sawtooth', 0.8, 0.2, 20);\n\tif (score > highScore) {\n\t\thighScore = Math.floor(score);\n\t\tlocalStorage.setItem('neonDashHigh', highScore);\n\t}\n\tdocument.getElementById('game-over').style.display = 'block';\n\tdocument.getElementById('final-score').innerText = \"Final Score: \" + Math.floor(score);\n\tdocument.getElementById('high-score').innerText = \"Best: \" + highScore;\n}\n\nfunction onWindowResize() {\n\tcamera.aspect = window.innerWidth / window.innerHeight;\n\tcamera.updateProjectionMatrix();\n\trenderer.setSize(window.innerWidth, window.innerHeight);\n}\n\ndocument.getElementById('start-btn').onclick = startGame;\ndocument.getElementById('restart-btn').onclick = startGame;\ninit();"},{"name":"style.css","content":"body {\n\tmargin: 0;\n\toverflow: hidden;\n\tbackground: #050505;\n\tfont-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n}\n\n#game-ui {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tpointer-events: none;\n\tz-index: 10;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.overlay {\n\tpointer-events: auto;\n\tbackground: rgba(0, 0, 0, 0.85);\n\tpadding: 2rem;\n\tborder: 2px solid #0ff;\n\tborder-radius: 15px;\n\ttext-align: center;\n\tbox-shadow: 0 0 20px #0ff;\n\tcolor: #0ff;\n}\n\nh1 {\n\tmargin-top: 0;\n\tletter-spacing: 5px;\n\ttext-shadow: 0 0 10px #0ff;\n}\n\nbutton {\n\tbackground: #0ff;\n\tborder: none;\n\tpadding: 15px 30px;\n\tfont-weight: bold;\n\tfont-size: 1.2rem;\n\tcursor: pointer;\n\tborder-radius: 5px;\n\tmargin-top: 20px;\n\ttransition: transform 0.1s;\n}\n\nbutton:active {\n\ttransform: scale(0.95);\n}\n\n#score-board {\n\tposition: absolute;\n\ttop: 20px;\n\tright: 20px;\n\tfont-size: 2rem;\n\tfont-weight: bold;\n\tcolor: #ff00ff;\n\ttext-shadow: 0 0 10px #ff00ff;\n}"}],"folders":[]},"variants":null,"createdAt":"2026-02-27T12:35:28.915Z","updatedAt":"2026-03-02T00:30:40.781Z"}}