Bagaimana cara menulis game dalam sebulan tanpa terganggu oleh pekerjaan utama Anda

gambar



MoonGun adalah gim aksi / strategi tentang mempertahankan pangkalan bulan dari asteroid. Game ini dibuat oleh Ivens Serpa - penulis banyak artikel tentang desain game - sebagai bagian dari Github Game Off Game Jam pada November 2020. Dia melakukannya sendiri di waktu luangnya. Gim ini menerima banyak ulasan positif, jadi penciptanya memutuskan untuk berbagi pengalaman perkembangannya: mendeskripsikan keseluruhan proses pembuatan dan berbagi metode yang dia gunakan, termasuk tahapan konsep, perencanaan, pengembangan, dan rilis.



Sebelum beralih ke topik artikel, perlu disebutkan beberapa catatan penting: materi ini lebih banyak tentang desain game daripada sisi teknis pengembangannya. Proyek ini dikembangkan menggunakan Unity 3D (versi 2020.1), yang penulis sudah cukup familiar dan dia telah menulis game lain. Terlepas dari kenyataan bahwa dia mengerjakan proyek itu sendirian, teman-temannya masih membantunya, menguji permainan dan berbagi pemikiran mereka tentang masalah ini. Sebagian besar aset diambil dari Internet (misalnya, dari situs Kenney.nl ), atau dibuat oleh pemodel Kaleo Mendes .





Game jam, tema, dan ide



Game jam adalah kompetisi pengembangan game di mana para peserta mencoba mengembangkan game dari awal dalam waktu singkat - biasanya 24 hingga 72 jam. Pada bulan November, GitHub menyelenggarakan Itch.IO Game Off Game Jam, yang berlangsung sepanjang November. Kemacetan ini biasanya memiliki tema inti yang memandu proses kreatif dari game yang dikembangkan. Pada tahun 2020, topik ini tentang bulan .



Pengembang dapat menafsirkan topik sebebas mungkin, kreativitas adalah kuncinya di sini. Ini juga merupakan salah satu kriteria untuk menentukan peringkat dan memilih pemenang.



Jadi, fase konsep harus dimulai dengan mekanisme permainan brainstorming dan ide-ide yang relevan dengan topik.



Sebagai hasil dari curah pendapat ini, Serpa memiliki tiga konsep utama:



  • , , — , ;
  • , , ;
  • , .


Meskipun ketiga ide tersebut tampak bagus, ada masalah dengan skalanya: sebagian besar fungsi dasar yang mereka butuhkan tidak dapat diterapkan dalam waktu sesingkat itu.



Ide kedua adalah berbasis fisika dan membutuhkan basis kode yang luas untuk membuat permainan terasa realistis. Kelayakan teknis dapat merusak desain dan membuat pembuatan prototipe awal terlalu sulit. Akibatnya, Anda dapat mengambil risiko - dan menghabiskan waktu untuk permainan realistis yang tidak menyenangkan untuk dimainkan.



Sedangkan untuk cerita interaktif, kelayakan teknis dapat diabaikan, tetapi proses kreatifnya tidak. Dengan menerapkan ide ini hanya dalam sebulan, Anda berisiko mendapatkan cerita menarik yang sebenarnya hanya berupa novel visual - tanpa elemen gameplay yang luar biasa.



Selain faktor-faktor ini, masih belum jelas mekanik mana yang lebih baik digunakan di sini - apa yang akan menjadi pendorong utama game ini. Lagipula, lebih baik mulai mengembangkan game dengan prototipe satu mekanik, dan kemudian mengerjakannya sampai Anda mencapai gameplay yang adiktif dan membawa pemain ke garis finish.



Jadi, ide mengumpulkan sumber daya diambil sebagai dasar untuk permainan masa depan. Dan karena hanya mengklik tombol saja sudah cukup membosankan, saya mengambil inspirasi saya Space Invaders , dan konsep permainannya sendiri dirumuskan sebagai berikut:



