Çözüldü Metin2 fmod kullanma

  • Konuyu açan Konuyu açan Hazar
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 501
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.

Hazar

Yasaklanmış Üye
Cezalı
Mesaj
13
Beğeni
7
Puan
50
Ticaret Puanı
0
Herkese iyi sabahlar
Metin2 icindeki Miles sound sistemi kaldırdım ancak fmod eklemek istiyorum ama bunu nasıl yapabilirim ve tutorial bulabilirim? Fmod ex kaynak kodum var entegrasyon bilenler varmı yardım lütfen.
 
Çözüm
Selamlar iyi forumlar. Gördüğüm kadarıyla çözüm henüz yok. Sorunuza bir kaç başlık altında yanıt verelim ve umarım çözüm sağlayalım.
Öncelik ile netleştirmemiz gereken şey FMOD ve MSS forumlarda paylaşıldığı gibi bir alt sistem değil, ses motorudur.

Metin2 neden MSS kullanıyor?
Metin2 oyunu geliştirildiği yıllarda FMOD henüz mevcut değildi. Bu yüzden RAD Game Tools'den Granny lisansı alınırken, Miles ses motoru lisansıda birlikte alınmıştır.

Laniatus Games olarak oyun motorumuzda ve oyunlarımızda teknoloji geliştirme şirketi olarak lisanslı şekilde başlıca FMOD olmak üzere haricen OpenAL, Audiokinetic (Ww) kullanıyoruz. Bilgim dahilinde burada yardım edeceğim.
FMOD sıkça oyunlarda kullanılan bir...
valla miles değiştireni hiç görmedim. kaynak bulman çok zor olacaktır. fakat kaldırdığın miles kodlarını fmoda uyarlayabilirsen mantıken kullanabilirsin.
 
Selamlar iyi forumlar. Gördüğüm kadarıyla çözüm henüz yok. Sorunuza bir kaç başlık altında yanıt verelim ve umarım çözüm sağlayalım.
Öncelik ile netleştirmemiz gereken şey FMOD ve MSS forumlarda paylaşıldığı gibi bir alt sistem değil, ses motorudur.

Metin2 neden MSS kullanıyor?
Metin2 oyunu geliştirildiği yıllarda FMOD henüz mevcut değildi. Bu yüzden RAD Game Tools'den Granny lisansı alınırken, Miles ses motoru lisansıda birlikte alınmıştır.

Laniatus Games olarak oyun motorumuzda ve oyunlarımızda teknoloji geliştirme şirketi olarak lisanslı şekilde başlıca FMOD olmak üzere haricen OpenAL, Audiokinetic (Ww) kullanıyoruz. Bilgim dahilinde burada yardım edeceğim.
FMOD sıkça oyunlarda kullanılan bir ses motoru olsada bunun nedeni daha çok oyun motorları tarafından zahmetsizce entegrasyon için hazır pluginlere sahip olmasıdır. Örneğin FMOD resmi web sayfasına girerseniz Unity ve UE için hazır olduğunu görebilirsiniz. Böylece geliştiriciler onu kolaylıkla entegre edebilir ve oyunlarına işitsel dönüşüm verebilirler.

Metin2 oyununun içeriğinden MSS'yi kaldırmanız doğrudan FMOD'u kullanabileceğiniz anlamına gelmez.
FMOD Studio'u tercih etmek yerine, FMOD Ex SDK'i tercih etmenize açıkçası çok şaşırdım. Bu varsa bile zorluğu otomatik olarak normalden üç katına çıkarır ama neyse.

FMOD Studio güncel olan arabirimdir biz hem Studio hemde Ex'i kullanıyoruz fakat EX ile Studio arasındaki fark çok büyük özellikle sesi işleme ve yönetme açısından FMOD Studio daha fazla ayrıntı sağlar. İşte ayrıntılı bir FS için tutorial burada mevcuttur.

FMOD, genel olarak oyun geliştiricilerine ses efektleri, müzikler ve ses efektleri dönüşümü yada yönetimi için bir dizi araç ve API ile birlikte geliyor normalde.
Linkleri görebilmek için giriş yap veya kayıt ol.


