Monster Hills Prototype 01

The Cyclops Cave · v0.1.1 · 29 Ekim 2026

Telefon tarayıcısı için tek mağaralı, dikey aksiyon-platform prototipi. Ana referans, verilen Monster Hills Game Bible v1.0 PDF’sidir; iki DOCX de okunmuştur. ROOK Character Bible görsel kimliğe rehberlik eder. Bu uygulama, belgelerde açık bırakılan konuların onayı veya yeni kanon değildir.

v0.1.1 Bounce temas düzeltmesi

Oyuncu geri bildirimi: Sadece yukarı zıplamak yeterli hissediliyor; mekaniklerin amacı anlaşılmıyor. Ayrıca başarılı Bounce sonrası üstteki düşmana alttan temas anında can kaybettiriyordu.

Düzeltme: Bounce yükselişinde düşmana alttan girilen temas, ayrılana kadar hasarsız geçiş olarak ele alınır. Bu genel dokunulmazlık değildir: yandan temas, hatalı iniş ve boss ışını hasarı korunur. Düşmanın üstünden aşağı inildiğinde normal Bounce/Chain Bounce çalışır. Normal zıplama bu özel geçişi sağlamaz. Bu davranış v0.1.1 prototip hipotezidir; nihai oyun kuralı değildir.

Beş regresyon testi eklendi: üstteki düşmandan hasarsız geçiş ve zincir inişi; normal zıplamada temas; Bounce sırasında yan temas; hatalı düşüş; yeniden başlatmada durum temizliği. Toplam 20/20 otomatik test geçti. Yeni davranışın gerçek telefon hissi henüz oyuncu tarafından doğrulanmadı.

Açık tasarım sorunu: Düşmanlar hâlâ kendi platformlarında; birlikte baskı kuran grup karşılaşması bu düzeltmeyle eklenmedi. Öneri, önce bir minikle Bounce öğretmek, ardından aynı aileden iki minik ve bir muhafızla küçük bir karşılaşmada Echo/gölge/JetSpin tercihlerini sınamaktır. Grup büyüklüğü ve saldırı düzeni onaylanmış oyun kuralları değildir.

Çalıştırma

Gerekli: Python 3. Testler için Node.js 20 veya üzeri. Paket kurulumu, API anahtarı veya derleme gerekmez.


python3 -m http.server 8080 --directory dist

Tarayıcıda http://localhost:8080 adresini açın. Windows’ta gerekirse python3 yerine py kullanın. Telefon ve bilgisayar aynı ağdaysa telefon tarayıcısında bilgisayarın yerel IP’si ve 8080 portunu açın. Güvenlik duvarı erişimine izin verilmesi gerekebilir. ES modülleri nedeniyle index.html dosyasını doğrudan file:// ile açmayın.


npm test

Yayımlamak için dist/ içeriğini herhangi bir statik HTTPS sunucusuna koyun. Sunucu tarafı, hesap veya veritabanı yoktur. Oyun dış kaynak/font/asset indirmez. Test verisi sunucuya gönderilmez; yalnızca kullanıcı isterse JSON olarak indirilir. Sayfa yenilenirse tur verisi silinir.

Kontroller

EylemTelefonKlavye
Yatay hareketSol alttaki yön tuşlarını basılı tutA/D veya sol/sağ ok
ZıplamaSağdaki büyük ZIPLA tuşuna dokunBoşluk, W veya yukarı ok
BounceDüşerken Tepegöz’ün tepesine in; otomatik yaylanırAynı
Chain BounceZemine değmeden sonraki Tepegöz’e inAynı
Echo ShotECHO tuşuna her atış için dokunJ
JetSpinEnerji %100 olunca SPIN’e dokunK
DuraklatÜst sağdaki duraklatma düğmesiEscape
Işık karşılaştırmasıDuraklatma panelindeki Işık = Yem anahtarıSağ açıklama panelindeki anahtar

Aynı anda yön ve zıplama/atış kullanılabilir. Pointer capture ve pointercancel desteği vardır. Zıplamayı basılı tutmak otomatik zıplatmaz. Atış da otomatik değildir. Sekme gizlenirse veya pencere odağı kaybolursa tur duraklar. Ses ilk kullanıcı etkileşiminde açılır ve üstteki nota düğmesiyle kapatılır.

Oynanış

ROOK ile 31 platformlu mağarada yukarı ilerleyin. Minik Tepegözler sıçrar; Muhafızın önündeki taş kalkan Echo’yu durdurur, tepesi açıktır. Echo yakın hedefe yönelir ve kısa süre sersemletir; düşman öldürmez ve yükselme sağlamaz. Bounce ve Chain Bounce enerji üretir.

JetSpin yaklaşık beş saniye boyunca yakındaki düşmanları iter ve sersemletir. Bu deneyde temas/ışın hasarından da korur; kalıcı karar değildir. Gölgeli platformlarda parıltı daha hızlı söner. Ortadaki sığınak takip baskısını keser ve bir kez canı tamamlar. Tepeye ulaşıldığında Dev Tepegöz üç kez hedef alır, hedefini kilitler ve tek gözünden ışın çıkarır. Üç ışın döngüsünün ardından karşılaşma tamamlanır. Bu bir kısa saldırı gösterimidir; tam boss dövüşü değildir.

