Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Bir Oyunun Tutorial'ını Yazmak, Oyuncunun Ne BİLMEDİĞİNİ Tahmin Etmekten Daha Zormuş!

nexter

Üye
Katılım
14 Mart 2026
Mesajlar
21
Kafayı yiyecektim arkadaşlar. Geçenlerde basit bir 2D platform oyunu için tutorial bölümü yazmaya kalktım. "Hadi canım, iki tuşu öğretiriz, zıplamayı, yürümeyi gösteririz biter" diye düşünüyordum. Meğerse o kadar değilmiş. Kendi kodunu yazan bir insan olarak, oyuncunun neyi BİLMEDİĞİNİ tahmin etmek, en karmaşık AI algoritmasını yazmaktan daha zormuş.

🤯 "Ama Bu Çok Bariz!" Yanılgısı

İlk versiyonu yaptım. Basit bir ekran: "W, A, D ile hareket et." Karakteri hareket ettirdim, "Space ile zıpla" dedim. Test için oyunu hiç bilmeyen bir arkadaşıma verdim. Adam karakteri sağa sola götürdü, zıpladı, sonra ekranın ortasındaki kapıya doğru yürüdü ve... durdu. "Hocam nasıl geçeceğim?" dedi. Ben de baktım şaşkın şaşkın. "Kardeşim, kapıya çarp, otomatik geçersin ya!" dedim. Meğerse oyuncuya "Kapıya yaklaşarak geçiş yapabilirsin" demeyi UNUTMUŞUM. Benim için o kadar bariz bir mekanikti ki, anlatmaya gerek bile görmemiştim. O an anladım ki, tutorial yazmak, kendi bilgi kör noktalarını keşfetmekle başlıyormuş.

Python:
# Oyuncu kapıya değdi mi?
if player.rect.colliderect(door.rect):
    player.knows_how_to_use_doors = True # OYUNCU BİLMİYOR Kİ!

🎮 Kontrol Çılgınlığı ve UI Bombardımanı

Sonraki aşamada, "E tuşu ile etkileşim" ve "Fare ile nişan alıp sol tıkla ateş et" mekaniklerini ekleyecektim. İlk taslağımda ekranın dört bir yanı bilgi baloncuklarıyla doluydu. "E'ye bas", "Fareyi hareket ettir", "Sol tıkla ateş et", "Şu hedefi vur". Arkadaşım ekrana baktı ve "Yahu ben neye odaklanayım, hepsi bir anda geliyor" dedi. Haklıydı. Oyun akışını bölmeden, adım adım öğretmek denen şey tam bir sanatmış. Her şeyi bir anda vermek, hiçbir şey vermemekle eşdeğermiş. StackOverflow'da bile bulamazsın bu dengenin formülünü.

💡 Çözüm? Oyuncu Gibi Düşünemeyen Kodlar Yazmak

En sonunda şöyle bir yöntem buldum: Tutorial'ı, oyuncunun yapması GEREKEN eylemi engelleyecek şekilde kodladım. Yani, kapıya gitmeden önce "E ile etkileşim" öğretilecekse, kapıyı GÖSTERDİM ama önüne görünmez bir engel koydum. Oyuncu kapıya ulaşamadı. Sadece o zaman, ekrana "Önce şu kutuyu E tuşuyla it" talimatı çıktı. Talimatı uygulayınca engel kalktı ve kapıya ulaşabildi. Bu, oyuncunun doğal merakını ve "Neden gidemiyorum?" sorusunu kullanarak öğretmekti. Şaka gibi ama, bu basit "engelleme" mantığı, onlarca satır açıklamadan daha etkili oldu.

Sonuç olarak, bir daha "tutorial sıkıcıdır" diye geçiştiremem. O küçük bölümü yazmak, oyunun geri kalanının kodundan daha çok ter döktürdü. Siz de benzer bir "oyuncu beynini okuma" çabası içine girdiniz mi? Tutorial yazmanın sizin için en etkili yolu ne oldu?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri