Siapa yang tak kenal Spiderman, si manusia laba-laba. Siapa pula yang tak tahu Superman, si manusia super kuat yang punya sayap. Spiderman merupakan salah satu superhero milik Marvel, sedangkan Superman milik DC Comics. Keduanya adalah superhero. Mereka berasal dari semesta yang berbeda. Misi mereka sama: menyelamatkan dunia. But, have you ever wondered if Spidey meets the Man of Steel?
Meskipun Spiderman dan Superman adalah superhero, namun hal itu tak menjamin mereka akan terhindar dari sebuah pertempuran. Loh, kok bisa?
This is why.
Ya, universe mereka memang berbeda. Pertemuan keduanya ternyata memunculkan konflik. Saling mengakui diri sendiri adalah superhero yang asli dan lawannya adalah palsu, perdebatan ini memicu pertempuran yang tidak kita inginkan!
Ladies and gentlemen, here we introduce to you: Marvel vs DC Comics! A turn-based strategy game. Player vs computer.
Marvel vs DC Comics. © CRAW, 2017
Begitulah kira-kira bagaimana aku dan tim mempresentasikan game itu sebagai tugas akhir mata kuliah Grafika Komputer dan Animasi. Kalau kamu cari di internet atau di app store manapun, game ini nggak beneran ada. Hahaha. Kali ini, aku pengen share tentang pembuatan game ini. Tujuannya supaya aku bisa ingat kembali perjuangan berharga ini dan cara pake Blender. Tbh, aku excited banget dengan project ini! Meskipun hasil akhirnya belum se-pro game-game besar, tapi sebagai pemula ini sangat membahagiakan dan membanggakan.
CRAW, terdiri dari Christine Liviani, Ronald William Marbun, Andy Santoso, dan Willy Eka Surya. Fyi, Ronald dan Willy udah pernah kerja satu tim bareng aku waktu ikutan lomba CSIC tahun 2015. Aku juga pernah share loh ceritanya, di Kemenangan Menantang I dan II. Hehehe.
Back to this project.
Film superhero, baik keluaran Marvel maupun DC Comics, selalu berhasil menyita perhatian publik. Antrian mengular menghiasi hari-hari penayangannya. Nah, karena lagi trending kala itu, akhirnya ide bikin game ini pun keluar. Kami diharuskan untuk propose 3 ide dulu, sebelum akhirnya ide game ini di-accept oleh ibu dosen cantik, Ibu Alethea. Pencetusan ide ini juga dibantu oleh sesepuh, Ko Hansen dan Ko Eka. Thanks, bro!
***
Karena ini mata kuliah GKA, jadi kami harus mengaplikasikan materi-materi yang udah diajarin selama satu semester. Game ini dibangun pake Visual Studio. Game harus memiliki aset 3D dan 2D, serta animasinya. Untuk model 3D yang kami butuhkan (Spiderman dan Superman) diambil dari models-resource.com. Sedangkan yang 2D, ada yang bikin sendiri, ada yang ambil dari internet lalu dipermak-permak lagi.
Selain model, aset 3D yang juga harus ada adalah latar tempat si superhero bertarung. Kami juga memerlukan aset berupa bar, icon untuk superhero, font, background, hingga musik pengiring.
Yang penting dan terutama harus ada paling duluan adalah merancang game logic. Game ini cara mainnya gimana, goal-nya apa, gimana bisa game over, dan seterusnya. Mock up juga penting sih di awal supaya ada gambaran tiap scene dan posisi aset-asetnya di mana aja.
Totally, waktu yang terpakai itu sekitar 30 hari (dari proposal sampai dengan presentasi).
Ada 2 proses (kesulitan) yang bikin lama: ngasih gerakan ke Spidey dan Man of Steel, dan nge-setting supaya battle-nya kelihatan lebih “real”.
Tentang kesulitan pertama. Model 3D yang kami dapetin itu belum punya kerangka tulang. Jadi, harus pake Blender (bukan blender buat ngejus ya 😆) untuk pasangin semua tulang-tulangnya. Awal mula pakenya, susaaaah banget karena belum terbiasa! Harus nonton tutorial dulu berhari-hari, sambil meneror Ko Hansen dan Ko Febrian. Tapi sebenarnya kalo udah paham, caranya itu simpel sih, ngga susah banget. Hehehe. Dan, aku berterima kasih sih dengan project ini, karena gara-gara inilah akhirnya aku beli mouse. Hahaha.
Tentang kesulitan kedua. Ngga mungkin kan Spiderman diam di tempat sambil nyerang sementara jaraknya nun jauh dengan Superman. Ngga mungkin kan kalo udah diserang nyawanya ga berkurang. Karena ini turn-based, ngga boleh dong Superman nyerang Spiderman di kala gilirannya Spiderman. Hal-hal semacam itu butuh energi ekstra buat ngodingnya.
Sebenarnya aku dan tim udah di-warn sama Ko Hansen kalo ini nggak akan mudah. Terlebih, Blender itu nggak diajarin sama sekali loh. Tapi, kami berhasil menerobos itu semua! 👏👏👏
Paling pertama, KERJASAMA TIM! Trust me, itu penting. Fondasi dari kerjasama tim adalah kepercayaan. Percaya dengan teman setim. Dengan saling percaya, maka bisa terhindar dari saling menyalahkan.
Saling mengingatkan dan menyemangati juga diperlukan loh. Ada kalanya Ronald vakum dari ngoding dulu karena capek sehabis ngerjain tugas yang lain. Ada juga kalanya aku harus ngurusin kepanitiaan dan organisasi dulu. Begitu pula dengan Andy kadang ngga bisa stay di depan monitor komputer untuk waktu yang lama. Juga Willy punya kesibukan di luar kampus. Kami semua juga punya tugas akhir masing-masing di mata kuliah yang berbeda. Saling mengingatkan agar semua bisa fokus lagi ke GKA. Saling menyemangati supaya project bisa menghasilkan nilai sempurna.
Terdengar klise? Percayalah, mempertahankan itu yang sulit. Makanya, adanya kerjasama tim bisa bikin perjuangan terasa lebih seru. Saling dan saling. :)
Lalu, jangan mudah patah semangat! Segalanya bisa dipelajari kok, asal ada niat. Doa juga penting, gengs. Tak ketinggalan, jangan malu bertanya pada yang udah berpengalaman!
Seiring berjalannya waktu, kemampuan cara pake Blender, ngasih pose, convert ini itu, ngoding yang efisien, dan lainnya bisa didapetin dengan rasa ingin tahu dan belajar mandiri. Apalagi kalo udah nyaman dengan teman kerja, pasti lebih memacu semangat!
Struktur bone. Source: docs.blender.org
Oke. Aku mulai pasang di bagian kepala dan leher dulu, lalu tulang belakang, bahu dan tangan, hingga paha dan kaki. Itu semua dipasangin satu-satu dan saling menyambung. Bener-bener ibarat kerangka tulangnya manusia dah. Pastikan tulang-tulangnya berada di dalam tubuh model ya!
Sebelum lanjut, istilah mesh bakal sering kepake selanjutnya. Apaan tuh mesh? Dikutip dari slide materi kuliahku, mesh merupakan suatu file yang mengandung seluruh informasi mengenai suatu model 3D. Mesh berekstensi .x. Tekstur, animasi, indeks, ada di dalam mesh.
Blender sendiri mempunyai beberapa mode, sesuai dengan kebutuhkan. Mau kasih tulang untuk pertama kalinya, pastiin dulu ada di Object Mode. Klik Add > Armatures > Single Bone. Tulangnya akan muncul di posisi center point (lingkaran dengan garis warna hitam dan merah di luar, bisa dipindahin dengan klik kanan mouse). Tinggal digeser aja, dalam koordinat X, Y, dan/atau Z. Oh ya, beri ceklis pada X-Ray di bagian Display (di Properties sebelah kanan, klik Armature, lalu scroll ke bawah cari Display) supaya kita tetap bisa lihat tulangnya meskipun udah di dalam tubuh.
Edit Mode, seperti namanya, buat edit. Edit Mode ini unik, orientasinya akan beda sesuai dengan objek yang diklik. Kalo model yang diklik, akan terlihat vertex pembentuk mesh-nya. Buat apa lihat vertex? Model yang disediakan itu, pada beberapa bagian, enggak nyambung. Jadi harus disambungin sendiri, supaya ketika digerakin, semua bagian ikutan gerak (enggak patah). Kalo tulang yang diklik, di sini kita bisa tambahin tulang lainnya dan mengatur ukuran tulang.
Lalu, kalo mau lihat pose model, itu pake Pose Mode. Catatan penting: Pose Mode hanya bakal muncul kalo tulangnya diklik! Jangan lupa buat tampilin timeline-nya di bagian Editor Type, diubah jadi Dope Sheet. Sepanjang proses pengerjaannya, aku cuma pake tiga mode itu. Detailnya, bisa lihat di bagian Screenshot.
Kita juga bisa pilih mau lihat modelnya dalam Viewport Shading wireframe (garis-garis), solid (satu warna, penuh), texture (bareng ama tekstur mesh), dan sebagainya. Aku prefer solid sih.
Penting loh untuk eksplor Blender dulu biar terbiasa.
Dan emang bener, ternyata ga susah kok kalo udah terbiasa. Catatan penting: harus pake mouse! Bikin pose buat si model ini cukup lama pengerjaannya karena menggerakkan hampir seluruh bagian tubuh. Jadi aku harus memastikan bahwa posenya terlihat “real”. Tips: peragakan sendiri posenya dengan tubuh lalu rasakan bagian tubuh mana saja yang perlu digerakkan.
Di bawah ini aku kasih screenshot waktu pengerjaannya. Itu udah ditambahin animasi gerakan sih. Di situ, ada garis warna hitam di tubuh si model. Itu tulang-tulang yang aku maksud. Bukan cuma tubuh, properti lain milik model juga perlu dikasih tulang. Itu tuh, sayapnya Superman dikasih tulang supaya bisa bergerak seolah kena angin, jadi nggak kaku.
Belah ketupat di bagian bawah itu adalah keyframe. Penanda perubahan posisi maupun ukuran.
Screenshot
Paling ribet itu ketika harus pasangin tulang di jari-jari tangan. Soalnya, kan aneh kalo Spiderman keluarin jaring-jaringnya dengan tangan terbuka. Begitu pula dengan si Superman, nggak ada kan si manusia super itu terbang dengan tangan terbuka (ntar malah jadi Ultraman dong). Kalo tulang yang dipasang belum pas dengan setiap ruas jari tangan, hasilnya… bisa jadi aneh waktu dikepal.
Si model dikasih tulang supaya bisa digerakin dan membentuk pose yang diinginkan. Nah untuk lebih lengkapnya, kamu bisa nonton tutorial di Youtube ya. Ada banyak kok.
***
Hehehe. Ceritanya nih, awalnya tuh pengen buat lebih dari itu. Tapi, ada baiknya kami fokus ke satu karakter untuk setiap universe dulu. Spiderman untuk Marvel, Superman untuk DC Comics. Nantinya kalo udah jadi dan oke, trus masih ada waktu lagi, karakter lain tinggal ditambahin. Sayangnya, nantinya enggak kesampean sampai tibalah waktu pengumpulan tugas.
Karena udah bisa memprediksi sejak hari minus sekian bahwa ini ga bakalan kesampean, maka kami memutuskan untuk menyempurnakan elemen lain. Misalnya, yang tadinya skill setiap karakter cuman dikit, jadinya ditambahin dan dipermanis lagi dengan deskripsi dari masing-masing skill. Yang tadinya tombol navigasi masih ada bugs, jadinya di-handle supaya lebih sempurna.
Pelaksanaan itu masih bisa berubah dari perencanaan awal. Yang penting, selalu siap terhadap perubahan. Jangan memaksakan diri. Gapapa kok ada perubahan, asalkan tidak lari dari tema utamanya. Fokus supaya hasilnya maksimal. 👌
Thanks to: - Ronald, Andy, Willy, - Para kakak angkatan atas yang rela diteror, (dari paling tua) Julio, Eka, Febrian, Hansen, - Ibu dosen, Ibu Alethea, - Dan temen-temen yang bersedia berbagi ilmu, - Juga buat yang telah datang menyaksikan presentasi CRAW!
🥂