1 poin oleh GN⁺ 2023-07-03 | 1 komentar | Bagikan ke WhatsApp
  • Ini bukan alat untuk memainkan ulang basis Factorio dari awal, melainkan proyek eksperimen untuk menjelajahi cara kerja basis 2D yang sudah ada di ruang 3D UE5
  • Pembuatan aset dilakukan berurutan berdasarkan sprite game: pemodelan Cinema4D, tekstur Photoshop, ekspor FBX, lalu penerapan shader UE5
  • Saat mod FUE5 exporter mengekspor data internal Factorio ke JSON, FUE5 membaca jenis bangunan, arah, dan koneksi kabel untuk merekonstruksi basis secara visual
  • Belt, kereta, dan robot logistik memanfaatkan Blueprint UE5 serta spline; kereta bergerak dengan mengambil rute yang sudah dihitung Factorio sebelumnya
  • Pada basis besar, terjadi penurunan FPS dan ketidakstabilan event Blueprint, sehingga optimasi dilakukan dengan mengurangi poligon, tekstur, partikel, update on-tick, dan LOD untuk menargetkan 30–60 FPS

Tujuan FUE5

  • FUE5 adalah singkatan dari Factorio in Unreal Engine 5, sebuah proyek eksperimen untuk memvisualisasikan dunia 2D Factorio di ruang 3D
  • Dibuat selama sekitar 5 bulan mulai 10 Januari 2023 oleh seniman 3D Hurricane dan modder Factorio Nuke
  • Ini adalah lingkungan visualisasi 3D yang mengimpor basis Factorio dan mereproduksi operasinya secara visual, tanpa gameplay
  • Pengguna dapat terbang berkeliling di sekitar basis mereka sendiri dalam ruang 3D

Pembuatan aset dan integrasi UE5

  • Aset Factorio seperti assembling machine dan inserter harus dibuat ulang sebagai model 3D dan animasi berdasarkan sprite game
  • Pipeline pembuatannya disusun dengan urutan berikut
    • Pemodelan 3D dengan Cinema4D
    • Pembuatan tekstur dengan Adobe Photoshop
    • Ekspor dari Cinema4D dalam format FBX
    • Impor ke Unreal Engine 5, lalu penerapan shader seperti kaca, logam, dan asap cerobong
  • Logika inti seperti belt, kereta, dan sistem logistik diimplementasikan dengan sistem node Blueprint bawaan UE5
  • Untuk menyelaraskan kereta yang bergerak dan item di atas belt, diperlukan model 3D dengan ukuran yang akurat, sehingga logika sistem dibuat setelah sebagian besar pemodelan selesai
  • Dengan mengekspor basis Factorio langsung dari game lalu membawanya ke lingkungan Unreal Engine, waktu untuk membuat basis secara manual di dalam UE5 berkurang drastis

Cara membawa data Factorio ke FUE5

  • Sistem struktur membuat struktur dengan cara yang mirip dengan penempatan bangunan di dalam Factorio
  • Mod FUE5 exporter membaca data internal game dan mengekspornya sebagai file JSON
    • Jenis bangunan
    • Arah bangunan
    • Koneksi kabel
  • FUE5 membaca file JSON ini untuk mereplikasi struktur basis nyata dan pergerakan kendaraan secara visual