Pemain mengontrol meriam (turret) yang melindungi pangkalan bulan dari asteroid yang jatuh, serta benda-benda dasar (tambang, laboratorium, dan hanggar) yang mengumpulkan bijih bulan hingga bulan habis (kondisi kemenangan).



Di bawah ini Anda dapat melihat gambar prototipe kerja pertama:



gambar

MoonGun Versi 0.1 - tidak terlalu cantik, tetapi prototipe fungsional





Prototipe dan hipotesis



Untuk menguji hipotesis awal, dibuat prototipe pertama dari game tersebut. Dan karena tidak satu pun dari hipotesis ini yang terkait dengan grafik atau kinerja, visualnya, seperti yang Anda lihat pada gambar di atas, jauh dari yang paling mengesankan.



Versi singkat dari hipotesis ini terdengar seperti ini:



  1. Apakah menembak asteroid yang jatuh menarik atau mengasyikkan?
  2. Dapatkah Anda menyimulasikan permukaan bulan dengan bola 3D besar?
  3. Haruskah saya mengontrol pistol menggunakan keyboard atau mouse?


Ada juga beberapa hipotesis teknis yang akan diuji, sebagian besar terkait dengan rilis game sebagai perakitan WebGL menggunakan Unity . Karena pandemi, masuk akal untuk menghosting game langsung di Itch.io untuk memfasilitasi pengujian dan distribusi versi. Kekhawatirannya adalah berapa lama waktu yang dibutuhkan untuk menjalani seluruh siklus uji coba build-deploy di platform Itch.io (dalam jam atau menit), lalu kualitas grafis apa yang dapat dicapai sehingga frame rate yang dapat diterima dipertahankan saat meluncurkan game di browser.



Prototipe pertama sangat sukses. Bukan berarti semua hipotesis dikonfirmasi, tetapi mereka semua menerima penilaian mereka, dan inilah tujuan sebenarnya dari pembuatan prototipe. Versi pertama dari gim ini telah diposting di situs web pada tanggal 3 November. Siklus build-deploy-test memakan waktu sekitar 15 menit, yang ternyata merupakan kejutan yang menyenangkan.



Karena idenya tampak cukup menjanjikan untuk terus mengerjakannya, beberapa seni konsep dilakukan tepat di atas tangkapan layar untuk segera melihat semacam perkiraan seperti apa versi terakhir dari gim ini. Yang terakhir membuatnya lebih mudah untuk menampilkan ide kepada orang lain untuk mendapatkan umpan balik.



gambar

Seni konsep untuk game berdasarkan screenshot prototipe



Pada tanggal 14 November, versi yang sudah lebih stabil dirilis dengan grafis yang lebih ketat, skybox yang layak, dan pasca-pemrosesan yang baik. Sebagian besar waktu yang kami habiskan untuk mengerjakan pembaruan dihabiskan untuk mengerjakan aspek-aspek yang dicatat dalam ulasan dan meningkatkan grafik untuk mengukur seberapa efisien pembuatan WebGL.



Pada saat itu, gagasan yang lebih jelas tentang tujuan turret dan struktur bulan telah berkembang. Menara akan menghasilkan sumber daya asteroid dengan menjatuhkannya dengan tembakan meriam. Tugas tambang adalah menghasilkan mineral secara pasif (ini membutuhkan asteroid). Hanggar dibutuhkan untuk memperbaiki turret (menggunakan mineral). Laboratorium harus membantu mengarahkan pemain menuju kemenangan (penipisan bulan) menggunakan kedua sumber daya: asteroid dan mineral.



Tangkapan layar dari versi ini ( Struktur bulan V0.4 ) dapat dilihat di bawah ini:



gambar





Tolok ukur, rilis stabil, dan gameplay



Selama pengembangan versi 0.1 hingga 0.4, sebagian besar tes dilakukan secara mandiri atau dengan bantuan teman dekat. Tetapi dimulai dengan versi 0.4, promosi game yang lebih aktif untuk pengujian dimulai.