Açıklama ve yönlendirmem:
Metin2 oyununun program koduna sınırlı bir bilgi sahibi olmakla birlikte, Core API'nin entegrasyonu için GPT-4.5'in sezgisel yeteneklerine ihtiyaç duyulabileceğini düşünüyorum. GPT-4.5, GPT-3.5'e kıyasla daha gelişmiş ve karmaşık teknik gereksinimleri daha iyi anlayabiliyor. Tavsiyem ise @hasanmacit kısmen belirttiği gibi düşünüyorum. Aslında Metin2 kaynak koduna, Unity3D'e olduğu gibi AI yönlendirmesi ve GenAi script desteği sağlarsanız mevcut program kodunu dökümantasyondaki tutorial'a göre zahmetsizce MSS alternatifi olarak dönüştürebilirsiniz. Bu sayede eklemenizin kolay olacağı kanaatindeyim.
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.


Oyunlara entegrasyonun nasıl yapıldığını kolaylıkla görmeniz için FMOD bazı hazır projelerde sunmaktadır; (Ücretli şekilde online kurslarda vermektedir)
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.
/ Topluluk forumlarına katılabilir ve oradanda bilgi alabilirsiniz.

Eklenebilirse eğer oyundaki tüm ses, müzik ve işitsel veriyi eventler haline getirebilir ve tersine mühendisliği neredeyse imkansız olan bir ses bankasına dönüştürebilir hem zamandan, hem ek maliyetlerden tasarruf edebilir hemde güvenlikten ödün vermemiş olursunuz. Elbette tüm bunlar için önce onu dahil edebilmek gerekiyor :) Dahil edebileceğinizi düşünerek işte az önce sizin için FMOD Designer v4.4 yani FMOD Ex ile örnek olarak oluşturduğum bir ses bankası ve FMOD entegrasyonu için header, örnek proje görünümü ve diğerleri.

Testcharactersoundbanks.h:
Genişlet Daralt Kopyala
/*
    charactersoundsbank.h
    Generated by FMOD Designer v4.44.64
*/

#ifndef CHARACTERSOUNDSBANK_H
#define CHARACTERSOUNDSBANK_H

/*
    Total number of events in the project
*/
const int EVENTCOUNT_CHARACTERSOUNDSBANK = 4;

/*
    EventGroup/Event-relative indices
*/
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR = 0;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR = 0;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE = 0;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE = 0;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD = 0;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD = 4;
const int EVENT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_1 = 0;
const int EVENT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_2 = 1;
const int EVENT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_3 = 2;
const int EVENT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_4 = 3;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_2H_SWORD = 1;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_2H_SWORD = 0;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE = 1;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE = 0;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE_WARRIOR_1H_SWORD = 0;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE_WARRIOR_1H_SWORD = 0;
const int EVENTGROUP_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE_WARRIOR_2H_SWORD = 1;
const int EVENTGROUPCOUNT_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_FEMALE_WARRIOR_2H_SWORD = 0;

/*
    Project-unique event ids
*/
const int EVENTID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_1 = 0;
const int EVENTID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_2 = 1;
const int EVENTID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_3 = 2;
const int EVENTID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_4 = 3;

const int EVENTCATEGORY_CHARACTERSOUNDSBANK_MASTER = 0;
const int EVENTCATEGORYCOUNT_CHARACTERSOUNDSBANK_MASTER = 4;

const int EVENTCATEGORY_CHARACTERSOUNDSBANK_MASTER_MUSIC = 0;
const int EVENTCATEGORYCOUNT_CHARACTERSOUNDSBANK_MASTER_MUSIC = 0;


/*
    Event GUIDs
*/
const char * const EVENTGUID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_1 = "{aa5f8161-2391-4d94-b76f-1049295feee9}";
const char * const EVENTGUID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_2 = "{7914f97e-d934-4661-a2cc-bfab907b0a7e}";
const char * const EVENTGUID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_3 = "{141f16a2-5561-4add-829e-ab262095c24c}";
const char * const EVENTGUID_CHARACTERSOUNDSBANK_WARRIOR_WARRIOR_MALE_WARRIOR_1H_SWORD_WARRIOR_MALE_1H_ATTACK_4 = "{492abf87-2273-4fdb-ad12-1e4d165b8881}";

#endif /* CHARACTERSOUNDSBANK_H */

Yukarıda yer alan header oyun program koduna entegre edildiğinde oluşturulan '.FSB' (FMOD Sound Bank) uzantılı ses bankası oyunun asset (pack) kısmına yüklenir ve elde edilen INDEX '.FEV' ile headerde yer alan GUID üzerinden ses bankası yolundan veri çağrılarak oyunda kullanılır.
image.png