Belt, kereta, dan sistem logistik

  • Transport belt

    • Selain model 3D untuk masing-masing transport belt, diperlukan juga mekanisme agar item bergerak mengikuti belt
    • Transport belt direpresentasikan dengan spline
    • Saat FUE5 exporter mengekspor basis, rangkaian transport belt yang saling terhubung dan berakhir di tunnel, berakhir sendiri, atau membentuk loop diperlakukan sebagai sistem terpisah masing-masing
    • FUE5 membuat spline untuk setiap segmen, dan item bergerak mengikuti jalur yang sama seperti di game asli
  • Kereta

    • Karena sulit mereplikasi langsung jadwal kereta, sinyal, dan pencarian rute lokomotif, proyek ini menggunakan sistem pathfinding bawaan Factorio
    • Agar kereta bisa dibuat dan bergerak di FUE5, tujuan harus ditetapkan dan lampu hijau diberikan sebelum basis diekspor
    • Setelah itu, rute kereta yang sudah dihitung Factorio sebelumnya dibaca, dijadikan spline, dan pergerakan kereta dikendalikan di dalam FUE5
  • Robot logistik

    • Robot konstruksi dikecualikan, dan pembuatan bangunan ditangani oleh sistem Construction Script bawaan UE5
    • Sebagai gantinya, fokus diarahkan pada implementasi robot logistik, elemen visual penting dalam basis Factorio yang sudah cukup berkembang
    • Setiap roboport menghasilkan klaster robot logistik secara acak dengan probabilitas tertentu
    • Setiap robot mencari peti logistik di sekitarnya, lalu terbang di antaranya untuk mereproduksi pengangkutan sumber daya secara visual
    • Setelah tugas pengangkutan selesai, robot bergerak ke lokasi roboport terdekat lalu menghilang

Masalah performa dan optimasi

  • Saat basis besar dibawa ke FUE5, FPS turun drastis dan hasil event Blueprint menjadi tidak stabil
  • Agar berjalan pada 30–60 FPS, diperlukan optimasi dengan mengurangi elemen berikut
    • Jumlah poligon
    • Resolusi tekstur
    • Partikel
    • Jumlah update on-tick
  • Banyak stutter awal terjadi pada sistem transport belt, dan performa ditingkatkan dengan mengurangi bagian ini
  • Komponen animasi pada struktur disesuaikan dengan LOD untuk mendapatkan FPS tambahan
    • Contoh: silinder berputar pada centrifuge
    • Contoh: gear dan piston di atap assembling machine
  • Persetujuan dari pengembang Factorio, Wube Software, juga diperlukan, dan proyek ini diizinkan dipublikasikan dengan syarat hanya digunakan untuk tujuan nonkomersial

Trailer dan penyutradaraan visual

  • Setelah ide dasar dan sebagian besar prototyping dirampungkan dalam dua bulan pertama pembuatan, mereplikasi berbagai aset dan sistem Factorio menjadi lebih mudah
  • Setelah itu, fokus beralih ke penyelesaian visual keseluruhan dan pembuatan trailer rilis utama
  • Trailer tersebut menampilkan basis skala besar yang dibuat dengan FUE5 exporter serta berbagai hal yang bisa dilakukan di lingkungan FUE5
  • Mengekspor basis dari dalam game Factorio saja tidak menghasilkan hasil yang rapi dan sinematik, sehingga banyak bagian disesuaikan secara manual agar cocok dengan kamera
  • Dibanding struktur yang menempatkan satu bangunan memanjang demi SPM tinggi, basis spaghetti yang saling kusut secara visual lebih menarik

Ketentuan penggunaan dan rencana publikasi

  • FUE5 bukan game dan tidak memiliki antarmuka pengguna, sehingga pengguna memerlukan pengetahuan dasar UE5 untuk menggunakannya
  • Cara penggunaan dirangkum di halaman GitHub
  • Prosedur dasarnya adalah memasang UE5 dan menjalankan proyek, lalu memilih chunk basis yang akan diekspor dan mengekspornya ke FUE5
  • Prosedur terperinci dapat dilihat di how-to guide
  • Proyek ini dibagikan sebagai open source melalui GitHub, dengan tujuan memungkinkan komunitas Factorio mengalami dunia yang sudah akrab dalam dimensi baru dan membuat karya baru
  • Pekerjaan sedang berlangsung untuk menyempurnakan sistem yang ada agar lebih mudah digunakan dan tetap berjalan baik pada basis besar, dan penambahan konten mod di masa depan juga sedang dipertimbangkan

