KFN Haberleri: Yapay Zekaya Efsane Oyunu CS 1.6'yı Sıfırdan Yaptırdık! ChatGPT mi, Gemini mi Kazandı?
Yapay zeka artık sadece metin yazmakla veya görsel oluşturmakla sınırlı değil, kodlama ve oyun geliştirme gibi karmaşık alanlarda da boy gösteriyor. KFN Haberleri olarak, yapay zeka dünyasının iki devini, OpenAI'dan ChatGPT-4 ve Google'dan Gemini'yi, şimdiye kadarki en zorlu testlerden birine tabi tuttuk. Onlardan, bir nesle adını yazdırmış efsanevi oyun Counter-Strike 1.6'yı sıfırdan, çalışan bir proje olarak oluşturmalarını isteyerek, hangisinin daha yetenekli bir "yapay zeka geliştirici" olduğunu ortaya çıkarıyoruz.
Giriş: Mümkün Olanın Sınırlarını Zorlamak
Stüdyomuzda bir süredir aklımızda olan bir soruydu: Yapay zeka, yaratıcı ve teknik sınırların en üst seviyede birleştiği oyun geliştirme alanında ne kadar ileri gidebilir? Basit bir "Yılan" ya da "Pong" oyunundan bahsetmiyoruz. Gerçek zamanlı etkileşim, 3D grafikler, oyuncu fizikleri, silah mekanikleri ve oyun mantığı gibi sayısız katmanı olan bir projeyi hayata geçirebilirler mi?Bu sorunun cevabını bulmak için en iyi aday, basit ama derin mekanikleriyle bilinen, milyonların gönlünde taht kurmuş Counter-Strike 1.6 idi. Projemizin amacı, oyunun birebir kopyasını oluşturmaktan ziyade, temel oynanış döngüsünü (hareket, nişan alma, ateş etme ve temel harita yapısı) işlevsel bir prototip olarak hayata geçirmekti.
Meydan Okuma: Neden CS 1.6 Bu Kadar Zor?
Yapay zekadan bir CS 1.6 prototipi istemek, ondan bir makale yazmasını istemekten fersah fersah uzaktır. Karşılaşılacak temel zorluklar şunlardı:- 3D Grafik Motoru: Basit bir 3D dünya oluşturmak, ışıklandırmayı ve dokuları yönetmek.
- Oyuncu Kontrolü ve Fiziği: WASD ile hareket, fare ile nişan alma, zıplama ve yerçekimi gibi temel fizik kurallarını uygulamak.
- Silah Mekanikleri: Merminin namludan çıkması (raycasting), isabet tespiti, şarjör değiştirme mantığı ve geri tepme simülasyonu.
- Oyun Döngüsü: Oyuncuların canı, skor tablosu ve temel "kazanma/kaybetme" koşulları.
- Kod Bütünlüğü: Tüm bu sistemlerin birbiriyle uyumlu ve hatasız bir şekilde çalışmasını sağlamak.
Süreç: İki Dev Karşı Karşıya
İki yapay zekaya da aynı başlangıç komutunu verdik: "JavaScript ve Three.js kütüphanesini kullanarak Counter-Strike 1.6'dan esinlenen basit bir birinci şahıs nişancı (FPS) oyunu prototipi oluştur. Oyuncu haritada dolaşabilmeli, fare ile nişan alabilmeli ve sol tık ile ateş edebilmeli."ChatGPT-4'ün Yaklaşımı: Metodik ve Adım Adım
ChatGPT, tam bir metodik mühendis gibi davrandı. İsteğimizi parçalara ayırdı ve işe temel HTML iskeletini ve Three.js sahnesini kurarak başladı.- İlk Adımlar: Bize temel bir 3D sahne, bir "zemin" ve basit bir "oyuncu" küpü oluşturan temiz bir kod verdi.
- İterasyon ve Geliştirme: "Şimdi oyuncu kontrolünü ekle" dediğimizde, klavye olaylarını dinleyen ve oyuncunun pozisyonunu güncelleyen bir kod bloğu ekledi. Ancak ilk denemelerde hareketler takılıyordu ve akıcı değildi. Hataları söylediğimizde kodu düzelterek daha pürüzsüz bir hareket mantığı sundu.
- Zorlu Kısım - Nişan Alma: Fare kontrolü ve nişan alma (pointer lock) kısmında biraz zorlandı. Verdiği ilk kodlar tarayıcı uyumluluk sorunları içeriyordu. Birkaç deneme ve "Şu hatayı alıyorum, nasıl çözerim?" yönlendirmesinden sonra işlevsel bir nişan alma mekaniği oluşturabildi.
- Sonuç: ChatGPT'nin süreci, bir "junior" yazılımcı ile çalışmaya benziyordu. Sürekli yönlendirme, hata ayıklama ve geri bildirime ihtiyaç duydu. Ancak her adımda mantıklı ve işlevsel kod parçaları üretti. Projeyi adım adım inşa etme konusunda başarılıydı.
Gemini'nin Yaklaşımı: Bütünsel ve Konsept Odaklı
Gemini, projeye daha bütünsel bir bakış açısıyla yaklaştı. İlk komuta verdiği cevap, ChatGPT'den daha kapsamlıydı.- İlk Kod: Gemini, tek bir cevapta hem sahneyi, hem temel oyuncu hareketini hem de fare ile nişan alma iskeletini içeren daha entegre bir kod sundu. Projenin genel yapısını en başından kurmaya çalıştı.
- Mantıksal Derinlik: Silah mekaniklerini eklemesini istediğimizde, sadece ateş etme değil, aynı zamanda mermilerin nereye gittiğini hesaplamak için "raycasting" tekniğini de içeren bir sınıf (class) yapısı önerdi. Bu, kodun daha organize ve genişletilebilir olmasını sağladı.
- Görsel ve Yaratıcı Dokunuşlar: Gemini, kodun içine "düşmanları temsil etmek için kırmızı kutular ekleyelim" veya "daha iyi bir atmosfer için basit bir sis efekti ekleyebiliriz" gibi küçük yaratıcı öneriler serpiştirdi.
- Sonuç: Gemini ile çalışmak, daha deneyimli bir "orta seviye" (mid-level) yazılımcı ile beyin fırtınası yapmaya benziyordu. Daha az el tutmaya ihtiyaç duydu ve projenin mimarisi hakkında daha sağlam fikirler sundu. Ancak bazen ürettiği kod blokları o kadar büyüktü ki, içindeki küçük hataları ayıklamak zaman aldı.
Karar Anı: Hangi Yapay Zeka Daha İyi Bir Geliştirici?
Bu zorlu testin sonunda net bir "kazanan" ilan etmek zor. Çünkü iki yapay zeka da farklı alanlarda parlaklık gösterdi.- ChatGPT-4: Kod parçacıkları üretme, hata ayıklama ve adım adım ilerleme konusunda inanılmaz derecede yetenekli. Eğer ne istediğinizi net olarak biliyorsanız ve projeyi parçalara ayırdıysanız, ChatGPT mükemmel bir "kodlama asistanı".
- Gemini: Projenin genel yapısını anlama, mantıksal bağlantılar kurma ve daha organize, genişletilebilir kod mimarileri önerme konusunda daha güçlü. Sıfırdan bir proje başlatırken "büyük resmi" görmede daha başarılı.
Sonuç: Geliştiriciler İşsiz mi Kalacak?
Bu deneyin bize gösterdiği en net şey şu: Yapay zeka, (henüz) bir geliştiricinin yerini almıyor, onun yeteneklerini inanılmaz bir seviyede artıran bir "yardımcı pilot" (copilot) haline geliyor. Fikirleri hızla prototipe dönüştürmek, kod yazımındaki sıkıcı kısımları otomatikleştirmek ve yeni teknolojileri öğrenirken bir akıl hocası gibi davranmak konularında devrim yaratıyorlar.Gelecekte oyun geliştiriciler kod yazmayı bırakmayacak; bunun yerine daha yaratıcı ve karmaşık problemlere odaklanarak, yapay zekayı bir araç olarak kullanıp hayallerindeki projeleri çok daha hızlı bir şekilde hayata geçirecekler. Ve bu, hepimiz için heyecan verici bir gelecek demek.
Peki Siz Bu Konuda Ne Düşünüyorsunuz?