Tur en fazla 90 saniye sürer. Üç can tükenince daha erken bitebilir; çok iyi oynayan biri 60 saniyeden önce tamamlayabilir. 60–90 saniyelik tipik deneyim hedefi kullanıcı araştırmasıyla henüz doğrulanmadı. Tur sonu yükseliş, Bounce, zincir, Echo ve JetSpin ölçümleri gösterilir. JSON ek olarak ilk hareket zamanı, gölgede geçirilen süre, hasarlar, ışık anahtarı değişiklikleri ve zaman damgalı olayları içerir.

Deney ayarları — kalıcı oyun kuralı değildir

Sayısal ayarlar dist/src/config.js içinde; bölüm düzeni level.js içinde tutulur.

- Yerçekimi: 1450 birim/s²; yatay hız: 235 birim/s; zıplama hızı: 710 birim/s.

- Bounce: 770 birim/s; zincir başına +28 (en çok üç ek artış). Zincir penceresi 2,1 saniye ve zemine değmeme koşulu.

- Kenardan ayrıldıktan sonra zıplama toleransı: 110 ms. İnişten önce basılan zıplamayı saklama: 140 ms.

- Echo: 1,1 saniye atış aralığı, 270 birim hedef arama menzili, 1,25 saniye sersemletme; enerji maliyeti yok.

- JetSpin: 100 enerji ile başlar, 5 saniye sürer. Başlangıç enerjisi 28; pasif dolum 1,1/s; Bounce +24, zincir ek kazancı +5 × önceki zincir adımı.

- Üç can; hasar sonrasında 1,5 saniye koruma; tek kullanımlık sığınak iyileştirmesi.

- Işık açıkken algı mesafesi sakin hâlde 88, tam parıltıda 363 birimdir. Gölgede 48, sığınakta 0. Karşılaştırma kapalıyken sabit 160; sığınak yine güvenlidir.

- Düşman sayısı tur başında sabittir; ışık veya güç kullanımı yeni düşman üretmez. Düşmanlar kendi platformlarında hareket eder; platformlar arası takip yoktur.

ROOK’un tek yana uzanan kapüşonu, fildişi maskesi, amber gözleri, petrol/lacivert gövdesi ve kiremit atkısı korunmuştur. Karakter çizimleri kodla üretilmiş geçici 2D geometridir; premium 3D varlık veya nihai rig değildir. Maskenin çatlak biçimi ve görünen enerji eli yalnızca bu çizimin geçici seçimidir. Tepegözlerin hepsi tek gözlüdür. Verilen belgelerde ayrıntılı Tepegöz renk/boynuz eşlemesi bulunmadığından minik için soluk yeşil ve tek çıkıntı, muhafız için gri/iki çıkıntı/kalkan, dev için iri kahverengi silüet kullanılmıştır. Bunlar onaylı canavar tasarımı sayılmaz; mevcut aile kataloğu geldiğinde değiştirilmelidir.

Modüller

DosyaSorumluluk
config.jsFizik ve deney sabitleri
physics.jsHareket, tek yönlü platform çarpışması, Bounce
enemies.jsAlgı, takip, sıçrama, boss uyarı/ışın evreleri
camera.jsDikey takip, ekran yüksekliği, sınırlı sarsıntı
input.jsÇoklu pointer, tuşlar ve tek basış olayları
level.jsTek mağara, platformlar, gölgeler, başlangıç yerleşimi
game.jsSimülasyon, enerji, atış, hasar, tur ve olay ölçümleri
render.jsCanvas 2D karakter, sahne, efekt çizimi
audio.jsWeb Audio ile kısa eylem sesleri
main.js120 Hz sabit fizik adımı, arayüz, duraklatma, veri indirme

Teknoloji tercihi: Bağımlılıksız modern JavaScript ES modülleri + Canvas 2D. Briefteki TypeScript/HTML5 çatı önerisi zorunlu olmadığından ilk oynanabilir teslimatı hafif tutmak için derlemesiz yapı seçildi. Kaynak modülerdir ve Git ile sürümlenir. Bu seçim nihai üretim motorunu belirlemez.

Yapılan doğrulamalar

29 Ekim 2026: İlk sürümde 15/15 Node testi geçti; v0.1.1 ile toplam 20/20. Test dosyası tests/game.test.js.

1. Her ardışık platforma fizik simülasyonuyla ulaşım.

2. Yüksek düşüş hızında platformun içinden geçmeme.

3. Kenar toleransı ve zıplama tamponu.

4. Bounce ve zincirin hız/enerji artışı; yükselirken stomp olmaması.

5. Işık/gölge algı yarıçapları ve sabit düşman sayısı.

6. Echo bekleme süresi ve düşman sayısının korunması.