1 komentar

 
GN⁺ 2023-07-03
Komentar Hacker News
  • Space Exploration yang sempat disebut dan dirender di sini adalah mod Factorio yang luar biasa, dan salah satu game terdalam yang pernah saya mainkan
    Di Factorio, menembakkan roket berarti menang, tetapi Space Exploration berlanjut dari titik itu. Kamu membangun markas di berbagai planet di tata surya, memanfaatkan sumber daya unik tiap planet untuk mengembangkan tata surya, lalu berekspansi ke ruang antarbintang dan tata surya lain
    Memang ada layar kemenangan “seperempat jalan” di tengah, tetapi ada juga layar kemenangan lain yang menuntut cukup banyak pengetahuan matematika sambil menjelajahi misteri di seluruh alam semesta yang diketahui. Ini permainan ratusan jam dengan tingkat penyelesaian yang sangat tinggi
    Mod ini mengubah game sehingga kamu bisa bepergian antaraplanet dengan pesawat luar angkasa memakai peta bintang dan tata surya, dan secara keseluruhan semuanya bekerja sangat baik. Namun, sebaiknya jumlah biter banyak dikurangi. Mod ini butuh kesabaran, dan intensitas pertempurannya kurang cocok dengan alur itu; mod ini sendiri juga menampilkan popup saat mulai yang menyarankan menurunkan biter
    • Saya hanya merekomendasikan Space Exploration setelah menamatkan game dasar beberapa kali dan masih ingin lanjut. Rasanya jumlah komponen yang dibutuhkan untuk markas dasar memang berkurang, tetapi sebagai gantinya kompleksitasnya naik jauh lebih tajam
      Jumlah pabrik dan lini produksi yang harus dibuat untuk mencapai tahap berikutnya terus bertambah. Rasanya baru sekitar 100 jam kemudian saya mencapai titik harus mengimpor dua lini produk dari planet lain untuk sains tahap berikutnya
      Sebagai tips tambahan, saya sarankan menaikkan biaya sains. Ekspansi ke tahap berikutnya memakan waktu berjam-jam, jadi riset yang tersedia mudah habis lebih dulu, dan akibatnya pabrik sering terasa seperti berhenti karena tidak ada pekerjaan
    • Secara pribadi, saya rasa mematikan biter sepenuhnya lebih baik. Di planet lain mereka masih ada, tetapi rasa cemas yang terasa di planet asal jadi hilang
    • Saya sedang memainkan Space Exploration sekarang dan skalanya benar-benar epik. Namun, bahkan YouTuber spesialis Dosh Doshington, yang dianggap sangat ahli Factorio kelas dunia, butuh 300 jam untuk menamatkan SE sambil sesekali menerima bantuan
      SE memang luar biasa, tetapi juga penyedot waktu yang sangat besar. Saya sudah bermain Factorio lebih dari 3500 jam, sepertinya ada yang salah
      Meski begitu, melihat Factorio dalam 3D benar-benar keren dan mengesankan
    • Jika “Factorio antarplanet” cocok dengan selera Anda, Dyson Sphere Program juga layak dipertimbangkan: https://store.steampowered.com/app/1366540/Dyson_Sphere_Prog...
    • Modpack lain yang layak disebut di sini adalah pyanodons. Seperti Space Exploration, ia sangat memperluas game setelah peluncuran roket, tetapi juga menambahkan konten sebelum itu. Bahkan, peluncuran roket sendiri jadi jauh kurang penting, dan pada awalnya lebih mirip teknologi sains biru opsional
      pyanodons menambahkan rantai pemrosesan bijih yang sangat realistis, proses petrokimia, mekanisme pembangkit listrik, perombakan komponen elektronik, serta elemen pertanian termasuk tumbuhan dan hewan. Pengembang utamanya, pyanodon, bekerja sebagai insinyur kimia
      Satu permainan penuh py bisa dengan mudah melewati 1500 jam. Mungkin tidak terlalu menyenangkan bagi kebanyakan pemain vanilla, tetapi jika Anda menyukai mod seperti Space Exploration atau Nullius, Anda bisa menemukan keseruannya
      [0]: https://mods.factorio.com/user/pyanodon
  • Sebagai pengembang game, kode sumber asli Factorio benar-benar salah satu yang paling ingin saya lihat
    Dan untuk mereka yang pertama kali berpikir “bagaimana ini bisa legal?”, saya kutipkan: “Saat ditanya soal legalitas karya ini, pihak Factorio menunjukkan pemahaman besar dan mengizinkan proyek ini dipublikasikan selama tidak digunakan untuk tujuan komersial”
    • Tim Factorio umumnya memang cukup santai terhadap hal semacam ini, dan sepertinya itulah alasan mereka sejak awal membuat game ini sangat ramah mod. Satu-satunya tindakan hukum yang saya ingat hanyalah saat menangani hal seperti penjualan ulang key curian. Ada pemahaman dasar bahwa kalau komunitas membuat hal keren, itu juga baik untuk Factorio
      Dari sudut pandang seseorang yang pernah melihat kode sumber aslinya, kodenya relatif oke tetapi tidak terlalu menakjubkan. Ini C++ yang memakai pewarisan ganda, dan objek-objek game saling memanggil metode melintasi beberapa lapisan, dengan cukup banyak kode bernuansa “mungkin bukan yang terbaik, tetapi berfungsi dan tidak akan kami ubah sekarang”
      Yang membuat semua ini tetap berjalan baik adalah pengujian otomatis yang komprehensif, serta budaya di mana Rseding akan segera membetulkan PR jika ada yang mengirim kode yang kurang optimal. Bagian yang menarik adalah algoritmenya, dan itu dibahas di Friday Facts
    • Ada sebagian kode sumber Factorio yang diunggah ke GitHub — https://gist.github.com/Rseding91
      Dan https://old.reddit.com/r/factorio/comments/13bsf3s/technical... juga sangat menarik untuk dibaca. Di sana ada hal-hal seperti penggunaan linked list ganda dan pewarisan ganda
    • Factorio punya blog pengembangan yang sangat bagus. Memang tidak menampilkan kodenya, tetapi cukup mendalami tantangan-tantangan yang harus mereka pecahkan
      https://www.factorio.com/blog/
    • Secara naif, saya justru bertanya kebalikannya. Kenapa ini harus ilegal? Kenapa harus murni kerja sukarela? Penggunaan kekayaan intelektual Factorio tampaknya terbatas pada inspirasi visual dan parsing format file, dan bahkan dalam makna hukum pun jelas terlihat sebagai penggunaan transformatif
  • Saya tertawa keras pada bagian “kalau tidak tahu coding, Anda tinggal sambungkan node-node begitu saja, lalu kalau tidak berhasil, sambungkan lebih banyak lagi sampai makin kacau. Sangat mirip dengan game pabrik yang belakangan saya mainkan”
    • Saya juga suka bagian itu. Terutama karena bahkan kalau Anda bisa coding pun, pada akhirnya Anda melakukan hal yang persis sama. Hanya saja beberapa bagiannya jadi tidak terlalu bertele-tele, dan kadang tetap saja penuh spaghetti
    • Itu belum seberapa. LabVIEW bahkan punya skema warna yang mirip!
      https://physics.highpoint.edu/~bbarlow/courses/phy2100/docum...

