Haberler

Geliştirici Günlüğü #2: Unity Bataklığında Mücadele – First Sin Yapımında Karşılaştığımız Zorluklar

Merhaba First Sin hayranları!

Geçen yazımızda oyunumuzun karanlık hikayesini ve ilk senaryo adımlarını paylaşmıştık. Ancak büyük bir oyun geliştirmek, çoğu zaman teknik zorluklarla dolu, dikenli bir yolculuktur. Bugün, oyun motorumuz Unity ile mücadelemizi, karşılaştığımız engelleri ve bu zorlukları nasıl aştığımızı (ve bazen de aşamadığımızı!) dürüstçe anlatacağız.

1. Unity Sürüm Karmaşası: Kodları Yeniden Yazmak

Geliştirmeye ilk başladığımızda, stabilite ve yeni özellikler vaat eden bir Unity sürümüne güvendik: 6000.0.44f1. Ancak beklenmedik bir şekilde, Unity bu sürümün desteğini hızla geri çektiğinde şok yaşadık. Bu durum, bizi daha yeni bir sürüm olan 6000.0.58f2‘ye geçmeye zorladı.

Zorluk: Bu zorunlu geçiş, sadece birkaç tuşa basmaktan ibaret değildi. Yeni sürüm, eski kodlarımızda ve motorun bazı çekirdek sistemlerinde uyumsuzluklara neden oldu. Hata ayıklama (debugging) ve sistemleri yeni versiyona uygun hale getirmek, geliştirme takvimimizde büyük bir zaman kaybına yol açtı. Bu durum, bir oyun stüdyosunun dış etkenlere ne kadar bağımlı olduğunu bize acı bir şekilde hatırlattı.

2. Kamera Sistemi: FPS mi, TPS mi? Bazen İkisi de!

First Sin, hem dükkân yönetiminin ince detaylarını hem de yeraltı dünyasının çatışma ve gizlilik anlarını barındırıyor. Bu da iki farklı kamera bakış açısı gerektiriyor:

  • FPS (Birinci Şahıs): Erotik dükkânı yönetirken, raflara ürün yerleştirirken ve müşterilerle birebir etkileşim kurarken detay hissi için.
  • TPS (Üçüncü Şahıs): Karanlık mahallede gezerken, yasa dışı anlaşmalar yaparken ve aksiyon anlarında karakterin duruşunu ve çevresini göstermek için.

Zorluk: İki kamera modunu sorunsuz entegre etmek, başlı başına bir görevdi. Özellikle otomatik geçişler (örneğin, bir nesneyle etkileşime girerken FPS’e, kapıdan çıkınca TPS’e geçiş) sırasında yaşanan takılmalar, görüş açısı sapmaları ve karakterin anlık pozisyon hataları bizi çok uğraştırdı. Ekip olarak bu iki sistemi, oyun deneyimini kesintiye uğratmayacak pürüzsüz bir hibrit yapıya kavuşturmak için sayısız prototip denedik.

3. Görev Sistemi ve Asset Karmaşası

Oyunun temel mekanikleri olan görev sistemi (hem dükkân görevleri hem de suç görevleri) ve hazır assetlerle uyum konusunda da başımız ağrıdı. Piyasadan aldığımız bazı kullanıma hazır assetler (hazır kod parçaları veya sistemler), Unity’nin yeni sürümü veya kendi kodlarımızla uyuşmayınca, beklentilerimizin altında kalan sistemleri sıfırdan yazmak zorunda kaldık.

4. Dükkân Detayları: Seks Shop Ürünlerini “Kutulama” Sanatı

Oyunun atmosferi için kritik olan, erotik dükkânın raflarını dolduracak ürünler konusunda ilginç bir zorluk yaşadık.

Zorluk: Seks shop ürünlerinin 3D modellerini bulmamıza rağmen, bunların raflara düzgün bir şekilde yerleştirilebilecek, inandırıcı kutu veya ambalaj görselleri yoktu. Bu durum, oyunun gerçekçiliğini ciddi şekilde zedeleyebilirdi. Geliştirici ekibimiz, bu sorunu çözmek için içerik tasarımına odaklanarak, her bir ürün için ayrı ayrı, özgün kutu görselleri tasarladı ve bunları 3D modellere uyguladı. Bu detay, dükkânın atmosferini bir anda bambaşka bir seviyeye taşıdı.

5. Küçük Ekiple Büyük Kod: Yapay Zeka Desteği

Ekibimizdeki yazılımcı sayısının az olması, büyük sistemleri hızlıca hayata geçirmemizi zorlaştırıyordu. Bu noktada, modern araçları ve yapay zekanın gücünü kullanmaya karar verdik.

Çözüm: Google CLI benzeri yapay zeka araçlarını kullanarak, oyunun temel hayatta kalma mekaniklerini (açlık, susuzluk ve sağlık sistemleri gibi) kodladık. Yapay zeka, sistematiğin temelini hızlıca oluşturmamıza yardımcı olurken, ekibimiz daha sonra bu kodları oyunun spesifik ihtiyaçlarına göre optimize etti ve uyarladı. Bu hibrit yaklaşım, kısıtlı insan kaynağıyla bile karmaşık sistemleri oyuna entegre etmemizi sağladı.

First Sin’in geliştirme yolculuğu kolay değil, ama her zorluk bizi daha iyi bir oyuna bir adım daha yaklaştırıyor. Bir sonraki geliştirici günlüğünde, oyunun hayatta kalma ve yeraltı ticaret sistemlerini daha derinlemesine inceleyeceğiz.

Bizi takipte kalın ve bize destek vermeye devam edin!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir