« Tüm yayınlar

Mendel'siz genetik: sürekli özellikler, sunucusuz genom kodları

Bir çiftlik simülasyonundaki üreme sistemi, alel tabloları yerine sürekli genler, yanlı mutasyon ve sunucusuz paylaşılabilir genom kodları kullanıyor.

Oyunlardaki tipik 'üreme' mekanikleri genellikle bir Punnett karesinden ibarettir: iki alel, bir baskın gen, sınırlı sayıda sonuç. Bu yapı biyoloji dersini hatırlatır ama birkaç çaprazlamadan sonra oyuncu tüm olasılık uzayını görür ve ilgisini kaybeder. Bir geliştirici, küçük bir çiftlik simülasyonu için bunun yerine her özelliği sürekli bir sayı olarak modelleyen alternatif bir sistem kurmuş: beş gen (renk, verim, hız, değer, dayanıklılık) belirli aralıklarda ondalıklı sayılar olarak tutuluyor, alel çiftleri veya baskınlık kuralları yok.

Çaprazlama, iki ebeveynin ortalamasını alıp üzerine kontrollü gürültü ekliyor. Bu gürültü kasıtlı olarak asimetrik: küçük sapmalar hafifçe pozitif yönde eğimli, böylece sabırlı bir yetiştirici zamanla ödüllendiriliyor ve popülasyon rastgele gezinmek yerine yukarı doğru kayıyor. Ayrıca iki farklı mutasyon ölçeği var: sık görülen küçük sapmalar kararlılık sağlarken, düşük olasılıklı büyük sıçramalar oyuncuya arada bir sürpriz bir sonuç sunarak 'bir tane daha deneyeyim' hissini yaratıyor. Görünür tek gen olan renk tonu, sprite üzerinde bir renk kaymasına dönüşüyor; böylece diğer özellikler için seçilim yapan oyuncu bunu görsel olarak da fark edebiliyor.

Mutasyon ağırlıklı bir sistemin tuzağı, oyuncunun hiçbir şey öngörememesidir. Bunu çözmek için önizleme fonksiyonu sadece deterministik ortalamayı gösteriyor, gerçek çaprazlama ise gürültüyü devreye sokuyor; ikisi arasındaki fark mekaniğin asıl gerilimini oluşturuyor. Elde edilen genom, beş kayan sayı ve bir bitki türü indeksinin sabit noktalı tamsayılara çevrilip base-36'ya kodlanmasıyla tek bir kısa, sürüm etiketli metin dizisine sığdırılıyor; bu sayede sunucu veya veritabanı olmadan sohbet mesajıyla paylaşılabiliyor, kod çözülürken de her değer yeniden doğrulanıp sınırlara çekiliyor.

Mühendisler için çıkarılacak dersler açık: sürekli özellikler, ayrık alellerden daha zengin bir tasarım uzayı sunar; mutasyon penceresini hafifçe pozitife kaydırmak sabrı ödüllendirir; küçük-sık ve büyük-nadir mutasyonu ayırmak hem kararlılık hem sürpriz sağlar; önizlemede ortalamayı, uygulamada gürültüyü göstermek oyuncuya niyet kurma imkanı tanır; ve dışarıdan gelen herhangi bir paylaşım kodu sürüm etiketiyle işaretlenip yeniden doğrulanmalıdır.