Pengembangan, optimisasi, dan rilis game Synthety di Unity

gambar

Hari baik untuk semua Akhirnya, permainan seluler saya Synthety dirilis. Habr sering menabung dengan saran dan bantuan, dan saya memutuskan untuk membagikan pengalaman pengembangan saya dari awal, menyimpulkan jalan yang telah dilakukan.

Sedikit tentang segalanya.

Synthety adalah game petualangan pencarian. Tujuan permainan ini adalah untuk menemukan jalan keluar dari lokasi saat ini ke yang berikutnya. Untuk melakukan ini, Anda perlu berkomunikasi dengan karakter, berinteraksi dengan objek di sekitarnya, menyelesaikan teka-teki dan banyak lagi. Dari awal pengembangan hingga perilisan game, mereka terbang selama sekitar enam bulan. Game ini dikembangkan di mesin Unity di C #. Dalam posting ini saya ingin berbagi tips dan trik dalam pengembangan dan rilis game.

Kandungan


  1. Pengembangan dan optimalisasi.
  2. Google rilis dan pemasukan pendapatan.
  3. Tindakan selanjutnya.

1. Pengembangan dan optimalisasi


Saya membagi game seluler menjadi 4 kategori. Game pembunuh waktu, game sosial, mmorpg (yah, bagaimanapun, mereka menyebut diri mereka seperti itu) dan game atmosfer. Saya memilih genre game atmosfer, yang paling dekat dengan seni, dan saya menganggap game sebagai bagian dari seni. Anda dapat membuat game dari genre ini dengan cara yang berbeda, saya pribadi memilih kondisi dasar berikut untuk membuat game untuk saya sendiri: rasa dunia yang hidup, karakter dan plot. Ini membutuhkan grafik atmosfer, desain tingkat rumit dan interaktivitas dengan objek-objek dunia, dan semua ini mempengaruhi optimalisasi permainan.

1.1 Optimasi Game


Tidak seperti hypercools dengan visual sederhana dan sejumlah kecil objek di atas panggung, tetapi sejumlah besar level (sekitar 200-400), dalam permainan saya penekanannya bukan pada jumlah level, tetapi pada kualitas. Tetapi kualitas membutuhkan pengoptimalan. Alat optimisasi utama yang saya gunakan di Unity:

  • Pemetaan cahaya
  • Penyisihan Culling
  • Mesh Baker
  • Pengoptimalan lainnya.

1.1.1 Pemetaan Cahaya

Ada banyak posting tentang pencahayaan kue di Internet, tetapi saya belum melihat nilai spesifik untuk parameter memanggang yang setidaknya akan menjadi titik awal pengaturan. Oleh karena itu, saya melampirkan layar parameter saya, yang diuji pada tiga mesin (MacBook pro, Dell G17, dan komputer desktop).

gambar

Hasil memanggang kurang lebih sama di mana-mana. Sebagai contoh memanggang berdasarkan pengaturan ini:

gambar

Faktanya, dari sini Anda dapat mengonfigurasi memanggang adegan Anda dengan mengubah hanya tiga parameter untuk mencapai tujuan Anda:

  • Resolusi Lightmap (kualitas lebih baik, tetapi ukuran tekstur kue lebih besar);
  • Kontribusi langsung dan tidak langsung (dari mana sumber cahaya akan ada lebih banyak pengaruh dari Directional atau semua sumber cahaya tidak langsung seperti PointLight atau SpotLight);
  • Intensitas tidak langsung (intensitas Cahaya Lingkungan pada khususnya, bahkan jika Anda memiliki Gradien, itu masih hanya memperhitungkan Warna Langit, itu adalah warna Sekitar, jika parameter Warna diatur)

1.1.2 Penyisihan Culling

Semuanya cukup sederhana di sini. Tujuan utama alat ini adalah untuk mengurangi jumlah tris di layar, parameter Unity standar sudah cukup. Penurunan Ocluder Terkecil dan Lubang Terkecil akan menyebabkan peningkatan ukuran data, tetapi tidak ada pengurangan trice yang signifikan yang diamati. Tip: jika Anda menggunakan kamera ortografi, konfigurasikan Kliping Pesawat sehingga objek-objek yang harus ditampilkan, dan bukan yang bahkan tidak terlihat, masuk ke kamera.

1.1.3 MeshBaker Bakes