7. JetSpin enerji tüketimi ve beş saniyelik süre.

8. Duraklamada zaman ve fiziğin durması.

9. Boss hedef kilidi ve üç ışın döngüsü.

10. 90 saniye sınırı ve yeniden başlamada durum temizliği.

11. Düşüş sonrası güvenli platforma dönüş ve tekrar hasar koruması.

12. Gerçek düşey çarpışmadan Bounce ve ikinci hedefte Chain Bounce.

13. Muhafızın önden atışı engellemesi ve arkadan sersemlemesi.

14. Gölgede uyarılmış düşmanın dikkatinin azalması.

15. Boss sonrasında tamamlanma olayının tek kez çalışması. Bu son testte hasar koruması kontrollü olarak verilmiştir; insan oyuncunun boss’u geçtiği iddiası değildir.

Tarayıcıda masaüstü açılışı, klavye zıplaması, 390×844 ve 320×568 iframe telefon görünümü, dokunmatik düğmelerin pointer tıklamaları, Echo ve duraklatma kontrol edildi. Her iki telefon görünümünde de belge ölçüleri ekran ölçüleriyle eşit: yatay veya dikey sayfa taşması yok. Kısa ekranda karakteri sıkıştıran ölçekleme düzeltildi; çizim oranı korunarak görülen dünya yüksekliği değişiyor.

Doğrulama sınırları: Gerçek iPhone/Safari veya Android cihazında çoklu dokunma, ses gecikmesi, ekran çentiği ve düşük donanım FPS testi yapılmadı. Tarayıcıdaki pointer tıklaması fiziksel iki başparmak testinin yerine geçmez. İleri seviye oyuncu/ilk oyuncu bitirme süresi ve eğlence değerlendirmesi yapılmadı. Kullanıcı araştırması sonuçları uydurulmadı.

Sorunlar ve ikinci prototip önerileri

1. Kontrol yükü: Beş dokunmatik düğme küçük ekranda öğrenme gerektiriyor. Önce 5–8 katılımcıyla iki başparmak testinde ilk hareket ve ilk Bounce zamanını ölçün. Ardından yön için sürükleme + zıplama düğmesi varyantını aynı bölümde karşılaştırın; tek elle kontrol kararı açık kalsın.

2. Chain erişimi: Ardışık düşman rafları eklendi. Hareketli miniklerin zıplaması iniş zamanını zorlaştırıyor; hedef katılımcıların en az bir kez iki farklı hedefte zincir kurup kuramadığını gözlemleyin. Aynı hedefi tekrar kullanmanın enerji üretimi de denge riski.

3. Echo–Bounce dengesi: Echo öldürmüyor, ancak uzun sersemletme güvenli sıçrama noktası yaratıyor. 1,1 s ve 1,6 s atış aralığını; atış/Bounce oranını ve oyuncunun tercihini karşılaştırın. Düşman öldürme eklemek ayrı karar olmalı.

4. JetSpin etkisi: Beş saniyelik enerji fırtınası ve koruma uygulanıyor; heyecan henüz ölçülmedi. Kullanım anını, elde bekletme davranışını ve boss ışınını yok sayma eğilimini gözlemleyin. İkinci denemede korumayı ayrıca aç/kapat deneyin.

5. Işık = Yem: Algı ve takip etkisi teknik olarak var. Platforma bağlı düşmanlar nedeniyle ışığın stratejik etkisi sınırlı kalabilir. Aynı kişiye açık/kapalı koşulları farklı sırayla verin; gölgeye isteyerek dönme, hasar ve atış zamanlarını karşılaştırın. Yeni düşman doğurma eklemeyin.

6. Okunabilirlik: Küçük ekranda sahne geometriyle sade tutuldu. Gerçek cihazda ROOK maskesi, tek gözler ve ışının hedef kilidi ayrı ayrı test edilmeli. Kesinleşmiş Tepegöz aile kataloğuyla geçici silüetler değiştirilmeli.

7. Süre: Üst sınır 90 saniye; erken yenilgi ve hızlı bitiş mümkün. Gerçek tur dağılımına göre platform aralıkları, ilk temas zorluğu ve can sayısını ayarlayın. Hedef süreye ulaşmak için yapay bekleme eklemeyin.

İlk altı araştırma sorusunun yanıtlanma durumu: teknik mekanikler mevcut; öğrenme kolaylığı, Bounce tatmini, Echo’nun baskınlığı, JetSpin heyecanı, ışığın karar değiştirmesi ve fiziksel telefonda okunabilirlik için katılımcı testi bekleniyor. JSON kayıtları davranışı ölçmeye yardımcı olur; keyif veya niyet tek başına olay kaydından çıkarılamaz.

Kapsam

Tek mağara, ROOK, üç Tepegöz tipi, gölge, sığınak ve kısa dev karşılaşması. Hesap, reklam, mağaza, XP, günlük görev, çoklu bölüm, kalıcı ilerleme veya geniş hikâye sistemi yok. Verilen tasarım belgeleri değiştirilmedi.