Versi 0.4 dirilis di Itch.io dengan semua fungsi utama gim - yaitu, yang disebut versi stabil: memiliki semua fungsi yang diperlukan untuk menyelesaikan gim, dan sudah bisa melibatkan pemain sepenuhnya.



gambar



Umpan balik yang kami terima selama pengujian sangat membantu dalam lebih meningkatkan permainan. Kontrol telah diubah dari keyboard ke mouse, efek visual juga telah diubah. Versi WebGL kemudian disetel ke setelan tertinggi, karena sebagian besar gamer memiliki frekuensi gambar di atas 60 FPS - dengan pengecualian satu penguji yang mencoba menjalankannya di Chromebook.



Selain itu, kini semakin jelas bahwa orang-orang sangat menikmati game tersebut. Bahkan ada satu penguji yang meminta lebih banyak pembaruan dan lebih banyak tindakan. Ini berarti bahwa seseorang secara aktif memainkan game tersebut hingga (saat ini) berakhir!



Versi "Lunar Structures" telah menerapkan seluruh siklus permainan utama, seperti yang ditunjukkan pada diagram di bawah ini:



gambar



Seperti yang disebutkan sebelumnya, gim ini didasarkan pada kumpulan dua sumber daya utama: asteroid, dikumpulkan dengan menghancurkannya menggunakan menara, dan mineral, yang dikumpulkan secara otomatis dari tambang dari waktu ke waktu. Menara dan ranjau dapat ditingkatkan menggunakan sumber daya yang berlawanan (mineral untuk menara, asteroid untuk ranjau). Penggunaan sumber daya yang berlawanan menghindari putaran umpan balik positif yang kuat dalam ekonomi permainan: ketika mekanisme ditingkatkan dengan sumber daya yang mereka hasilkan.





Mekanika yang kompleks atau tambahan tidak (selalu) dibutuhkan



Pada diagram di atas, istilah " Main Quest " digunakan untuk merujuk pada tujuan utama game . Itu diimplementasikan sebagai tombol sederhana yang menghabiskan sumber daya yang diminta. Untuk menang, pemain harus menghabiskan lebih banyak sumber daya sampai bulan benar-benar habis.



Mekanika kemenangan dirancang untuk mencapai jumlah yang besar secara sewenang-wenang, yang mengaktifkan kondisi "menang" dan pemain diberikan status pemenang. Setelah bulan menipis, tambang akan berhenti menghasilkan mineral, dan itulah akhir dari permainan.



gambar

Varian dari Main Quest (Mineral laser) di fasilitas Laboratorium



Kesimpulan apa yang bisa diambil dari ini? Anda tidak selalu perlu membuat permainan Anda lebih sulit(misalnya, menambahkan lebih banyak mekanik) untuk memberikan kondisi kemenangan atau membuat permainan menjadi lebih baik. Untuk MoonGun, karena pemain sudah menikmatinya, tidak perlu menghabiskan lebih banyak waktu untuk mengembangkan mekanik baru hanya untuk kondisi kemenangan - bisa diformulasikan menggunakan mekanik inti.



Ingat juga bahwa game harus diselesaikan dalam waktu satu bulan, jadi lebih sedikit penerapan di sini berarti lebih banyak waktu untuk memoles dan meningkatkan game.





Tembakan! Keseimbangan dan keadilan game



Sesuai dengan saran penguji, elemen tambahan mulai diperkenalkan ke dalam game, yang tidak secara khusus memperluas mekanisme utama dan putaran game. Ide pertama di sini adalah untuk memperluas kemampuan pemain dengan menambahkan senjata tambahan ke turret - laser.



gambar

MoonGun Versi 0.7 - Laser



