Yotube’da yayınlamak üzere yeni bir video serisi geliştirmeye başladım. Serinin adı Conway’in Hayat Oyunu. Bu seriyi 4 bölümlük bir video serisi olarak planladım. Serinin ilk videosunu dün yayınladım (kapak görseline tıklayarak videoya erişebilirsiniz). Bu yazımın konusu Conway’in Hayat Oyunu video serim üzerine olacak.
Conway’in Hayat Oyunuyla tanışmam üniversite 2. sınıfta Eşref Seğmen hocam sayesinde olmuştu. Eşref hocam bize Java dersi veriyordu. Dersin bir adet projesi vardı ve benden proje olarak Conway’in Hayat oyununu geliştirmemi istedi (öğrencilerin ilgi ve alakasına göre proje öneriyordu). Oyunu başarıyla Java kullanarak geliştirmiştim ama o zamanlar oyunun teknik olarak ne anlam ifade ettiğine dair hiçbir fikrim yoktu hatta bu teknik anlamı anlayabilecek altyapım ve donanımım da yoktu ama programlamayı seviyordum. Eşref hocam sayesinde tanıştığım bu oyunun ne anlama geldiğinin anlamak için Informatik Master’ı yapmam gerekti. Şuan aynı alanda doktora yapıyorum. Buradan Eşref hocama bu projeyi bana verdiği için teşekkür etmek istiyorum.
Bir süredir aklımda içerik üretme fikri vardı. Bu blog yazısı, makale yazma veya video geliştirme şeklinde olabilir. Amacım tüketici olarak bulunduğum bu dünyada üretici olarak da kendime bir yer edinmek. Tüketici olmak çok kolay, ve daha fazla tüketmemiz için insan doğasının bütün açıklarını kullanıyorlar. Bu noktada bilinçli tüketici olmaya çabalamalıyız ve ihtiyacımız olmayan hiç bir şeyi tüketmemeye çalışmalıyız çünkü bu hem fiziksel hem de ruhsal dünyamız üzerinde tamiri olmayan yaralar açmakta. Neyse bu yazının konusu tüketim çılgınlığı olmadığı için bu konuyu şimdilik kapatıyorum.
Conway’in Hayat Oyunu John Conway tarafından 1970 yılında geliştirilmiştir. John Conway çok ünlü bir matematikçi ve computer scientist dir. Oyun 2 boyutlu kareli bir düzlem üzerinde geçmekte. Bu oyun oyuncusuz bir oyun yani oyun verilen bir başlangıç durumundan başlamakta ve oyunun kurallarına göre kendisi ilerlemekte. Bu oyun computer science ile çok temelden ilişkilidir ve oyunun sadece oyun olmaktan daha derin anlamları vardır.
Oyunu başlatmak için 2 boyutlu karalenmiş düzlem üzerinde canlı hücreleri seçmeniz gerekiyor. Canlı hücreler içi dolu karelerle gösteriliyor. İçi boş kareler ise ölü hücreleri ifade ediyor. Belirli sayıda canlı hücre seçtikten sonra oyunun 4 kuralını uygulayarak bir sonraki nesilde hangi hücrelerin canlı, hangi hücrelerin ölü olacağını hesaplıyorsunuz. Hesaplamanın sonunda, bütün hücrelerin canlı mı ölü mü olduğu hesaplamanın sonucuna göre değiştiriliyor ve bu böyle devam ediyor. Peki kaç nesil devam edeyor? Bu sorunun bir cevabı yok. Sonsuza kadar da devam edebilir, bir kaç nesil sonra bütün hücreler öledebilir. Üçüncü bir olasılık ise, canlı hücrelerin ve ölü hücrelerin değişmeden kalmasıdır. Oyunun kuralları şu şekilde:
- Bir canlı hücrenin 2 den az canlı komşusu varsa, o hücre bir sonraki nesilde az nüfusdan ölür.
- Bir canlı hücrenin 2 ya da 3 komşusu canlıysa, o hücre bir sonraki nesilde canlı kalır.
- Bir canlı hücrenin 3 den fazla komşusu varsa, o hücre bir sonraki nesilde aşırı nüfusdan ölür.
- Bir ölü hücrenin tam olarak 3 komşusu canlıysa, o hücre bir sonraki nesilde canlanır(bunu üreme gibi düşünebilirsiniz).
Oyunla ilgili detayları merak ediyorsanız ve oyunla ilgili görseller görmek istiyorsanız, ilgili wikipedia sayfasına linke tıklayrak ulaşabilirsiniz.
Matematikle ve computer science’la ilgilenenler için Hayat oyunu güzel bir proje çünkü oyun geliştirmesi basit bir oyun ve insanı düşünmeye itecek bir çok sonucu var. Ayrıca, oyun programlamak için kolay bir oyun ama oyunu programlarken öğrenecek çok şey var.
Sonuç olarak, Youtube için Conway’in Hayat Oyunuyla ilgili dört videoluk bir video serisi hazırlamaya başladım. Bu video serisinde HTML, JS, ve CSS kullanarak Conway’in Hayat Oyununu geliştireceğiz. Programlamayla ilgileniyorsanız ve ilgi çekici bir proje geliştirmek istiyorsanız seriyi izlemenizi öneririm. Ayrıca, video serisi için bir Youtube çalma listesi oluşturdum. Bu çalma listesi serinin bütün videolarını içerecek (şimdilik sadece giriş videosu var). Bu listeye şuradan erişebilirsiniz:
Not: Biliyorum videolarımın kalitesi alışık olduğunuzun çok altında ve anlatıcı olarak pek iyi değilim. Şunuda biliyorum ki bunlar zamanla değişecek.
Bir sonraki yazımda görüşmek dileğiyle.
Güzel bir yazı ve video dizisi olmuş Kadir, eğitici. Anlatımın ve video kalitesi de gayet yeterli, dediğin gibi gelişim elbet olacak..
BeğenLiked by 1 kişi