It's Your Town: Yapay zekâyla birlikte bir oyun geliştirmek
It's Your Town, yalnızca şehir kurmak için değil, kurduğun şehrin içinde biraz vakit geçirmek için tasarladığım bir tarayıcı oyunu. Binaları yerleştirmek, sokakları oluşturmak ve şehrin büyümesini izlemek deneyimin bir parçası. Diğer parçasıysa müzik dinlerken bir kedinin, teknenin, trenin ya da zeplinin gözünden o şehri seyretmek.
Projeyi geliştirirken amacım, yıllarca kapalı kapılar ardında hazırlanacak büyük bir oyun yapmak değildi. Önce küçük ama tamamlanabilir bir deneyim oluşturmak, ardından onu yeni yapılar, animasyonlar ve mekaniklerle geliştirmek istedim.
Fikirden çalışan bir şehre
Oyunun teknik temelinde TypeScript, Three.js ve Vite bulunuyor. Üç boyutlu dünya tarayıcıda çalışıyor; Blender'da hazırlanan modeller ise oyuna uygun biçimde dışa aktarılıp bu dünyaya ekleniyor.
Geliştirme sürecini küçük adımlara böldüm. Önce yapı yerleştirme ve kamera kontrolleri, ardından kat sistemi, yollar, köprüler, hareketli araçlar ve şehirdeki yaşam geldi. Her yeni özellik, mevcut deneyimin üzerine eklenerek denendi.
Bu yaklaşım tasarım kararlarını da etkiledi. Örneğin binaları serbestçe ölçeklendirmek yerine, şehir büyüdükçe daha yüksek katların açıldığı bir sistem seçtim. Böylece hem teknik karmaşıklığı sınırlamak hem de şehrin dengeli biçimde yükselmesini sağlamak mümkün oldu.
Birden fazla model, ortak bir proje hafızası
Bu projede yapay zekâyı tek seferlik kod üreten bir araç olarak değil, farklı görevlerde destek alabildiğim geliştirme ortakları olarak kullandım. Codex, Claude ve GLM gibi modellerden kodlama, hata analizi, optimizasyon ve tasarım süreçlerinde yararlandım. Ürün yönü, öncelikler ve son kararlar ise bende kaldı.
Buradaki asıl mesele modelleri aynı anda çalıştırmak değil, birbirlerinin yaptığı işi anlayabilmelerini sağlamaktı. Sohbetlerin hafızaları ayrı; proje ise tek. Bu nedenle sürecin merkezine konuşma geçmişini değil, proje klasöründeki dokümantasyonu koydum.
Markdown belgeleriyle projenin mimarisini, tasarım kararlarını, görev sınırlarını, test sonuçlarını ve açık kalan sorunları kaydettik. Belge indeksleri hangi bilginin nerede olduğunu gösterirken, kısa proje hafızası kayıtları yeni bir oturumun güncel durumu öğrenmesini sağladı.
Böylece bir modelin bıraktığı işi başka bir model, bütün sohbeti yeniden anlatmama gerek kalmadan inceleyebildi. Modellerin sürekli birbirleriyle konuşmasına değil, ortak ve takip edilebilir bir kayıt düzenine dayanan bir çalışma biçimi oluştu.
Kod üretmek kadar kontrol etmek de önemli
Bir modelin "tamamlandı" demesini tek başına yeterli kabul etmedim. Değişiklikleri başka bir inceleme turundan geçirmek, testlerle sınamak ve oyunun içinde görmek sürecin önemli bir parçası oldu.
Özellikle performans çalışmalarında bunun değerini gördüm. Bir optimizasyon işlem yükünü azaltırken seçim çerçevelerini, hareketli nesneleri veya hata durumundaki çizimi bozabiliyor. Bu yüzden yalnızca FPS'ye değil, oyuncunun gördüğü davranışın korunmasına da baktık.
Kendi kurduğum şehirleri test verisi olarak kullandım. Görsel olarak fark ettiğim sorunları ekran görüntüleri, videolar ve şehir kayıtlarıyla aktardım. Böylece incelemeler yalnızca küçük, kontrollü örneklerde değil, gerçekten oynarken oluşan şehirlerde de yapılabildi.
Kontrol bende, katkı birden fazla yerde
Bu çalışma biçiminde benim rolüm yalnızca prompt yazmak değildi. Oyunun nasıl hissettirmesi gerektiğini belirlemek, kapsamı sınırlamak, sonuçları denemek ve hangi önerinin uygulanacağına karar vermek sürecin merkezindeydi.
Yapay zekâ modelleri geliştirmeyi hızlandırdı; dokümantasyon ise bu hızın dağınıklığa dönüşmesini önlemeye yardımcı oldu. Yerel geliştirme, GitHub'a gönderim ve canlıya alma aşamalarını ayrı tutmak da değişiklikleri daha kontrollü yönetmemi sağladı.
Kapanış
It's Your Town benim için hem bir oyun hem de bir üretim yöntemi denemesi: farklı modellerin katkısını, insan yönlendirmesi ve ortak bir proje hafızası etrafında bir araya getirerek küçük bir fikri yaşayan bir deneyime dönüştürmek.















