Geri Dön

Dynamic difficulty adjustment by changing enemy behavior using reinforcement learning

Pekiştirilmeli öğrenme yöntemi kullanarak düşman davranışlarının değiştirilmesi ile oyun zorluğunun dinamik olarak ayarlanması

  1. Tez No: 895296
  2. Yazar: BURAK FURKAN AKŞAHİN
  3. Danışmanlar: PROF. DR. SANEM SARIEL
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Bilim ve Teknoloji, Computer Engineering and Computer Science and Control, Science and Technology
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2024
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Oyun ve Etkileşim Teknolojileri Ana Bilim Dalı
  12. Bilim Dalı: Oyun ve Etkileşim Teknolojileri Bilim Dalı
  13. Sayfa Sayısı: 97

Özet

Oyuncuların oyun deneyimi ve yetenek seviyeleri birbirinden farklıdır. Bu sebeple oyunlar, farklı deneyimdeki ve yetenekteki oyuncuları memnun edebilmek adına, deneyimlerin başında bir zorluk seçimi imkanı sunarlar. Ancak bu seçim oyun zorluğunun farklı eğrilerde zorlaşacağı anlamına gelmekte ve oyuncular için çoğunlukla istenilen zorluğu sağlayamamaktadır. Bu sebeple Dinamik Zorluk Değişimi (Dynamic Difficulty Adjustment, DDA) sistemleri araştırılmıştır. Bu sistemler, oyun zorluğunun oyuncunun performansına göre otomatik olarak değiştirilmesi ile yetenekli ve tecrübeli oyuncuların çok daha zorlu oyun deneyimi yaşayabilmesini; zorlanan oyuncuların ise daha az zorlanabilmesini sağlayarak oyuncuları memnun etmeyi sağlar. DDA sistemlerini uygulamak için çeşitli teknikler araştırılmıştır. Yaygın bir yaklaşım, dinamik komut dosyalaması (dynamic scripting) olup, oyuncunun eylemlerine dayanarak oyunun kurallarını ve parametrelerini gerçek zamanlı olarak ayarlamayı içerir. Bu teknik, daha duyarlı ve uyarlanabilir bir oyun deneyimi sağlar. Diğer yöntemler arasında, oyuncunun performans verilerini kullanarak gelecekteki davranışlarını tahmin eden ve zorluğu buna göre ayarlayan oyuncu modelleme ve oyuncunun beceri seviyesine zamanla uyum sağlayan makine öğrenme algoritmaları bulunur. Pekiştirmeli öğrenme (Reinforcement learning, RL), DDA sistemleri geliştirmek için güçlü bir araç olarak ortaya çıkmıştır. Bu yaklaşımda, AI ajanları oyunu oynamak ve ödüllerini maksimize etmek için optimal stratejiler öğrenmek üzere eğitilir. Bu ajanlar daha sonra oyuncunun performansına dayalı olarak oyunun zorluğunu dinamik olarak ayarlamak için kullanılabilir; bu, NPC'lerin (non-player character) davranışlarını veya oyun mekaniğini değiştirebilir. Bu yöntem, oyuncunun beceri seviyesine gerçek zamanlı olarak uyum sağlayabilen daha hassas ve etkili bir DDA sistemine olanak tanır. Bu çalışmada, çeşitli oyun ortamlarında kullanılmak üzere bir dinamik zorluk ayarlama çerçevesi oluşturulmuştur. Etkinliğini göstermek için üç farklı oyun senaryosu geliştirilmiştir: temel bir nişancı oyunu, temel bir aksiyon oyunu ve karmaşık bir aksiyon oyunu. Bu senaryolar, çerçevenin uyarlanabilirliği ve performansının kapsamlı bir şekilde değerlendirilmesine olanak tanıyan benzersiz bir dizi zorluk ve karmaşıklık sunmuştur. Her üç farklı oyun senaryosu içerisinde, hem kurgulanan sistemin esnekliği hem de kabiliyeti arttırılmaya çalışılmıştır. İlk senaryoda sadece iki aksiyona sahip, oldukça basit bir gözlem değişkenine sahip bir basit nişancı oyunu ile eğitim gerçekleştirilmiş; bu eğitim sırasında belli aralıklarla modelin kaydedilmesi sağlanmıştır. Bu kaydedilen modeller, eğitim sonrası tek tek test edilmiş ve bu modellerin ödülleri sıralanarak xxiv birden fazla düşman davranışı elde edilmiştir. Yapılan analizlerde eğitim süresinin arttırılmasıyla elde edilen modellerin, oyuncuya daha zorlu birer rakip olarak kullanılabileceği gözlemlenmiştir. Bu analizler sonrası, daha karmaşık aksiyon setine ve gözlem yetkisine sahip başka ortamlar oluşturulmuş aynı prosesler o ortamlarda da test edilmiştir. Böylece çerçevenin birden fazla ortam oluşturma ve bu ortamlarda eğitim ve test işlemlerini gerçekleştirebileceği ortaya konulmuştur. Geliştirilen çerçeve, AI ajanlarının insan oyunculara karşı performansını analiz etme ve buna göre yeni zorluk seviyeleri önerme yeteneğine sahiptir. Bu zorluk ayarlarının tüm parametreleri düzenleyici içinde ayarlanabilir, bu da oyun geliştiricilerine ve tasarımcılarına sistemi belirli ihtiyaçlarına uyacak şekilde esnetme esnekliği sağlar. Bu yetenek, DDA sisteminin farklı oyunlar ve oyuncu demografileri arasında etkili ve alakalı kalmasını sağlar. Bu çalışma kapsamında Unreal Engine için geliştirilen BrainBox eklentisi, dinamik zorluk ayarlama (DDA) sistemleri için ortamlar oluşturmayı kolaylaştırmak üzere tasarlanmış çok yönlü bir araçtır. Python arka ucu ile sorunsuz bir şekilde iletişim kurarak oyun ortamları ve AI eğitim süreçleri arasındaki karmaşık etkileşimi yönetir. Eklenti, oyun ortamlarını oluşturma ve yönetme, oyuncu ve ajan hareketlerini gerçekleştirme, ödülleri hesaplama ve zorluk değiştirme prosedürlerini uygulama görevlerini verimli bir şekilde yerine getirir. Bu entegrasyon, oyun geliştiricilerinin DDA sistemlerini kolayca uygulamalarını ve ayarlamalarını sağlayarak oyun deneyimini optimum zorluk seviyesini koruyarak geliştirmelerine olanak tanır. Eğitim ve değerlendirme için bir Python arka ucu oluşturulmuştur. Bu arka uç, eğitim süreci ve oyun arasındaki sorunsuz entegrasyonu sağlamak için TCP kullanarak Unreal Engine'de oluşturulan oyun ortamları ile iletişim kurar. Arka uç, eğitim verilerini yönetmek, simülasyonlar yürütmek ve modelleri sonuçlara göre güncellemekten sorumludur, bu sayede sağlam ve verimli bir eğitim süreci sağlanır. Karmaşık aksiyon oyun senaryosunda, modeller eğitilmiş ve etkinliklerini değerlendirmek için test edilmiştir. Modeller, 20 bölüm boyunca elde edilen ödüllerine göre sıralanmış ve zorluk seviyelerine göre eşleştirilmiştir. Bu süreç, modellerin performansının detaylı analizini sağlamış ve farklı oyun karmaşıklık seviyelerine uyum sağlama becerileri hakkında içgörüler sunmuştur. Farklı oyun deneyimi ve beceri seviyesine sahip 20 katılımcı ile bir test süreci gerçekleştirilmiştir. Bu test sürecinde, dinamik zorluk ayarlama sistemi, çeşitli test katılımcıları ile kıyaslanmıştır. Tüm oturumlar kaydedilmiş ve toplanan veriler üzerinde kapsamlı bir analiz yapılmıştır. Bu analiz, sistemin gerçek dünya senaryolarında performansı ve etkinliği hakkında değerli geri bildirimler sağlamış, iyileştirme alanlarını ve potansiyel gelecekteki gelişmeleri vurgulamıştır. Test durumu sonuçları, dinamik zorluk ayarlama (DDA) sisteminin, çeşitli beceri ve deneyim seviyelerine sahip oyunculara nasıl hizmet ettiğine dair önemli bilgiler ortaya koymuştur. DDA sisteminin, oyuncular için optimal bir meydan okuma ve katılım seviyesini koruma amacını detaylı bir şekilde analiz ederek katılımcı tepkileri, performans metrikleri ve sistemin ayarlamaları incelenmiştir. Veriler, DDA sisteminin bireysel beceri seviyelerini başarıyla tanımladığını ve oyun zorluğunu buna göre uyarladığını göstermektedir. İlk başta, sistem özellikle ilk bölümlerde zorlanan oyuncular için zorluk seviyelerini düşürerek önemli ayarlamalar yapmıştır. Bu erken xxv dönem ayarlamaları, oyuncuların oyuna alışmasını sağlayarak hayal kırıklığını önlemiş ve oyun mekaniği ve kontrollerine alışmalarına yardımcı olmuştur. Oyuncular adapte oldukça ve performansları iyileştikçe, sistem de zorluk seviyelerini kademeli olarak artırarak oyunun zorlu ve ilgi çekici kalmasını sağlamıştır. Bu kademeli ayarlama, oyuncuların adil ve keyifli bir deneyim yaşamasını sağlarken, ani zorluk artışlarının önüne geçmiştir. Sonuç olarak, dinamik zorluk ayarlama sistemi, oyun zorluğunu bireysel oyuncu ihtiyaçlarına göre uyarlamada güçlü bir yetenek sergilemiştir. Gerçek zamanlı olarak oyuncu performansı ve geri bildirimlerle yönlendirilen bu sistem, oyun deneyimlerini önemli ölçüde iyileştirme potansiyeline sahiptir. Bulgular, DDA sisteminin sadece oyuncu katılımını ve memnuniyetini artırmakla kalmayıp, aynı zamanda çeşitli oyunlarda zorluk dengesini sağlamak için ölçeklenebilir bir çözüm sunduğunu göstermektedir. Gelecekteki uygulamalar, bu sistemi daha da optimize ederek oyuncu tutma ve keyfini artırarak oyunun tüm oyuncular için ulaşılabilir ve ödüllendirici olmasını sağlayabilir.