Laser ini diterima dengan hangat oleh para penguji dan menambahkan tingkat kebebasan ekstra ke dalam game. Namun, itu juga mengganggu kestabilan kekuatan yang dirasakan pemain. Karena jarak dan durasi laser yang lebih lama, meriam konvensional sekarang tampak lemah. Itu perlu untuk menyeimbangkan proses peningkatan kedua jenis senjata itu.



Jadi, di beberapa titik saat permainan berlangsung, meriam akan menerima lebih banyak peningkatan dan melampaui laser. Kemudian laser akan menerima peningkatannya sendiri dan mendapatkan kembali kepemimpinannya. Pertukaran senjata pilihan bolak-balik ini meningkatkan dinamika gameplay.



Pada saat yang sama, pilihan senjata masih tergantung pada pemain. Gim ini tidak mengganggu penggunaan senjata apa pun yang disajikan di dalamnya.



Menyeimbangkan itu sulit. Oleh karena itu, tujuan utamanya di sini adalah untuk mencapai gameplay yang adil - yang akan menyenangkan dan mengasyikkan, tetapi belum tentu seimbang.





Pencarian bulan



Faktanya, laser ditambahkan di versi 0.5. Namun, implementasinya yang lebih stabil hanya diperkenalkan di versi 0.7 yang disebut Lunar Quests, yang juga mencakup:



  1. ;
  2. ;
  3. ( SHIFT);
  4. / ;
  5. ;
  6. ( , );
  7. .


gambar



Harap dicatat bahwa dua poin terkait dengan peningkatan tampilan game (1 dan 2), dua - dengan menambahkan / mengubah kontrol (3 dan 4), dua lagi - dengan elemen game tambahan (5 dan 6). Satu ditujukan untuk analisis dan debugging. Pembagian ini benar-benar disengaja.



Mengingat waktu pengembangan yang terbatas yang diperlukan, beban kerja Anda perlu diseimbangkan di banyak area yang memerlukan peningkatan.



Versi Lunar Quests lebih lengkap dan memungkinkan pemain untuk bereksperimen dengan game serta berinteraksi dengan lebih banyak kontrol. Ini membantu untuk melihat apa yang berhasil dengan baik dalam permainan (seperti asteroid dan variabilitas senjata) dan apa yang hilang.



Di saat yang sama, semakin banyak komentar mulai berdatangan terkait kurangnya penjelasan dan konteks game. Sampai saat ini, itu hanya permainan arcade tanpa tujuan yang jelas. Saatnya menambahkan beberapa elemen naratif ke dalamnya.





Perkenalkan Titan dan Bulan S / 2009 S1



Di awal permainan, sebuah petunjuk kecil muncul yang menghubungkan skenario, motivasi pemain dan kondisi kemenangan. Terlihat seperti ini:



Moon S / 2009 S1 penuh dengan mineral yang kaya - phlebotium, dan Anda, sebagai pemain, bertanggung jawab untuk melindungi fasilitas stasiun selama ekstraksi. Pangkalannya ditutupi bidang yang dapat melindunginya dari asteroid redup. Namun, saat penambangan berlangsung, inti Bulan menjadi lebih berat, menarik asteroid yang lebih cepat dan lebih berbahaya yang dapat merusak perisai dan mengganggu operasi di fasilitas tersebut.



Untuk membantu narasi, Titan diperkenalkan ke dalam gim - robot yang pertama kali memperkenalkan pemain pada jalannya urusan, dan kemudian bertindak sebagai pemandu di sepanjang jalannya plot. Titan disusun, dimodelkan, dan dianimasikan oleh Caleo Mendes, yang juga merancang UI game.



Gambar di bawah menunjukkan versi pertama perkenalan dengan Titan, UI baru dan - di latar belakang - perisai yang menutupi seluruh Bulan.



gambar



Versi V0.8, Lunar Menu, dirilis pada 26 November - hanya beberapa hari sebelum tenggat waktu. Ini termasuk pengerjaan ulang UI yang signifikan serta informasi tentang perisai.



gambar



