- Factorio üssünü baştan oynamaya yarayan bir araç değil; mevcut 2D üssün işleyişini UE5’in 3D alanında gezerek incelemeye yönelik deneysel bir proje
- Varlık üretimi, oyun sprite’ları temel alınarak Cinema4D modelleme, Photoshop dokuları, FBX dışa aktarma ve UE5 shader uygulama sırasıyla yürütüldü
- FUE5 exporter mod’u Factorio içindeki verileri JSON olarak dışa aktardığında, FUE5 bina türlerini, yönlerini ve kablo bağlantılarını okuyarak üssü görsel olarak yeniden oluşturuyor
- Bantlar, trenler ve lojistik robotlar UE5 Blueprint’leri ve spline’lardan yararlanıyor; trenler ise Factorio’nun önceden hesapladığı rotayı alıp hareket ediyor
- Büyük üslerde FPS düşüşü ve Blueprint event’lerinde kararsızlık yaşandığı için poligonlar, dokular, partiküller, on-tick güncellemeleri ve LOD azaltılarak 30~60 FPS hedefiyle optimize edildi
FUE5’in amacı
- FUE5, Factorio in Unreal Engine 5’in kısaltması; Factorio’nun 2D dünyasını 3D alanda görselleştiren deneysel bir proje
- 3D sanatçısı Hurricane ve Factorio mod geliştiricisi Nuke tarafından 10 Ocak 2023’ten itibaren yaklaşık 5 ay boyunca geliştirildi
- Factorio üslerini içe aktarıp işleyişini görsel olarak yeniden canlandıran bir 3D görselleştirme ortamı; oynanış içermiyor
- Kullanıcılar kendi üslerinin çevresinde 3D alanda uçarak gezinebiliyor
Varlık üretimi ve UE5 entegrasyonu
- Factorio’daki montaj makineleri ve inserter’lar gibi varlıklar için, oyun sprite’ları temel alınarak 3D modeller ve animasyonlar yeniden oluşturulmak zorundaydı
- Üretim pipeline’ı şu sıradan oluştu
- Cinema4D ile 3D modelleme
- Adobe Photoshop ile doku üretimi
- Cinema4D’den FBX biçiminde dışa aktarma
- Unreal Engine 5’e içe aktardıktan sonra cam, metal, baca dumanı gibi shader’ların uygulanması
- Bantlar, trenler ve lojistik sistemi gibi temel mantıklar UE5’in yerleşik Blueprint node sistemi ile uygulandı
- Hareket eden trenlerle bant üzerindeki öğelerin hizasını tutturmak için doğru boyutlarda 3D modellere ihtiyaç olduğundan, sistem mantığı modellerin büyük bölümü tamamlandıktan sonra oluşturuldu
- Factorio üslerini oyundan doğrudan dışa aktarıp Unreal Engine ortamına taşıyarak, UE5 içinde üssü elle oluşturmak için gereken süre büyük ölçüde azaldı
Factorio verilerini FUE5’e aktarma yöntemi
- Yapı sistemi, Factorio içinde binaların yerleştirilme biçimine benzer şekilde yapılar oluşturuyor
- FUE5 exporter mod oyun içindeki verileri okuyup JSON dosyası olarak dışa aktarıyor
- Bina türü
- Bina yönü
- Kablo bağlantıları
- FUE5 bu JSON dosyasını okuyarak gerçek üssün yapısını ve araç hareketlerini görsel olarak kopyalıyor
Bantlar, trenler ve lojistik sistemi
-
Taşıma bantları
- Tekil taşıma bantlarının 3D modellerinin yanı sıra, öğelerin bant boyunca hareket etmesini sağlayan mekanizmaya da ihtiyaç vardı
- Taşıma bantları spline ile temsil ediliyor
- FUE5 exporter bir üssü dışa aktarırken, bağlı taşıma bantlarının tünelde bittiği, kendi başına sona erdiği ya da döngü oluşturduğu kesintisiz bölümler ayrı sistemler olarak ele alınıyor
- FUE5 her bölüm için spline oluşturuyor ve öğeler gerçek oyundakiyle aynı rotayı izleyerek hareket ediyor
-
Trenler
- Tren tarifelerini, sinyalleri ve lokomotif rota bulmayı doğrudan kopyalamak zor olduğundan Factorio’nun varsayılan rota bulma sistemi kullanılıyor
- FUE5’te bir trenin oluşturulup hareket edebilmesi için, üssü dışa aktarmadan önce hedefin ayarlanması ve yeşil ışık verilmesi gerekiyor
- Ardından Factorio’nun önceden hesapladığı tren rotası okunup spline’a dönüştürülüyor ve FUE5 içinde tren hareketi kontrol ediliyor
-
Lojistik robotlar
- İnşaat robotları hariç tutuldu; bina oluşturma işlemi UE5’in yerleşik Construction Script sistemiyle ele alındı
- Bunun yerine, yarı gelişmiş bir Factorio üssünde önemli bir görsel unsur olan lojistik robotların uygulanmasına odaklanıldı
- Her roboport belirli bir olasılıkla rastgele lojistik robot kümeleri oluşturuyor
- Her robot çevredeki lojistik sandıklarını bulup aralarında uçarak kaynak taşımayı görsel olarak yeniden canlandırıyor
- Taşıma işi bittiğinde en yakın roboport konumuna gidip kayboluyor
Performans sorunları ve optimizasyon
- Büyük üsler FUE5’e aktarıldığında FPS ciddi biçimde düşüyor ve Blueprint event sonuçları kararsız hâle geliyordu
- 30~60 FPS’de çalışmak için şu unsurları azaltan optimizasyonlar gerekiyordu
- Poligon sayısı
- Doku çözünürlüğü
- Partiküller
- on-tick güncelleme sayısı
- Başlangıçtaki takılmaların çoğu taşıma bandı sisteminden kaynaklanıyordu; bu bölüm azaltılarak performans iyileştirildi
- Yapıların animasyonlu parçalarında LOD ayarlanarak ek FPS kazanıldı
- Örnek: santrifüjün dönen silindiri
- Örnek: montaj makinesi çatısındaki dişliler ve pistonlar
- Factorio geliştiricisi Wube Software’in onayı da gerekiyordu; projenin yalnızca ticari olmayan kullanım şartıyla yayımlanmasına izin verildi
Fragman ve görsel sunum
- Geliştirmenin ilk iki ayında temel fikir ve prototiplemenin büyük bölümü netleştikten sonra, çeşitli Factorio varlıklarını ve sistemlerini kopyalamak kolaylaştı
- Sonrasında odak, genel görsel bütünlüğe ve ana sürüm fragmanının hazırlanmasına kaydı
- Fragman, FUE5 exporter ile oluşturulmuş büyük ölçekli bir üssü ve FUE5 ortamında yapılabilecek çeşitli şeyleri gösteriyor
- Factorio oyunundaki üssü dışa aktarmak tek başına temiz ve sinematik bir sonuç vermediğinden, kameraya uyacak şekilde pek çok bölüm elle ayarlandı
- Yüksek SPM için tek bir binanın uzun dizildiği yapılara kıyasla, karmaşık biçimde iç içe geçmiş spagetti üsler görsel olarak daha ilginçti
Kullanım koşulları ve yayımlama planı
- FUE5 bir oyun değil ve kullanıcı arayüzü de yok; kullanmak için temel düzeyde UE5 bilgisi gerekiyor
- Kullanım yöntemi GitHub sayfasında açıklanmış durumda
- Temel süreç, UE5’i kurup projeyi çalıştırdıktan sonra dışa aktarılacak üs chunk’ını seçerek FUE5’e aktarmak şeklinde
- Ayrıntılı adımlar how-to guide içinde görülebilir
- Proje GitHub üzerinden açık kaynak olarak paylaşıldı; amacı Factorio topluluğunun aşina olduğu dünyayı yeni bir boyutta deneyimlemesini ve yeni çıktılar üretmesini sağlamak
- Mevcut sistemleri daha kolay kullanılabilir hâle getirme ve büyük üslerde de iyi çalışacak şekilde iyileştirme çalışmaları sürüyor; gelecekte mod içeriği eklenmesi de değerlendiriliyor
1 yorum
Hacker News yorumları
Factorio’da roket fırlatınca kazanmış oluyorsunuz, ama Space Exploration tam oradan devam ediyor. Güneş sistemindeki çeşitli gezegenlere üsler kuruyor, her gezegenin kendine özgü kaynaklarını kullanarak güneş sistemini geliştiriyor, ardından yıldızlararası uzaya ve diğer güneş sistemlerine açılıyorsunuz
Ortalarda bir yerde “çeyrek nokta” zafer ekranı var, ama bunun dışında bilinen evrenin tamamına yayılan bir gizemi keşfederek ulaşılan ve epey matematik bilgisi de gerektiren başka bir zafer ekranı daha bulunuyor. Yüzlerce saatlik bir deneyim ve oldukça da cilalı
Oyunu, yıldız ve güneş sistemi haritalarını kullanarak gezegenler arasında uzay gemileriyle seyahat edebileceğiniz şekilde değiştirmişler ve genel olarak çok iyi çalışıyor. Yalnız biter’ları ciddi biçimde azaltmak iyi olur. Bu mod sabır istiyor, savaş yoğunluğu bu akışa pek uymuyor ve mod da başlangıçta açılan bir pencerede biter’ları düşürmenizi öneriyor
Bir sonraki aşamaya geçmek için kurmanız gereken fabrika ve üretim hattı sayısı sürekli büyüyor. Sanırım ancak yaklaşık 100 saat civarında, sonraki bilim aşaması için gereken iki ürün hattını başka bir gezegenden getirdiğim noktaya ulaşmıştım
Ek bir ipucu olarak bilim maliyetlerini artırmayı öneririm. Bir sonraki aşamaya genişlemek saatler alabiliyor ve araştırılacak şeyler önce tükenmeye çok yatkın oluyor; bu yüzden fiilen fabrikanın yapacak işi kalmayıp durmuş gibi hissettirdiği zamanlar oluyor
SE harika ama muazzam bir zaman yutucu. Factorio’da 3500 saatten fazla geçirdim; sanırım burada bir sorun var
Yine de Factorio’yu 3D görmek gerçekten çok havalı ve etkileyiciydi
pyanodons; son derece gerçekçi cevher işleme zincirleri, petrokimya süreçleri, enerji üretim mekanikleri, elektronik bileşenlerin elden geçirilmiş hâli ve bitkilerle hayvanları da içeren tarımsal unsurlar ekliyor. Baş geliştirici pyanodon’un asıl mesleği kimya mühendisliği
Tam bir py oynanışı kolayca 1500 saati aşar. Vanilya oyuncularının çoğu için özellikle eğlenceli olmayabilir, ama Space Exploration ya da Nullius gibi modları sevdiyseniz bunda da keyif bulabilirsiniz
[0]: https://mods.factorio.com/user/pyanodon
Ve aklına ilk olarak “Bu nasıl yasal olabilir?” sorusu gelenler için alıntılayayım: “Bu çalışmanın yasallığı sorulduğunda, Factorio tarafı büyük anlayış gösterdi ve ticari amaçla kullanılmaması şartıyla projenin yayımlanmasına izin verdi”
Orijinal kaynak kodunu görmüş biri olarak söyleyebilirim ki kod nispeten iyi, ama özellikle hayranlık uyandırıcı değil. Çoklu kalıtım kullanan bir C++ kod tabanı; oyun nesneleri birkaç katman boyunca birbirlerinin metodlarını çağırıyor ve “en iyi çözüm olmayabilir ama çalışıyor, o yüzden şimdilik değiştirmeyeceğiz” türünden epey kod var
Bütün bunların düzgün çalışmasını sağlayan şey kapsamlı otomasyon testleri ve daha az optimize kodla PR açarsanız Rseding’in bunu hızla düzeltmesi yönündeki kültür. İlginç olan kısım algoritmalar ve onlar Friday Facts’te ele alınıyor
Ayrıca https://old.reddit.com/r/factorio/comments/13bsf3s/technical... da çok ilgi çekici bir okuma; çift bağlı liste ve çoklu kalıtım kullandıkları gibi ayrıntılar yer alıyor
https://www.factorio.com/blog/
https://physics.highpoint.edu/~bbarlow/courses/phy2100/docum...
Turuncu; ayrıca ‘GUI’ görünümünde gri karolar da görünüyor
Başlardaki yavaş tempo ve biraz cansız 2D izometrik grafikler bana pek uymamıştı. Ama blog yazıları ilginçti ve insanlar durmadan övdüğü için, 4. kurulumda dayanıp gerçekten biraz ilerlemeye karar verdim
Şimdi onu gelmiş geçmiş en iyi oyunlardan biri olarak görüyorum. Teknik olarak inanılmaz derecede etkileyici ve trenler, bantlar, robotlar, inserter’larla dolu devasa üsleri bile 60FPS’te çalıştırabiliyor. Çökmüyor da; ayrıca inanılmaz eğlenceli ve çok bağımlılık yapıyor. Modları da harika, topluluğu da iyi
Ek paketi gerçekten sabırsızlıkla bekliyorum. En baştan itibaren Factorio kadar cilalı olacağını varsaymak makul görünüyor
Başlangıcı daha hızlı, gerçek dünyadaki süreçleri ele alıyor, araziyi değiştirme var ve bence her açıdan Factorio’dan daha iyi. Factorio’nun türü tanımlayan oyun olduğunu düşünüyorum; Satisfactory ve Dyson Sphere Program da bunu neredeyse aşmayı başardı ama 3D yapıları yüzünden bulmacalar daha kolay çözülüyor
Captain of Industry ise daha fazla boyuta sahip olmasına rağmen bulmacaları Factorio kadar zor yapmayı başarıyor ve yönetmeniz gereken kaynak da çok daha fazla
Sanki bir çeşit UE5 tabanlı, Factorio tarzı savaş sistemi çıkabilir
Düşünün; bir yandan fabrikanızı işletip bakımını yapmanız gereken bir oyun var. Aynı anda PvP birinci şahıs nişancı oyuncuları fabrikanın içinde koşuşturup savaşıyor ve ikmal hatlarını durmadan sabote ediyor, sizin de onları tamir etmeniz gerekiyor. Fabrika bakım ekibine katılabilir ya da PvP oyuncusu olup düşmanları biçerken aynı zamanda karşı takımın fabrika ikmal hatlarını da paramparça edebilirsiniz
Tabii 3D baskı için hazırlanan modellerde düzgün UV mapping ya da texturing gerekmiyor; dolayısıyla benim işim çok daha kolaydı
Bazı araçlar gerçekten çok daha iyi hale geldi. Örneğin texturing için Substance 3D, özellikle otomatik UV işe yarar sonuç verirse çok yardımcı oluyor. Ama temel 3D modelleme araçlarının kendisi, özünde eskisine göre çok da farklı değil
Ekran görüntüsündeki modellerin topolojisi de oldukça yoğun görünüyor; yani iş yükü epey fazla olmuştur
3 hafta boyunca deliler gibi oynadım ve sonra kendimi zorla bırakmak zorunda kaldım. Gerçekten eşi benzeri olmayan bir oyun