Plinkom
Plinkom – Godot 4.6 ile Geliştirilen 2D Peg + Cash Idle Oyunu
Plinkom, Godot 4.6 kullanılarak geliştirilen, peg (pim) tabanlı bir fizik ve idle mekaniği oyunudur. Oyuncu, para (cash) toplarını peg ızgarasından aşağı düşürür; cash peg’lere çarptıkça mavi (çarpan) veya kırmızı (ekleme) peg’lerin değerleriyle artar ve toplam para kazanılır. Peg’leri sürükleyip bırakarak yerleştirme, birleştirme (merge), depolama ve binaları yükseltme ile gelir artırılır.
🎮 Oyun Özellikleri
- Motor: Godot 4.6 (GL Compatibility)
- Peg Sistemi: Mavi (çarpan, örn. 1.1x) ve kırmızı (ekleme, örn. +1) peg’ler; sürükle-bırak ile ızgara noktalarına yerleştirme, aynı tipte merge, swap
- Cash Fizik: RigidBody2D ile düşen cash topları; peg’lere çarpınca değer güncellenir (çarpan veya ekleme), bounce upgrade ile zıplama ayarlanabilir
- Para Sistemi: GameManager ile merkezi para takibi; başlangıç 2.5M, binalardan ve cash toplama ile artış
- Bina Sistemi: Seviyeli binalar (BuildingLevelConfig); her seviyede farklı sprite, cash_drop, drop_cooldown, upgrade_price
- Depolama (Storage): 8 slotlu depo; peg’leri tahtadan çıkarıp saklama, aynı tipte merge, tahtaya geri bırakma
- Sesler: Peg vuruş sesleri (peg-1 … peg-5) AudioManager ile yönetilir
- UI: Skor (para) gösterimi, duraklatma menüsü, peg satın alma, bounce / kırmızı / mavi peg upgrade butonları
🧠 Teknoloji ve Araçlar
| Alan | Kullanılan Teknoloji |
|---|---|
| Oyun Motoru | Godot 4.6 |
| Ses Yönetimi | AudioManager (AudioStreamPlayer) |
| Peg & Fizik | StaticBody2D (peg), RigidBody2D (cash), Area2D (binalar) |
| UI & Katmanlar | CanvasLayer (PegsLayer, DragLayer, Storage, BuildingUpgradeLayer), Control, Panel |
| Veri Yönetimi | GameManager (autoload): para, peg fiyatı, bounce/red/blue upgrade, peg_registry |
| Bina Konfigürasyonu | BuildingLevelConfig (Resource): grade, sprite, cash_drop, drop_cooldown, upgrade_price |
🏆 Para ve Oyun Mekanikleri
-
Para: GameManager
total_moneyile tutulur; cash toplandığında veya binalardan düşen cash’ler toplanınca artar. Peg satın alma, bounce/red/blue upgrade ve bina yükseltmeleri para harcar. -
Peg Fiyatı:
peg_base_price * (peg_price_multiplier ^ peg_purchase_count); her yeni peg satın alımında fiyat artar. - Bounce Upgrade: Cash’lerin zıplama katsayısı artar; fiyat her yükseltmede çarpan ile artar.
- Kırmızı Peg: Ekleme değeri 2x’e çıkar; sonraki upgrade fiyatı 2x.
- Mavi Peg: Ekleme değeri +0.1 artar; sonraki upgrade fiyatı 2x.
-
Peg Registry: Her peg point için
{ type, value, occupied }GameManager’da tutulur; sinyallerle UI ve diğer sistemler güncellenir.
🎯 Oyun Mekanikleri Detayları
Peg Sistemi
- Tipler: MULTIPLIER (mavi, örn. 1.1x), ADDITIVE (kırmızı, örn. +1)
- Yerleştirme: Sürükle-bırak ile en yakın peg point’e snap; boş noktaya taşıma, dolu noktada aynı tip+değer ise merge, farklı ise swap (sadece tahtadaki peg’ler)
- Depolama: Peg’i storage paneline bırakma → slot doluysa aynı tip+değer ise merge, değilse ilk boş slota koyma; çöp kutusuna bırakırsa peg silinir
- Storage’dan Tahtaya: Slot’a tıklayınca peg spawn olur, fareyle sürüklenir; board’a bırakıldığında noktaya yerleşir veya merge/swap
Cash Sistemi
-
Fizik: RigidBody2D;
GameManager.cash_bounceile zıplama -
Peg Çarpışması: body_entered ile peg’e çarpan cash; MULTIPLIER ise
cash_value *= peg_value, ADDITIVE isecash_value += peg_value; peg’de hit animasyonu ve peg sesi - Görüntü: 1K/1M kısaltmalı label; ekrandan çıkınca queue_free
Bina Sistemi
-
Seviyeler:
levels: Array[BuildingLevelConfig]; her seviyede sprite, cash_drop, drop_cooldown, upgrade_price -
Cash Spawn: Timer ile periyodik; CashSpawnZone içinde rastgele noktada cash instantiate,
get_current_cash_drop()değeri ile setup - Upgrade Panel: Bina tıklanınca açılır; sabit boyutlu panel, upgrade fiyatı ve yükseltme
Peg Point (Izgara)
- Noktalar: Row1/Row2/Row3 ile 6+5+6 nokta; kilitli (is_locked) noktalar para ile açılır
- Peg Spawn: Add peg ile rastgele boş noktaya mavi veya kırmızı peg eklenir; spawn pozisyonundan noktaya tween ile snap
✍️ Geliştirici Notu
Plinkom, Godot 4.6’nın 2D fizik (RigidBody2D, StaticBody2D), sinyal tabanlı iletişim ve CanvasLayer ile katman yönetimi kullanılarak geliştirildi. GameManager tek merkezde para, peg fiyatları ve upgrade değerlerini tutar; peg_registry ile tahta durumu takip edilir. Sürükle-bırak sırasında peg’ler geçici olarak DragLayer’a alınarak her şeyin üstünde çizilir; bırakma anında en yakın peg point, storage slot veya çöp kutusu hesaplanır. Storage’da aynı tip+değer merge (mavi +0.1, kırmızı toplam) ve bina seviye konfigürasyonu (BuildingLevelConfig) oyunun temel tasarım taşlarını oluşturur.
📈 Etiketler
Etiketler: Godot 4.6, 2D oyun, peg game, idle, cash physics, RigidBody2D, StaticBody2D, drag and drop, merge mechanic, storage UI, building upgrade, GameManager, AudioManager, Türk yapımı oyun, resource config, CanvasLayer