Selain itu, ada peningkatan lain dalam game ini: efeknya diubah, dan sekarang pemain lebih mudah beralih antar senjata dengan mengklik kanan mouse. Selain itu, antarmuka reload senjata telah diubah: turret sekarang menampilkan informasi tentang kedua senjata sekaligus. Ini memungkinkan pemain untuk menggunakannya dengan lebih bijaksana, beralih dari satu ke yang lain ketika salah satu dari mereka sedang dalam cooldown.



Goyangan kamera juga telah ditingkatkan untuk meningkatkan rasa kekuatan kedua senjata, dan efek penghancuran asteroid telah diubah lagi. Perhatikan bahwa sebagian besar perubahan ini dilakukan untuk meningkatkan rilis game yang stabil, dan sangat sedikit perubahan signifikan yang dibuat langsung ke loop gameplay utama.





Versi terakhir dan masalahnya



Versi terakhir V1.0a MoonGun dirilis pada 29 November. Itu menerapkan semua fitur kerja, bahkan lebih banyak penyesuaian dan pengalaman yang lebih seimbang untuk pencarian utama. Asteroid ringan ditambahkan di menit-menit pertama permainan dan lebih mematikan untuk tahap-tahap selanjutnya. Sudah ada semua efek suara dan musik untuk menciptakan suasana dan pengalaman bermain yang lengkap.



Gim ini juga menerapkan beberapa kontrol pengaturan seperti penggeser audio dan musik, serta penggeser untuk mengontrol efek kecerahan - seperti yang dengan cerdik disebutkan oleh salah satu penguji. Dan menambahkan peringatan layar pemuatan yang memberi tahu pemain tentang efek pencahayaan yang kuat dalam game.



gambar

MoonGun versi 1.0a





Umpan balik dan perbaikan (masa depan)



Meskipun permainan menerima umpan balik yang sangat bagus, masih tidak ada waktu untuk memperbaiki beberapa masalah. Hal terpenting di sini adalah bahwa gim ini tidak memiliki akhir yang jelas: Anda tidak dapat memainkannya. Jika banyak asteroid jatuh di bulan, tambang akan berhenti bekerja sampai Anda memperbaiki perisai dengan menghabiskan asteroid yang terkumpul, tetapi pangkalan tidak akan pernah runtuh.



Permainan itu seharusnya mudah dan tidak menghukum pemain saat mereka belajar memainkannya. Dan karena itu didasarkan pada kemajuan yang berkelanjutan, tampaknya terlalu mendemotivasi untuk membiarkan pemain kehilangan segalanya karena gagal mempertahankan pangkalan. Dilihat dari ulasannya, mungkin aspek ini seharusnya direvisi dan dipikirkan solusi lain.



Juga, tidak ada akhir sinematik dalam game ini. Setelah menyelesaikan main quest terakhir, Titan muncul dan menyiarkan pesan terakhir, namun setelah itu pemain bisa melanjutkan permainan selama yang mereka inginkan. Beberapa penguji sangat kecewa sehingga mereka bahkan menulisnya di halaman game.



Selain itu, ternyata banyak pemain yang melewatkan bagian perkenalan dan mulai memainkan game tersebut tanpa memahami konteks dan motivasinya. Di sini, juga, Anda dapat memikirkan sesuatu sehingga hal ini jarang terjadi.



gambar





Proses dalam retrospeksi



MoonGun pasti tidak akan menjadi hit indie berikutnya, tapi tidak pernah direncanakan. Sebaliknya, itu adalah pengalaman membuat game yang sangat positif dan memiliki banyak pelajaran untuk dipetik. Selain itu, hasilnya memang produk jadi. Terlepas dari kenyataan bahwa gim ini tidak memiliki kesulitan, gim ini mendapat sambutan hangat dari orang-orang, terutama di luar lingkaran teman dan keluarga penulis. Dan untuk proyek semacam itu, ini sudah sukses.