Özet (Çeviri)

Dynamic difficulty adjustment (DDA) systems are essential in modern gaming to provide to the diverse skill levels of players. These systems ensure that games remain challenging yet enjoyable by automatically adjusting the difficulty based on the player's performance. Traditional fixed difficulty settings often fail to provide an optimal experience for all players, leading to frustration for less skilled players and boredom for more skilled ones. Implementing DDA systems aims to enhance player engagement and satisfaction by maintaining an appropriate level of challenge throughout the game. Various techniques have been explored to implement DDA systems. One common approach is dynamic scripting, which involves adjusting the game's rules and parameters in real-time based on the player's actions. This technique allows for a more responsive and adaptable gaming experience. Other methods include player modeling, which uses data from the player's performance to predict their future behavior and adjust the difficulty accordingly, and machine learning algorithms that continuously learn and adapt to the player's skill level over time. Reinforcement learning (RL) has emerged as a powerful tool for developing DDA systems. In this approach, Artificial Intelligence (AI) agents are trained to play the game and learn optimal strategies to maximize their rewards. These agents can then dynamically adjust the game's difficulty by modifying the behavior of non-player characters (NPCs) or the game's mechanics based on the player's performance. This method allows for a more nuanced and effective DDA system that can adapt to the player's skill level in real-time. In this thesis, a DDA framework was created to be used in various gaming environments. Three different game scenarios were developed to demonstrate its effectiveness: a basic shooter, a basic action game, and a complex action game. Each of these scenarios provided a unique set of challenges and complexities, allowing for a thorough evaluation of the framework's adaptability and performance. The developed framework is capable of analyzing the performance of AI agents against human players and suggesting new difficulty levels accordingly. All parameters for these difficulty adjustments can be modified in the editor, providing game developers and designers with the flexibility to tweak the system to suit their specific needs. This capability ensures that the DDA system remains effective and relevant across different games and player demographics. The BrainBox plugin, developed for Unreal Engine, is a versatile tool designed to facilitate the creation of environments for DDA systems. It seamlessly communicates with a Python backend, managing the complex interplay between game environments and AI training processes. The plugin efficiently handles the creation and management of game environments, executes player and agent actions, calculates rewards, and xxii implements difficulty change procedures. This integration ensures that game developers can easily implement and tweak DDA systems, enhancing the gaming experience by maintaining an optimal level of challenge. A Python backend was created for training and evaluating the RL models. This backend communicates with the game environments created in Unreal Engine using Transmission Control Protocol (TCP), facilitating seamless integration between the training process and the game. The backend is responsible for managing the training data, running simulations, and updating the models based on the results, ensuring a robust and efficient training process. In the complex action game scenario, models were trained and evaluated to determine their effectiveness. The models were ordered by their median rewards across 20 episodes and mapped into difficulty levels. This process allowed for a detailed analysis of the models' performance and provided insights into their learning capabilities and adaptability to different levels of game complexity. A test case was conducted with 20 participants of varying game experience and skill levels. In this test case, the DDA was benchmarked with multiple testers. All sessions were logged, and a comprehensive analysis was performed on the collected data. This analysis provided valuable feedback on the system's performance and effectiveness in real-world scenarios, highlighting areas for improvement and potential future developments. In conclusion, the DDA demonstrated a robust capability in tailoring game difficulty to individual player needs. Its ability to adapt in real-time, guided by both player performance and feedback, highlights its potential to enhance gaming experiences significantly. The findings suggest that the DDA system not only improves player engagement and satisfaction but also offers a scalable solution for balancing difficulty in a wide array of games. Future implementations could benefit from refining this system to further optimize player retention and enjoyment, ensuring the game remains accessible and rewarding for all players regardless of their initial skill level.

