Claude Opus 5.5
Dağ kasabasında düşük poligonlu arabalar ve kış pisti ile interaktif 3D yarış oyunu
Prompt
PROMPT: Ignition (1997)'den esinlenen bir yarış oyunu oluştur: açılı üstten kamera, arcade ağırlıklı fizik, çok belirgin kişiliklere sahip araçlar. Bu, kopya olmayan özgün bir oyun olmalı. Özgün bir ad, özgün bir pist ve hiçbir özgün varlık kullanma. ## Stack - Vite + TypeScript (strict), görüntüleme için Three.js, UI framework'ü yok (HUD düz DOM/CSS ile). - Kodla oluşturulan low-poly grafikler (BoxGeometry, CylinderGeometry vb.), harici model veya doku yok. Düz renkler ve basit materyaller. - Özel, basitleştirilmiş 2.5D fizik (hareket XZ düzleminde, yükseklik araziden alınır). Fizik motoru yok. ## Architecture - src/game/ (fixed timestep kullanan oyun döngüsü), src/vehicles/, src/track/, src/ai/, src/render/, src/ui/ - Araçlar veri odaklı olmalı: kütle, güç, azami hız, yol tutuşu, direksiyon, çarpışma direnci ve boost parametreleri (güç, süre, yeniden dolma süresi). Tek bir Vehicle sınıfı, farklı yapılandırmalar. - Her araç oyuncu veya AI tarafından kontrol edilebilmeli (paylaşılan kontrol arayüzü: gaz, fren, direksiyon, boost). - Pist veri olarak tanımlanmalı: merkez çizgisi spline'ı + genişlik + bölge listesi (buz, kestirme, engel). Yol mesh'ini ve AI geçiş noktalarını bundan üret. ## Vehicles (özgün adlar, marka yok) Dört araç. Oyuncu seçim ekranında birini seçer; kalan 3 araç AI tarafından kullanılır. - 90'lar tarzı polis sedanı (siyah-beyaz, ışık barı): ağır, dengeli, çarpışmalarda güçlü biçimde iter. - Muscle car convertible: düz yollarda en hızlı, virajlarda oversteer yapar. - Kırmızı monster truck: yavaş ama tümsekleri önemsemez ve diğer her şeye çarpar. - Posta dağıtım minibüsü: yavaş, ağırlık merkezi yüksek, virajlarda savrulur. Yol tutuşu farklılıkları açıkça hissedilmelidir. Dördü de oynanabilir ve rekabetçi olmalıdır. Daha yavaş araçlar; çarpışma direnci, arazi uyumu veya daha güçlü ya da daha sık kullanılabilen boost gibi özelliklerle bunu telafi etmelidir. ## Boost - Her araçta, normal azami hızının üzerine çıkan kısa süreli ve belirgin bir hızlanma sağlayan boost bulunur. - Boost otomatik olarak %0'dan %100'e şarj olur. Yalnızca %100 olduğunda kullanılabilir. Kullanımdan sonra gösterge %0'a düşer ve yeniden dolmaya başlar. - Güç, süre ve yeniden dolma süresi her araç için farklıdır (ör. muscle car: kısa ve çok güçlü; minibüs: daha zayıf ama hızlı dolar; monster truck: uzun sürer ama yavaş dolar). - Boost sırasında görsel efekt: egzoz alevi veya iz, kameranın hafifçe geriye çekilmesi. - AI da boost'u mantıklı şekilde kullanır: düz yollarda, keskin virajlardan önce veya buz üzerinde değil. ## Track Kanada hissi veren, kıştan ilkbahar çözülmesine geçen bir dağ kasabası: - kapalı döngü, tur başına yaklaşık 60–90 saniye - pistten görülebilen bir şelale ve nehrin üzerinde ahşap bir köprü - periyodik olarak trenin geçtiği bir demir yolu geçidi (çarpışma = güçlü geri savrulma, oyun bitmez) - yol tutuşunu azaltan buz parçaları - bir kestirme (dar ve riskli); dekorasyonlar: ladin ağaçları, ahşap evler, kar - araçların pistin dışında takılıp kalmaması için bariyerler veya doğal engeller. Güvenlik önlemi: bir araç (botlar dahil) yaklaşık 4 saniyeden uzun süre takılı kalırsa, son kontrol noktasında otomatik olarak piste geri döndür. ## Gameplay - 3 tur, sabit grid start, 3-2-1 geri sayımı - AI, araç türüne bağlı bir sürüş tarzıyla geçiş noktalarını takip eder, hafif rubber-banding uygular, engellerden kaçınır, ışınlanmaz (yukarıda açıklanan güvenlik amaçlı piste geri döndürme dışında) - Savrulma yalnızca fizikten kaynaklanır (yol tutuşu, hız, buz); el freni yok - Kamera: yaklaşık 50° açıyla üstten, oyuncuyu takip eder ve hareket yönünde hafif bir ön bakış kullanır - Kontroller: ok tuşları/WASD (gaz, fren/geri vites, direksiyon), space = boost - Ekranlar: başlangıç → araç seçimi (model ön izlemesi + boost dahil istatistik çubukları) → yarış → sonuçlar → yeniden başlatma (araç değiştirme seçeneğiyle) ## HUD - Sıralama, tur, tur süresi, en iyi tur, minimap. - Araba aküsü şeklinde tasarlanmış boost göstergesi: üst kısmında iki terminal (+/−) bulunan dikdörtgen kasa; şarj oldukça doluluk seviyesi yükselir. Renk kırmızıdan sarıya, ardından yeşile geçer. %100 olduğunda akü hazır olduğunu açıkça belirtir (nabız atması veya parlaması, "BOOST" etiketi ya da yıldırım simgesi). Boost kullanılırken gösterge hızla boşalır. ## Out of scope for v1 Ses, seçenekler menüsü, birden fazla pist, çok oyunculu mod, kayıt durumu. ## Workflow 1. Önce bir plan ve dosya yapısı öner, ardından aşamalar halinde uygula: (a) boost dahil oyun döngüsü + düz zeminde bir araç, (b) pist, (c) kalan araçlar ve AI, (d) engeller ve tren, (e) araç seçimi, akü göstergeli HUD ve ekranlar. 2. Her aşamadan sonra `npm run build` komutunu çalıştır ve tür hatalarını düzelt. 3. Araç fiziği, boost mantığı (şarj olma, %100'ün altındayken kilitli olma, kullanımdan sonra sıfırlanma) ve tur/sıralama mantığı için birim testleri (Vitest) ekle. 4. Son olarak kontrolleri ve yeni bir pistin veya aracın nasıl ekleneceğini açıklayan bir README oluştur. ## Acceptance criteria `npm install && npm run dev` oyunu başlatır. Dört aracın herhangi birini seçebilir ve 3 bota karşı 3 tur tamamlayabilirsin. Her araç farklı şekilde yol tutar ve gözle görülür biçimde farklı bir boost'a sahiptir. Boost yalnızca akü doluyken çalışır ve botlar da boost kullanır. Tren ve buz çalışır. Sonuçlar doğru sıralamayı gösterir. Ortalama bir dizüstü bilgisayarda sabit 60 FPS.
Build a racing game inspired by Ignition (1997): angled top-down camera, arcade-leaning physics, vehicles with very distinct personalities. This must be an original game, not a copy. Use an original name, an original track, and zero original assets. ## Stack - Vite + TypeScript (strict), Three.js for rendering, no UI framework (HUD in plain DOM/CSS). - Low-poly graphics generated in code (BoxGeometry, CylinderGeometry, etc.), no external models or textures. Solid colors and simple materials. - Custom simplified 2.5D physics (movement on the XZ plane, height from terrain). No physics engine. ## Architecture - src/game/ (game loop with fixed timestep), src/vehicles/, src/track/, src/ai/, src/render/, src/ui/ - Vehicles are data-driven: mass, power, top speed, grip, steering, collision resistance, and boost parameters (strength, duration, recharge time). One Vehicle class, different configurations. - Any vehicle can be controlled by either the player or the AI (shared control interface: throttle, brake, steer, boost). - Track as data: centerline spline + width + list of zones (ice, shortcut, obstacle). Generate the road mesh and AI waypoints from it. ## Vehicles (original names, no brands) Four vehicles. The player picks one on the selection screen; the remaining 3 are driven by the AI. - 90s-style police sedan (black and white, light bar): heavy, stable, pushes hard in collisions. - Muscle car convertible: fastest on straights, oversteers in corners. - Red monster truck: slow, but ignores bumps and rams everything else. - Postal delivery van: slow, high center of gravity, sways in corners. The handling differences must be clearly noticeable. All four must be playable and competitive. Slower vehicles compensate with e.g. collision resistance, terrain handling, or a stronger or more frequent boost. ## Boost - Every vehicle has a boost: a short, pronounced acceleration beyond its normal top speed. - Boost charges automatically from 0 to 100%. It can only be used at 100%. After use, the meter drops to 0 and starts charging again. - Strength, duration and recharge time are unique to each vehicle (e.g. muscle car: short and very strong; van: weaker but recharges fast; monster truck: long but slow to recharge). - Visual effect while boosting: exhaust flame or trail, slight camera pull-back. - The AI also uses boost, sensibly: on straights, not before sharp corners or on ice. ## Track A mountain town with a Canadian feel, winter turning into spring thaw: - closed loop, roughly 60–90 seconds per lap - a waterfall visible from the track and a wooden bridge over a river - a railroad crossing with a train passing periodically (collision = strong knockback, not game over) - ice patches with reduced grip - one shortcut (tight, risky); decorations: spruce trees, wooden houses, snow - barriers or natural obstacles so vehicles can't get stuck off the track. Failsafe: if a vehicle (including bots) is stuck for more than ~4 s, automatically return it to the track at the last checkpoint. ## Gameplay - 3 laps, standing grid start, 3-2-1 countdown - AI follows waypoints with a driving style that depends on the vehicle, light rubber-banding, avoids obstacles, no teleporting (except the failsafe track return described above) - Sliding comes purely from physics (grip, speed, ice), no handbrake - Camera: top-down at ~50°, follows the player with a slight look-ahead in the direction of travel - Controls: arrows/WASD (throttle, brake/reverse, steering), space = boost - Screens: start → vehicle selection (model preview + stat bars, including boost) → race → results → restart (with option to change vehicle) ## HUD - Position, lap, lap time, best lap, minimap. - Boost meter styled as a car battery: rectangular casing with two terminals (+/−) on top, fill level rises as it charges. Color shifts from red through yellow to green. At 100% the battery clearly signals readiness (pulsing or glow, "BOOST" label or lightning bolt icon). While boosting, the meter drains quickly. ## Out of scope for v1 Sound, options menu, multiple tracks, multiplayer, save state. ## Workflow 1. First propose a plan and file structure, then implement in stages: (a) game loop + one vehicle on a flat plane, including boost, (b) track, (c) remaining vehicles and AI, (d) obstacles and train, (e) vehicle selection, HUD with battery meter, and screens. 2. After each stage run `npm run build` and fix type errors. 3. Add unit tests (Vitest) for vehicle physics, boost logic (charging, lockout below 100%, reset after use), and lap/position logic. 4. Finally: a README describing the controls and how to add a new track or vehicle. ## Acceptance criteria `npm install && npm run dev` launches the game. You can pick any of the 4 vehicles and complete 3 laps against 3 bots. Each vehicle handles differently and has a noticeably different boost. Boost only works with a full battery, and bots use it too. The train and ice work. Results show the correct order. Stable 60 FPS on an average laptop.
Bu promptun hakları yazarı @_nieGRAMotny_'a aittir. Ticari kullanımdan — yapay zekâ araçlarının, toplayıcıların, Telegram botlarının tanıtımı — siz sorumlusunuz: mozgi.io sorumluluk kabul etmez. Ayrıntılar →