memodelkan dalam batch sekaligus, mengurangi Drawcalls dengan sempurna. Ada alat gratis yang bagus. .

Anda dapat memanggang model dalam batch 64k tris (pemukulan statis melebihi 64k tris) Namun, saya pribadi menganjurkan menggunakan alat Unity murni asli untuk mengurangi risiko kegagalan aplikasi pada model ponsel tertentu.

1.1.4 Optimalisasi lainnya

Saya tidak merekomendasikan menggunakan shader standar untuk perangkat seluler. Secara khusus, saya sarankan menggunakan bahan dengan shader difus pada objek visibilitas sekunder. Secara umum, saya pikir shader ToonyShader cukup murah, tetapi dapat diterima dari segi visual.

Jangan gunakan sinkronisasi vertikal (Vsync), gunakan sebaliknya

Application.targetFrameRate=300;

Pembakaran hanya bekerja pada objek statis (Statis), dan saya menyarankan agar semua objek dinamis diterangi dengan sumber cahaya Directional (atau beberapa, tetapi membagi Culling Mask ke dalam setiap kelompok objek sehingga setiap objek memiliki sumber cahaya tunggal sendiri). Dan juga menggunakan Proyektor bayangan palsu. Jangan gunakan lampu Spot and Point secara real time. Untuk mengubah pencahayaan pada objek dinamis di area objek yang dipanggang, gunakan Probe Cahaya. (Panggang dengan pencahayaan).

gambar

gambar

2. Lepaskan


Cara mempublikasikan aplikasi di Google Play telah ditulis di banyak tempat, khususnya
habr.com/en/company/livetyping/blog/326874

Tidak ada yang mengerikan dan rumit dan setiap langkah dikontrol dan jika ada sesuatu yang dilakukan salah, kesalahan dihasilkan dengan penjelasan tentang apa yang telah dilakukan salah (dan terlebih lagi, setiap item memiliki tautan ke sertifikat).

Saya seorang pengembang dari Belarus di Minsk. Di Belarus, satu-satunya cara untuk menerima pembayaran dari Google Play adalah melalui transfer bank. Anda harus pergi ke komite eksekutif kota setempat dengan aplikasi pendaftaran seorang pengusaha perorangan (Anda dapat menemukan formulir di situs web komite eksekutif kota, karena mereka tidak diharuskan memberikannya kepada Anda, mengisinya sendiri sebelum perjalanan). Di sana pada hari yang sama Anda akan diberikan sertifikat dengan UNP. Anda memerlukan nomor rekening pembayar ini untuk membuka rekening bank di seorang pengusaha perorangan (dalam 20 hari, saya sarankan Anda untuk datang ke kantor pajak dan mengajukan permohonan sistem perpajakan yang disederhanakan). Dengan demikian, maka Anda perlu menghubungi bank (yang termurah dalam pemeliharaan adalah BPS Sberbank dan Belgazprombank), menyatakan bahwa Anda ingin membuka rekening giro dalam mata uang asing dan mata uang nasional pada IP. Manajer akan memberi tahu Anda tanggal ketika Anda perlu datang dan menandatangani, dan pada hari yang sama Anda akan diberikan rincian akun.Rincian ini diisi oleh Google di akun pengembang di "Pengaturan" / Pengaturan pembayaran / Metode menghasilkan pendapatan.

3. Tindakan lebih lanjut


Setelah rilis, game atau aplikasi Anda akan muncul dalam daftar besar aplikasi yang sama di Google. Dan juga dalam daftar besar yang sama di AppStore (tempat saya akan segera merilis Synthety). Promosi dan iklan diperlukan. Untuk ini, saya pribadi menggunakan dan merencanakan khususnya untuk menggunakan lalu lintas Facebook untuk game ini. Tapi ini cerita yang sama sekali berbeda, jika ada orang yang tertarik, saya akan membuat posting terpisah.

Saya akan dengan senang hati membantu secara pribadi dan berkomentar jika ada yang punya pertanyaan, karena dalam posting ini 10 persen dari semua yang harus dihadapi pengembang. Saya akan dengan senang hati membantu bahkan setidaknya satu orang.

Terima kasih atas perhatian Anda . Jika Anda tertarik, Anda dapat memainkan game sekarang di Google Play atas permintaan Synthety.

All Articles