Benzer Tezler

  1. Dynamic difficulty adjustment of rehabilitation tasks throughreal-time emotion feedback and performance

    Duygu durumu ve performansın gerçek zamanlı geribildirimi aracılığıyla rehabilitasyon egzersizlerinin zorluk düzeyinin dinamik olarak ayarlanması

    FATİH ÖZKUL

    Doktora

    İngilizce

    İngilizce

    2019

    Elektrik ve Elektronik MühendisliğiYeditepe Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    PROF. DR. DUYGUN EROL BARKANA

  2. Portföy yönetiminde dinamik varlık yönetim stratejileri

    Dynamic asset allocation strategies in portfolio management

    MUSTAFA DUMAN

    Yüksek Lisans

    Türkçe

    Türkçe

    2000

    BankacılıkMarmara Üniversitesi

    Sermaye Piyasası ve Borsa Ana Bilim Dalı

    YRD. DOÇ. DR. ÖZLEM KOÇ

  3. Vision based positioning ABB IRB 140 robot for gas leakage test automation

    Gaz kaçak test otomasyonu için ABB IRB 140 robot için görüntü tabanlı pozisyonlama

    AKIN İLKER SAVRAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2018

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ TUFAN KUMBASAR

  4. Topology and bandwidth adaptation in optical WDM backbone networks with dynamic traffic

    Değişken veri trafikli optik WDM omurga ağlarında topoloji ve bant genişliği uyarlama

    AYŞEGÜL GENÇATA

    Doktora

    İngilizce

    İngilizce

    2003

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Kontrol ve Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. MEHMET BÜLENT ÖRENCİK

  5. Turbo kompresörlerin kontrolü

    Controlling of the turbo compressors

    M.SELÇUK ÖZKUREDE

    Yüksek Lisans

    Türkçe

    Türkçe

    1998

    Makine Mühendisliğiİstanbul Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    DOÇ. DR. KENAN KUTLU