Alur kerja didasarkan pada berikut ini: mencapai versi game yang stabil dengan cepat, lalu menyempurnakannya. Melihat kembali perkembangan dalam 4-5 minggu ini, langkah-langkah utamanya dapat dijabarkan sebagai berikut:



  1. Konsep dan prototipe mekanisme utama;
  2. Meningkatkan pengalaman dan menciptakan game yang stabil;
  3. Pengujian menyeluruh dan implementasi umpan balik;
  4. Pengembangan mekanika, mendongeng, ekonomi dan estetika;
  5. Poles.


Karena penulis tidak dapat (dan tidak ingin) keluar dari pekerjaan saat ini untuk mengabdikan dirinya sepenuhnya pada bisnis ini, pengembangan harus dikerjakan hingga larut malam dan pada akhir pekan. Salah satu metode yang banyak membantu dalam hal ini adalah menyimpan pelacak masalah yang teridentifikasi dalam repositori tempat semua pekerjaan yang perlu dilakukan dapat dimasukkan . Ini membantu untuk segera kembali mengerjakan proyek setelah beberapa saat dan mencari tahu di mana Anda terakhir tinggalkan.



Selain itu, penulis selalu berusaha untuk mengikuti jalan yang lebih sedikit. Ini tidak berarti menulis kode malas atau mencari solusi yang buruk (kode sumber tersedia di sini) - ini berarti menguji pendekatan sederhana terlebih dahulu sebelum melanjutkan ke implementasi atau pemfaktoran ulang yang lebih besar.



Selain itu, jangan mengabaikan alat canggih dari Unity dan penyimpanan aset untuk mempercepat proses pengembangan. Dalam hal ini, DOTween , LeanPool dan Cinemachine adalah yang paling berguna .





Pasca-pemrosesan (keajaiban yang pantas Anda dapatkan)



Menambahkan lapisan efek pasca-pemrosesan membantu menciptakan suasana yang tepat dalam game dan menciptakan tampilan yang unik. Gambar di bawah menunjukkan perbandingan adegan yang sama dengan dan tanpa pasca-pemrosesan: Game tanpa pasca-pemrosesan (di PlayStation asli) dan dengan pasca-pemrosesan (di PC) Secara khusus, efek berikut digunakan:



gambar









  1. Lift Gamma Gain : peningkatan pencahayaan;
  2. Distorsi Lensa : gambar seolah-olah melewati kamera nyata;
  3. Penyimpangan kromatik : untuk menciptakan suasana "distorsi kosmik";
  4. Butir film : tambahkan noise dan dinamika ke adegan;
  5. Depth of Field : Mengaburkan objek di luar fokus untuk menambahkan realisme ke gambar;
  6. Vinyet : menggelapkan bagian tepi sehingga pemutar berfokus pada bagian tengah gambar;
  7. Bloom : untuk membuat cahaya tampak ajaib!


Di sini Anda dapat melihat bagaimana efek ini tumpang tindih:



gambar





Bukan sebuah kesimpulan



Setiap perancang dan pengembang game dapat membuktikan: membuat game itu menantang, tetapi tetap menginspirasi. Setiap penguji baru yang kembali dengan ulasan positif memberi Anda energi dan mendorong dorongan untuk menyelesaikan proyek.



Terlebih lagi, pengalaman dengan Unity 3D akan membantu Anda beralih dari prototipe ke produksi lebih cepat dalam waktu yang relatif singkat. Selama pengembangan MoonGun, berbagai teknik pembuatan prototipe cepat digunakan untuk Unity 3D menggunakan alat seperti Unity Events , Scriptable Objects , dan pernyataan LINQ . Sebagian besar konten dilakukan menggunakan Unity Shader Graph dan Varian Prefab .



Namun, game ini hampir tidak mungkin dibuat tanpa rencana dan strategi yang jelas. Oleh karena itu, perlu diulangi sekali lagi bahwa penting untuk terlebih dahulu mematuhi mekanisme sederhana, dan kemudian mengembangkan game berdasarkan mekanisme tersebut.



All Articles