Sonuç olarak FMOD kesinlikle doğru bir tercihtir ancak kullanabilecek şekilde oyunlarda entegre edilmesi gerekir. Aşağıda FMOD ile MSS arasındaki karşılaştırmayıda listeleyelim;
FMOD ve Miles Sound System (MSS), her ikisi de ses oynatma ve yönetim sistemleri olmakla birlikte, farklı özelliklere ve yaklaşımlara sahiptir. FMOD'un, MSS'ye göre bazı belirgin avantajları bulunmaktadır:
  1. Taşınabilirlik ve Çapraz Platform Desteği: FMOD, çok çeşitli platformlarda kullanılabilen bir ses motorudur. Bu, oyun geliştiricileri için uygulamalarını farklı işletim sistemlerinde ve oyun konsollarında sorunsuz bir şekilde çalıştırma esnekliği sunar. MSS ise sınırlı platform desteğine sahip olabilir.
  2. Gelişmiş 3D Ses Desteği: FMOD, 3D ses efektlerini simüle etmek için daha fazla kontrol ve özellik sunar. Oyuncuların ve nesnelerin ses kaynaklarına göre konumlandırılmasını ve seslerin uzaklık ve yön gibi faktörlere bağlı olarak değişmesini sağlar.
  3. Daha Geniş Format Desteği: FMOD, birçok ses dosyası formatını destekler, bu da geliştiricilere ses kaynaklarını çeşitli formatlarda kullanma esnekliği sunar. MSS, bu açıdan daha sınırlı olabilir.
  4. Güçlü Araçlar ve API: FMOD, kullanıcı dostu bir arayüze sahip olan güçlü bir API sunar. Geliştiriciler, ses efektlerini ve oyun içi ses yönetimini daha kolay bir şekilde ayarlayabilir ve özelleştirebilir. FMOD'un araçları, ses tasarımını ve hata ayıklamayı kolaylaştırır.
Topluluk ve Dökümantasyon: FMOD'un büyük bir kullanıcı topluluğu ve kapsamlı dökümantasyonu bulunur. Bu, geliştiricilere sorunlarını çözmek ve yeni özellikler eklemek için yardımcı olur.

Platform Desteği:
  • FMOD: FMOD, çok sayıda platformda çalışabilen geniş bir destek sunar, PC, konsol, mobil ve diğer platformlarda kullanılabilir.
  • MSS: MSS de bazı platformları destekler, ancak genellikle FMOD kadar yaygın olarak desteklenmeyen platformları kapsamayabilir.
3D Ses Desteği:
  • FMOD: FMOD, gelişmiş 3D ses özelliklerine sahiptir ve seslerin uzaklık, yön ve nesneler arasındaki ilişkilere göre gerçekçi bir şekilde değiştirilmesini sağlar.
  • MSS: MSS de 3D ses desteği sunar, ancak FMOD kadar kapsamlı bir 3D ses simülasyonuna sahip değil.
Ses Format Desteği:
  • FMOD: FMOD, birçok ses dosyası formatını destekler, bu nedenle geliştiricilere ses kaynaklarını farklı formatlarda kullanma esnekliği sunar.
  • MSS: MSS, format desteği açısından daha sınırlı.
Araçlar ve API:
  • FMOD: FMOD, güçlü ve kullanıcı dostu bir API ile birlikte gelir. Geliştiriciler, ses efektlerini ve oyun içi ses yönetimini kolayca ayarlayabilir ve özelleştirebilir.
  • MSS: MSS de bir dizi araç ve API sunar, ancak FMOD kadar geniş bir özellik yelpazesi sunmaz.
Topluluk ve Dökümantasyon:
  • FMOD: FMOD'un büyük bir kullanıcı topluluğu ve kapsamlı dökümantasyonu vardır. Bu, geliştiricilere sorunlarını çözmek ve yeni özellikler eklemek için yardımcı olur.
  • MSS: MSS'in topluluğu ve dökümantasyonu FMOD'a kıyasla daha küçük.
Sonuç olarak, FMOD ve MSS her ikisi de ses motorları olarak kullanılabilecek güçlü araçlardır, ancak FMOD, geniş platform desteği, 3D ses özellikleri, format çeşitliliği ve kullanıcı dostu arayüz gibi birçok açıdan daha cazip olabilir. Ancak geliştiricilerin ihtiyaçları ve projelerine göre en uygun ses motorunu seçmeleri önemlidir.

Keyifli forumlar ve iyi çalışmalar.
 
Çözüm
Konu başlığını çözüldü olarak işaretledim. Konuyu açık tutuyorum. Herhangi bir gelişme olursa takip edenler için sonucu yazabilirsiniz. İyi çalışmalar dilerim. @MagicToMaster, verdiğiniz bilgiler için de teşekkür ederim.
 
Üst