Oranye, dan pada tampilan ‘GUI’ juga muncul ubin abu-abu

  • Menginstal Factorio 4 kali, dan menghapusnya 3 kali
    Kecepatan awal yang lambat dan grafis 2D isometrik yang agak kurang hidup tidak terlalu cocok buat saya. Tapi tulisan-tulisan blognya menarik dan orang-orang terus memujinya, jadi saat instalasi ke-4 saya memutuskan untuk bertahan dan benar-benar memainkannya sampai agak jauh
    Sekarang saya menilainya sebagai salah satu game terbaik sepanjang masa. Secara teknis game ini luar biasa impresif, dan bahkan markas raksasa yang penuh dengan kereta, belt, robot, inserter, dan sebagainya bisa berjalan di 60FPS. Tidak crash, sangat seru, dan sangat adiktif. Mod-nya juga hebat dan komunitasnya bagus
    Saya benar-benar menantikan ekspansinya. Rasanya aman untuk berasumsi bahwa sejak awal pun hasilnya akan sematang Factorio
    • Maaf sebelumnya karena memperkenalkan sesuatu yang berisiko merusak hidup Anda, tapi saya sangat merekomendasikan Captain of Industry
      Awalnya lebih cepat, membahas proses-proses dunia nyata, ada perubahan medan, dan menurut saya lebih baik daripada Factorio dalam segala hal. Saya menganggap Factorio sebagai game yang mendefinisikan genre ini, dan Satisfactory serta Dyson Sphere Program nyaris melampauinya, tetapi karena sifatnya 3D, teka-tekinya jadi lebih mudah dipecahkan
      Captain of Industry punya dimensi yang lebih banyak, tetapi tetap membuat teka-tekinya sesulit Factorio, dan sumber daya yang harus dikelola juga jauh lebih banyak
    • Jika ingin Factorio dengan grafis keren, coba Satisfactory
    • Satisfactory juga layak dipertimbangkan
  • Tepatnya, ini bukan semacam klien Factorio melainkan alat visualisasi. Tetap saja, ini benar-benar keren
    • Seperti yang disebutkan di artikel, akan sangat menarik melihat apa yang akan diretas dan dibuat oleh para kreator komunitas Factorio berdasarkan ini
      Rasanya bakal muncul semacam sistem pertarungan bergaya Factorio di UE5
      Bayangkan game di mana Anda harus menjalankan dan merawat pabrik. Pada saat yang sama, para pemain PvP first-person shooter berlarian di dalam pabrik sambil bertarung dan terus-menerus merusak jalur suplai, lalu Anda harus memperbaikinya. Anda bisa masuk ke tim perawatan pabrik, atau menjadi pemain PvP yang menyapu bersih musuh sambil sekaligus menghancurkan jalur suplai pabrik tim lawan
  • Ini mengingatkan pada visualisasi 3D yang pernah terlihat di Dwarf Fortress. Sebagiannya dibuat dengan “digambar”, dan sebagian lain mencoba pembaruan secara real-time
  • Wow, membuat model 3D sebanyak itu hanya dalam 5 bulan benar-benar bakat yang luar biasa. Jadi penasaran apakah alat pemodelan 3D zaman sekarang memang sudah sebagus itu
    • Dulu saya pernah memodelkan beberapa mesin Factorio untuk dicetak 3D sebagai hiasan meja, dan masing-masing butuh sekitar 6 jam. Jadi sangat masuk akal membayangkan semuanya bisa diselesaikan dalam beberapa bulan
      Tentu saja, model untuk cetak 3D tidak perlu UV mapping atau texturing yang proper, jadi memang pekerjaan saya jauh lebih mudah
    • “Proses pemodelan ulangnya benar-benar menyenangkan, tapi lain kali mungkin lebih baik meminta model Factorio aslinya demi menjaga sisa kewarasan saya”
      Beberapa alat memang sudah jauh lebih baik. Misalnya Substance 3D untuk texturing sangat membantu, terutama kalau auto UV-nya memberikan hasil yang lumayan. Tapi alat dasar pemodelan 3D itu sendiri pada dasarnya tidak jauh berbeda dari dulu
      Model pada tangkapan layar juga terlihat punya topologi yang rapat, jadi sepertinya jumlah pekerjaannya memang cukup besar
  • Atau main saja Satisfactory di branch Unreal 5 Experimental yang baru
  • Jujur, saya bahkan tidak membaca artikelnya. Tapi kalau ingin tahu seperti apa jadinya pemrograman kalau dijadikan game, mainkan Factorio. Ada refactoring, low coupling, debugging, semuanya ada
    Saya memainkannya seperti orang gila selama 3 minggu lalu harus memaksa diri untuk berhenti. Benar-benar game yang tak tertandingi
  • Kalau benar-benar ingin memainkan game seperti Factorio dalam 3D, saya merekomendasikan Satisfactory
    • Satisfactory juga bisa membuat beberapa hari hilang begitu saja. Game yang benar-benar seru seperti Factorio
    • Atau ada juga Dyson Sphere Program