II ÖĞRENEN TARAYICI TABANLI STRATEJİ OYUNU ( ÖZET ) Bir uygulamanın geliştirilmesi sırasında birçok yöntem kullanılabilir ve birçok çözüm üretilebilir. Önemli olan ise bu çözümler arasından en az maliyetli ve en kaliteli olanı hayata geçirebilmektir. Amaç, kaliteli bir ürün ortaya çıkarmak olduğundan nesneye dayalı tasarım yönteminin üzerinde durmak gerekir. Bu projenin amacı; bir tarayıcı tabanlı gerçek zamanlı strateji oyununun modellemesi ve kaliteli bir ürün ortaya çıkarılmasıdır. Bu amaçla projenin modellenmesi sırasında nesneye dayalı modelleme teknikleri kullanılmış ve yapı katmanlı mimari ile desteklenerek bağımlılıklar azaltılmaya çalışılmıştır. Ayrıca bu oyunda yapay zeka ile kullanılarak oyun ile oyuncu arasında etkileşim ve gerçekçilik arttırılmaya çalışılmıştır. Tarayıcı tabanlı iki boyutlu etkileşimli bir oyun olarak tasarlanan projenin içeriğinde oyuncunun seçtiği bir gezegende bir yerleşkeye sahip olması, bu yerleşke üzerindeki binaların seviyelerini arttırabilmesi, asker üretebilmesi, başka yerleşkelere saldırabilmesi, birden çok yerleşkeye sahip olabilmesi sağlanmıştır. Ayrıca yapay zeka, gezegenlerdeki sahipsiz yerleşkelerin, komşu yerleşkelerin gelişme şekli ile orantılı bir şekilde geliştirilmesini sağlar. Böylece oyun sırasında sahipsiz yerleşkeler de en az sahipli yerleşkeler kadar gelişmiş olabilecektir. Bu da yapay zeka kullanılmayan oyunlardan farklı olarak sahipsiz yerleşkelerin ele geçirilmesini zorlaştırmakla birlikte oyuncunun gerçek bir oyuncu ile mi karşı karşıya olduğu yoksa bilgisayarla mı karşı karşıya olduğunun anlaşılmaması da kısmen sağlanmış olur. Projenin tasarımına bakılırsa; tarayıcı üzerinden kullanıcıların oyun oynayabildiği bir .NET uygulaması projenin ana bileşenidir. Bu uygulamanın sahip olduğu verileri ve uygulama çalışma sırasında oluşan yeni verileri tutmak, gerektiğinde ulaşmak için kullanılan bir veritabanı mevcuttur. Veritabanı sunucu yazılımı olarak MsSql Server tercih edilmiştir. Tasarımın ikinci parçası olarak bir konsol uygulaması geliştirilmiştir. Bu konsol uygulaması sahipsiz yerleşkeleri yöneten yapay zeka algoritmasını içerir. Yapay zeka uygulaması web sitesinin sunucusunda saat başı çalışacak şekilde zamanlanmış görev olarak ayarlanmalıdır. Basit ve kolay anlaşılır bir tarayıcı tabanlı oyun hazırlanarak oyuncunun oyunu oynama isteğinde devamlılığın sağlanması hedeflenmiştir. Nesneye dayalı modelleme teknikleri ile tasarım yapılırken sistemin sahip olduğu işlev değil de sistemi oluşturan nesneler (gezegen, yerleşke, bina, asker vs.) esas alınır ve programcılar kendi veri tiplerini oluşturabilirler. Nesneye dayalı modeller geliştirildikten sonra farklı şekillerde defalarca kullanmak mümkündür. Güncellenmesi ve bakımının kolay olması, takım çalışmaları ile daha uyumlu olması nesneye dayalı programlama tekniğini uygulamalarda cazip kılmaktadır. Bu projenin de kolay bir şekilde bakımının sağlanması ve geliştirilmesi için kodlama tekniklerinin nesneye dayalı yazılım mimarisi yapılması kaçınılmazdır.