Modular Inventory System
- Unreal Engine 5
- C++
- Gameplay Tags
- Multiplayer
Item, envanter, ekipman ve silahlar için oyundan bağımsız, kompozisyon tabanlı ve multiplayer destekli bir framework: yeni bir item, yeni bir class değil, fragment'lardan oluşan bir data asset'tir.
Proje Özeti
Item, envanter, ekipman ve silahlar için oyundan bağımsız, kompozisyon tabanlı bir framework. Yeni bir item eklemek için class yazmak gerekmez; item, fragment'lardan oluşan bir data asset'tir. Slot'lar birleştirilebilir kurallara sahip nesnelerdir, ekipman binding'ler üzerinden bağlanır ve her şey Blueprint'te override edilebilir. Envanter, sunucu yetkili replikasyon ve istemci tarafı tahminle multiplayer'da çalışır.
Benim Rolüm
Plugin'i bağımsız geliştirici olarak tasarlıyor ve geliştiriyorum. Fab'da satışa hazır hale getirmek için multiplayer desteğini ekledim ve 45 sayfalık GitBook dokümantasyonunu yazdım.
Geliştirdiğim Sistemler
Fragment Tabanlı Item'lar
Item'lar, fragment'lardan oluşan data asset'ler olarak tanımlanır.
Konteyner ve Slot Kuralları
Gameplay Tag'lerle anahtarlanan birden fazla konteyner; slot'lar birleştirilebilir Slot Rule'larla sınırlandırılır ve index, tag ya da doğrudan adreslenir.
İşlemsel API
Tag tabanlı hata nedenleri ve önizleme moduyla işlemsel (transactional) ekle / çıkar / taşı API'si.
Ekipman Binding'leri
Aktif slot'u veya bir konteynerin içeriğini kuşanan, Blueprint ile genişletilebilir binding'ler.
Silah Katmanı
6 atış modu, hitscan, mermi, ısıya bağlı saçılma ve desenli geri tepme (pattern recoil).
Multiplayer
Sunucu yetkili envanter (FastArray replikasyonu), sahibi için tahmin edilen seçim, diğer oyuncular için temsili ekipman ve konteyner bazında görünürlük.
Sunucu Doğrulamalı Atışlar
İstemcinin bildirdiği atışlar lag compensation ile sunucuda doğrulanır; mermi sayısı istemcide tahmin edilir.
Birinci / Üçüncü Şahıs
Ekipman her makinede doğru görünüm mesh'ine yerleşir; aksiyonların ağda nasıl çalışacağı data asset'ten seçilir.
