27. HAFTA

OYUN TASARIMCISI

Kendi Oyunumuzun Mantığını Kuruyoruz!

Piksel Oyun Ekranı

Bir Oyun Nasıl Çalışır?

Oynadığımız tüm oyunlar (Minecraft, Mario, Roblox) aslında binlerce Algoritmadan oluşur.

Bilgisayar sürekli şunu kontrol eder:

  • Tuşa bastı mı?
  • Duvara çarptı mı?
  • Canı bitti mi?
Kod Mantığı

1. Olaylar (Events): Tetikleyici

Oyun Kumandası

Bir şeyin olması için bir Tetikleyiciye ihtiyacımız vardır.

Örnek:

EĞER (Boşluk Tuşuna Basıldıysa)
  -> ZIPLA
EĞER (Sağ Ok Tuşuna Basıldıysa)
  -> İLERİ GİT

2. Çarpışma Kontrolü (Decision)

Oyunlarda karakterimiz bir şeye değerse ne olur?

  • Düşmana değerse: Canı azalır. (Game Over?)
  • Altına değerse: Puan kazanır. (Ding!)
  • Duvara değerse: Durur.
Game Over Ekranı

3. Oyun Döngüsü (Loop)

Yükleniyor İkonu

Oyun bitene kadar bazı şeyler SÜREKLİ tekrar eder.

  • Düşmanlar sürekli hareket eder.
  • Arka plan müziği sürekli çalar.
  • Skor sürekli güncellenir.

Buna Sonsuz Döngü denir.

GÖREV: Labirent Oyunu

Düşman

Yakalanırsan başa dön.

Hazine

Ulaşırsan kazanırsın.

Duvarlar

İçinden geçemezsin.

Örnek: Zıplama Algoritması

BAŞLA
|
Boşluk tuşuna basıldı mı?
|---> EVET --> Karakteri Yukarı Kaldır
|                |
|                Biraz Bekle
|                |
|                Karakteri Aşağı İndir
|
BİTİR
Mario Zıplama

Seviye Atlama (Level Up)

Level Up Yazısı

Oyunun zorlaşması gerekir.

EĞER (Puan = 100) İSE:

  1. Arka planı değiştir.
  2. Düşmanları hızlandır.
  3. "Tebrikler!" müziği çal.

Sıra Sende: Hata Ayıklama (Debug)

HATALI KOD:
1. Oyunu Başlat
2. Düşmana dokunursa
3. Puan Kazan
4. Oyuna Devam Et

Bu oyunda bir gariplik var!

Düşmana dokununca puan kazanıyor. Bu yanlış.

Doğrusu ne olmalı?

CEVAP: Düşmana dokunursa -> Can Azalt.

GAME OVER... AMA BİTMEDİ!

Gelecek Hafta: Algoritma Test Etme

Kendi Oyununu Kodlamaya Hazır Ol!