Integrating RNBO into unity: a framework for procedural and adaptive game audio
RNBO'nun unıty'e entegrasyonu: oyunlar için işlemsel ve uyarlanabilir ses tasarımı çerçevesi
- Tez No: 953871
- Danışmanlar: DR. ÖĞR. ÜYESİ OZAN SARIER
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Müzik, Computer Engineering and Computer Science and Control, Music
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2025
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Oyun ve Etkileşim Teknolojileri Ana Bilim Dalı
- Bilim Dalı: Oyun ve Etkileşim Teknolojileri Bilim Dalı
- Sayfa Sayısı: 97
Özet
Günümüzde oyun geliştirme süreçlerinde ses, yalnızca işitsel bir unsur değil; aynı zamanda atmosfer yaratımı, duygu aktarımı ve oynanışa katkı sağlayan temel bir bileşen haline gelmiştir. Oyuncuların oyunla kurduğu bağın derinleşmesi, sesin görsel unsurlarla uyum içinde çalışmasına bağlıdır. Bu bağlamda ses tasarımı, oyunun anlatımını güçlendiren ve oyuncunun deneyimini büyük ölçüde etkileyebilen dinamik bir araç olarak öne çıkar. Ancak mevcut ses sistemlerinin büyük çoğunluğu sample-based (önceden kaydedilmiş) bileşenler üzerine kuruludur. Bu durum gerçek zamanlı ve etkileşimli ses üretimi açısından çeşitli sınırlamalar yaratır. Önceden kaydedilmiş sesler, her ne kadar kaliteli örnekler sunabilse de, bu sistemlerde sesler oyun içi olaylara üstüne eklenen efektler ve filtrelerle birlikte yalnızca belirli şekillerde tepki verebilir. Örneğin, karakterin hızlanmasına karşılık gelen bir motor sesi olsa bile bu ses genellikle sabit bir kayıt üzerinden çalınır ve o anda sentezlenmez. Oyun endüstrisinde yaygın olarak kullanılan FMOD ve Wwise gibi arayazılımlar (middleware), oyun motorları ile ses motorları arasında köprü işlevi gören araçlardır. Bu sistemler, geliştiricilerin sesleri doğrudan oyun motoruna entegre etmeden; olay tetikleme, karmaşık parametre eşleştirme ve ses yönetimi gibi işlemleri kolaylaştırmasını sağlar. Ses tasarımcıları, bu arayazılımlar sayesinde önceden kaydedilmiş sesleri çeşitli oyun parametrelerine bağlayabilir ve böylece sesin oyuna tepkisel biçimde uyum sağlamasını sağlayabilir. Ancak bu araçların sunduğu esneklik, çoğu zaman sadece var olan ses örneklerini manipüle etmekle sınırlıdır. Gerçek zamanlı olarak yeni sesler üretme ya da ses yapısını oyun içi verilere göre şekillendirme gibi olanaklar, middleware içerisinde daha deneysel işler yapmak veya sıfırdan ses sentezlenmek istendiğinde teknik sınırlarla karşılaşılabilir. Oyunlarda giderek yaygınlaşan açık dünya tasarımları, prosedürel içerikler ve oyuncu odaklı senaryolar, ses sistemlerinden de aynı esneklik ve tepki kabiliyeti beklemektedir.Gerçek zamanlı prosedürel ses (real-time procedural audio), bu ihtiyaca yanıt veren güçlü bir yaklaşımdır. Oyuncunun eylemlerine doğrudan karşılık veren, oyun verileriyle eş zamanlı çalışan bu yapı, yalnızca ses kalitesini artırmakla kalmaz; aynı zamanda daha fazla etkileşim, daha az kaynak kullanımı ve daha derin bir atmosfer sunar. Örneğin, yağmurun şiddeti arttıkça dinamik olarak değişen ses dokuları veya farklı yüzeylerde yürürken ayak seslerinin değişmesi gibi detaylar, oyuncunun dünyayla kurduğu bağı önemli ölçüde güçlendirebilir. Ancak bu tür sistemlerin kurmak genellikle ileri düzey dijital sinyal işleme (DSP) bilgisi ve yazılım becerisi gerektirir. Bu da özellikle teknik altyapısı sınırlı ses sanatçıları için engel oluşturmaktadır. Max/MSP güçlü ve yaygın olarak kullanılan, node tabanlı, ses tasarımı ve müzik için kullanılan bir görsel programlama dilidir. Cycling '74 tarafından geliştirilmiş ve sektörde yaygın olarak kullanılmaktadır. Profesyonel olarak kullanılmasının yanında aynı zamanda çoğu üniversitede de dersleri verilmektedir. Bu sayede öğrenciler hazır programlar kullanmak yerine kendi ses sentezleme araçlarını üretebilirler. Akademideki bu kullanım şekli aynı zamanda Max/MSP'nin deneysel çalışmalardaki kullanılırlığını arttırmaktadır. Max'in bu modüler yapısı, kullanıcılara klasik ses editörlerinden çok daha fazla esneklik sunar. Herhangi bir ses kaynağını girdi olarak alabilir, bu girdiyi çeşitli işlemlerden geçirerek son kullanıcıya özel sesler yaratabilir. Bu özellikler, oyun gibi dinamik ortamlarda ses üretimi için önemli bir avantaj sağlar. RNBO (“rainbow”şeklinde okunur), Max/MSP yazılımının görsel programlama mantığına dayanan ve kullanıcıların gerçek zamanlı ses işleme yama sistemleri oluşturmasına imkân tanıyan bir araçtır. RNBO'nun en güçlü yönlerinden biri, görsel ortamda oluşturulan ses yamalarının C++ formatına veya VST gibi çeşitli çıktılara dönüştürülerek harici uygulamalarda kullanabilmesidir. Bu çıktılardan herhangi biri direkt olarak oyun ortamlarına entegre edilememektedir, bu da erişilebilirlik açısından sıkıntı yaratmaktadır. Bu durum, yaratılan ses içeriğinin sadece teknik bilgiye sahip kullanıcılar tarafından oyun ortamına aktarılabileceği anlamına gelir. Özellikle prototipleme ve deneysel çalışmalar açısından bu süreç zaman alıcı ve kısıtlayıcı olabilir. Çoğu ses tasarımcısı Max/MSP geliştirme ortamına hakim olsa da, kod konusunda yeterli deneyime sahip olmayabilir. Bu durum ses tasarımcılarının oyunlarda tüm yetkinliklerini kullanamamalarına ve yaratıcılıklarının kısıtlanmasına sebep olur. Gerçek zamanlı ses sentezi kullanan diğer ses araçları da incelenmiştir. Örneğin, açık kaynak kodlu, ve aynı yaratıcıya sahip bir başka görsel programlama aracı olan Pure Data, benzer şekilde modüler yapısıyla yaratıcı ses tasarımında kullanılmaktadır. Pure Data, özellikle açık kaynak olması sayesinde deneysel projelerde ve akademik çalışmalarda sıkça tercih edilmektedir. Ancak tıpkı Max gibi, doğrudan oyun motorlarına entegre edilmesi için ekstra yazılım geliştirme sürecine ihtiyaç duyar. Unreal Engine içerisinde yer alan MetaSounds sistemi, benzer bir şekilde gerçek zamanlı prosedürel ses üretimi sunmaktadır; fakat bu sistem yalnızca Unreal'a özgü olduğu için platform bağımsızlığı ve Max/MSP ile olan yaratıcı bütünlük konusunda sınırlamalar içermektedir. Unity gibi daha yaygın kullanılan ve platformlar arası desteğe sahip motorlarla çalışmak isteyen ekipler için MetaSounds kullanımı teknik ve stratejik sınırlamalar doğurmaktadır. Tezin ana hedefi, RNBO Unity Audio Plugin adlı resmi eklentiyi inceleyerek, mevcut eksikliklerini ortaya koyup, bu eksiklikleri gideren bir araç geliştirerek ses tasarımcılarına yönelik daha erişilebilir bir çalışma süreci sunmaktır. Bu kapsamda geliştirilen araç, RNBO tarafından üretilen yamaların içerdiği parametreleri otomatik olarak tanımlamakta ve bu parametreleri Unity editörü içerisinde görsel olarak erişilebilir hale getirmektedir. Böylece ses tasarımcıları herhangi bir kod yazmadan oyun değişkenlerini RNBO parametreleri ile eşleştirebilmekte, deneysel çalışmaları daha hızlı ve etkili bir şekilde yapabilmektedir. Böylece sadece geliştiriciler değil, ses sanatçıları da oyun ile ses arasında doğrudan bir bağ kurabilmektedir. Bu, ekip içi iş birliğini ve yaratıcı süreci büyük ölçüde kolaylaştırır. Yöntem olarak, temel parametreler (örneğin frekans ve ses düzeyi) içeren sadeleştirilmiş bir RNBO yaması oluşturulmuştur. Bu yama C++ kodu olarak dışa aktarılmış, Unity eklentisine derlenmiş ve hem kod üzerinden hem de editör tabanlı etkileşim yoluyla entegrasyonu test edilmiştir. Bu yama, RNBO ile başlayan tasarımdan gerçek zamanlı oyun etkileşimine kadar uzanan iş akışını örneklemek amacıyla bir vaka çalışması olarak kullanılmıştır. Bu sürecin ardından, önerilen araç geliştirilmiştir. Tez kapsamında geliştirilen sistem, yalnızca teknik bir çözüm değil; aynı zamanda ses tasarımcılarının yaratıcı sürecine doğrudan katkı sunan bir araçtır. Kullanıcı dostu bu yaklaşım sayesinde RNBO yamalarının Unity'ye entegrasyonu hem daha hızlı hem de daha az hata ile gerçekleştirilebilmektedir. Bu da prototipleme ve test süreçlerinin daha verimli hale gelmesini sağlamaktadır. Özellikle oyun geliştirme sürecinde hızlı iterasyon imkânı, projelerin daha kısa sürede hayata geçirilmesini mümkün kılmakta ve ses sistemleri üzerinde daha fazla deneme yapılabilmesine olanak tanımaktadır. Uygulamanın potansiyeli yalnızca basit parametre kontrolleri ile sınırlı değildir. Sistemin ileride genişletilmesiyle birlikte karmaşık etkileşimli ses yapıları, oyun içi olaylara gerçek zamanlı yanıt verebilecek esnek modüller haline dönüştürülebilir. Başlangıç adımı olan, pluginin Unity motoruna aktarılması sırasında kullanılan Terminal adımı ortadan kaldırılabilir, bu şekilde daha basit entegrasyon adımları elde edilmiş olur. Uzun vadede bu sistem, hem oyun motoru hem de ses ortamları arasında bir köprü görevi görerek daha kapsamlı ve sürdürülebilir bir ses altyapısı yaratılmasına olanak sağlayabilir. RNBO Unity Audio Plugin yapısı sağlam bir temel sunsa da, halihazırdaki kullanım şekliyle ses tasarımcılarının hızlı ve verimli bir şekilde çalışmasına engel olacak kadar teknik bilgi gerektirmektedir. Tez kapsamında geliştirilen araç, bu açığı kapatmakta ve RNBO'yu daha modüler, kullanıcı dostu bir ses sistemine dönüştürmektedir. Gerçek zamanlı ses üretiminin oyunlarda daha yaygın şekilde kullanılmasını mümkün kılan bu yaklaşım, aynı zamanda oyun ses tasarımı alanındaki yaratıcı potansiyelin de önünü açmaktadır. Sonuç olarak bu çalışma, görsel programlama, prosedürel ses tasarımı ve oyun geliştirme kesişiminde yer alan yeni bir entegrasyon modeli sunmaktadır. RNBO'nun yaratıcı ve teknik yönlerini birleştirerek, oyun seslerinin yalnızca tetiklenmiş olaylardan ibaret olmasının ötesine geçmesini; oyunun ritmine, durumuna ve oyuncu davranışına doğrudan tepki veren dinamik sistemlere evrilmesini hedeflemektedir. Bu doğrultuda geliştirilen araç, yalnızca bir teknik çözüm değil, aynı zamanda oyun ses tasarımının geleceğine yönelik bir öneri niteliği taşımaktadır.
Özet (Çeviri)
In modern game development, audio plays a critical role in shaping player experience, reinforcing atmosphere, and supporting gameplay. While the industry relies heavily on middleware solutions like FMOD or Wwise to handle sound design and implementation, these systems are sample-based. Relying on pre-recorded assets limits creativity and hinders responsiveness to real-time changes within the game. As games became more complex, the need for procedural, interactive, and real-time audio systems has grown significantly. However, implementing such systems often requires a deep understanding of DSP and programming. This creates a barrier between creative sound design and technical implementation. Max/MSP, developed by Cycling '74, is a visual programming language for creating audio. RNBO is a patching environment inside Max, and its made for exporting software in Max. This thesis explores how RNBO can be integrated into Unity. RNBO allows users to design real-time audio processors visually and export them as in C++ format. This makes it a promising tool for procedural sound. The project examines the RNBO Unity Audio Plugin, which allows RNBO patches to run as natively inside Unity. Although the plugin provides a working base, it also presents several limitations that restrict usability for non-programmers. The main limitations are the need to hardcode parameters in C# and compiling the plugin via command line. To address these limitations, the thesis proposes a custom pipeline that simplifies and improves the process of integrating RNBO patches into Unity. The system introduces a tool that automatically parses RNBO patch metadata and exposes it inside Unity. This eliminates the need for manual parameter declaration in code. This workflow enables sound designers to bind gameplay variables to RNBO parameters directly inside Unity's editor interface. By removing the hardcoded step of identifying and scripting parameter IDs, the process becomes significantly more maintainable. The methodology involves creating a simplified RNBO patch with core parameters (e.g., frequency and gain), exporting it as C++ code, compiling it into a Unity plugin, and testing its integration through both code and editor-driven interaction. The patch is used as a case study to demonstrate the workflow from RNBO design to real-time game interaction. Following this, the proposed tool is implemented to show how metadata parsing can improve accessibility and reduce technical complexity. Findings suggest that while the RNBO Unity Audio Plugin provides a strong technical foundation, its workflow is not optimized for rapid experimentation or non-programmer access. The proposed tooling closes this gap by enabling a more designer-friendly solution. It enhances usability without compromising from the low-latency, platform-independent benefits of native audio plugins. In conclusion, this thesis contributes to procedural and real-time audio in games by presenting a hybrid approach that combines visual sound design with modern game engine integration. It demonstrates that RNBO can function not only as a powerful audio tool, but also as a bridge between creative audio workflows and game development. With further development, the system has the potential to become an alternative or complement to existing middleware, offering more dynamic and expressive sound design options for video games.
Benzer Tezler
- Stand -alone wind energy conversion system applied as a sustanable technology to produce electrical energy in Iraq
Irak'ta elektrik enerjisi üretmek için sürdürülebilir bir teknoloji olarak uygulanan tek başına rüzgar enerjisi dönüşüm sistemi
TAMADHUR ALSALİHİ
Yüksek Lisans
İngilizce
2024
Elektrik ve Elektronik MühendisliğiBahçeşehir ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. ŞEREF KALEM
PROF. DR. BÜLENT ULUĞ
- Examining the role of self-efficacy and teacher autonomy on the digital competence of the secondary school EFL teachers
Ortaokul ingilizce öğretmenlerinin dijital yeterlikleri üzerinde öğretmen öz-yeterlik ve öğretmen özerkliğinin rolünün incelenmesi
TUĞBA YALÇIN
Yüksek Lisans
İngilizce
2024
Eğitim ve ÖğretimSakarya Üniversitesiİngiliz Dili Eğitimi Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ELİF BOZYİĞİT
- Integrating path planning and image processing with UAVs for disease detection and yield estimation in indoor agriculture
Kapalı alan tarımda hastalık tespiti ve verim tahmini için rota planlama ve görüntü işlemenin İHA'larla entegre edilmesi
ONAT ERDOĞMUŞ
Yüksek Lisans
İngilizce
2024
Mekatronik Mühendisliğiİstanbul Teknik ÜniversitesiMekatronik Mühendisliği Ana Bilim Dalı
PROF. DR. ERDİNÇ ALTUĞ
- Bulanık kayma kipli kontrol yönteminin iyileştirilmesi
Improvment of the fuzzy sliding mode control method
ÖZCAN DÜLGER
Yüksek Lisans
Türkçe
2009
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolPamukkale ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. SEZAİ TOKAT
- Integrating software defined networking approach into wirelessmultimedia sensor networks
Kablosuz çoklu ortam algılayıcı ağlarına yazılım tanımlı ağının yaklaşımı
ALI BURHAN JASIM AL-SHAIKHLI
Doktora
İngilizce
2018
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSakarya ÜniversitesiBilgisayar ve Bilişim Mühendisliği Ana Bilim Dalı
PROF. DR. CELAL ÇEKEN