Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Game Design
Gamedevelopment

Asap & Cermin dari Countdowns yang Baik, Bahagian 2

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called The Smoke & Mirrors of Good Countdowns.
The Smoke & Mirrors of Good Countdowns, Part 1

Malay (Melayu) translation by Adjatay Bashroh Aldad (you can also view the original English article)

Final product image
What You'll Be Creating

Kali terakhir, kami melihat undur dalam permainan, bagaimana ia ditubuhkan, dan unsur-unsur yang boleh anda gunakan untuk menjadikannya lebih menarik. Terdapat lebih banyak daripada yang akan dimuatkan dalam satu artikel sahaja!

Ini akan diteruskan dari Bahagian 1, itulah sebabnya kita akan bermula pada nombor tujuh.

Sedia? Mari pergi!

7: Mempunyai Kelajuan Tekanan Tetap yang berbeza

Ini adalah helah ringkas yang tidak memerlukan anda berbohong kepada pemain. Anda hanya mengatakan ''apabila pemasa habis'' dan menunjukkan jam berdetik. Apa yang anda tidak sebutkan adalah unit yang ditunjukkan.

Jika anda menunjukkan ''10'', pemain akan intuit ini adalah 10 saat, tetapi jumlahnya dapat menurun lebih lambat daripada detik. Jika anda mengubah suai nilai dengan penggandaan 0.5, sebagai contoh, ia akan habis selepas 20 saat bukan hanya 10.

Anda boleh melihat bagaimana ini berfungsi dalam permainan Ludum-Dare saya, Setiap Sepuluh Kt yang Kucing Drowns.

A timer in Every Ten Seconds a Kitten Drowns
Pemasa di Setiap Sepuluh Segera Kucing yang Tenggelam. Pemasa cukup lambat untuk memberikan pemain masa yang cukup ketika masih sangat rendah

Tema jem itu memerlukan 10 saat digunakan, tetapi 10 detik sebenarnya adalah jumlah masa yang terlalu banyak untuk mencapai sesuatu yang bermakna.

8: Beradaptasi Kelajuan Berdecak Selama Gameplay

Ini juga berfungsi dengan lebih baik jika unit masa tidak disebut dan pemain hanya diberikan idea kasar ''sehingga ini berlaku''.

Jika anda mempunyai siri panel yang menyala untuk menunjukkan kemajuan pemasa, anda tidak perlu mengaktifkannya pada kadar yang sama. Sebenarnya, ia akan menjadi lebih sengit jika beberapa pertama kali menyala dengan cepat, dan yang terakhir mempunyai lebih banyak masa di antara mereka. Dalam panas permainan yang penuh dengan tindakan, pemain tidak akan menyedari ini dan akan mempunyai pengalaman yang lebih sengit.

Ini tidak boleh digunakan dengan unit masa sebenar, kerana pemain mungkin merasa ditipu dan dibohongi. Jangan memecahkan kepercayaan pemain dalam sistem anda.

Ini dapat dilihat dalam satu tahap Starfox 64, di mana pemain perlu mempertahankan kedudukan terhadap kapal gergasi yang mendekati.

Minimap in Starfox 64
Minimap di Starfox 64. Ibupejabat menyerang (lingkaran hitam) bergerak ke arah pangkalan di tengah, memberikan pemain jam berdetik kasar berapa banyak masa yang tersisa untuk memusnahkannya

Pada pandangan pertama, anda mendapat gambaran kasar tentang berapa banyak masa yang tersisa, tetapi kapal itu sendiri kelihatan bergerak pada kelajuan yang berbeza dan bukan dalam garis lurus.

Pemasa pada dasarnya disesuaikan dengan cepat, proses yang tersembunyi di belakang asap dan cermin.

9: Gunakan Bunyi

Countdowns tidak semestinya optik semata-mata! Bunyi bunyi bip setiap beberapa saat akan meningkatkan penyerapan.

Sebaik sahaja anda memilikinya, anda juga boleh menyesuaikan frekuensi sebaik sahaja tempoh masa tertentu telah berlalu. Jika bunyi bip berlaku setiap lima saat, dalam 30 saat terakhir pemasa, pemain akan diberitahu tanpa perlu melihat nombor tersebut dan mengira mental berapa banyak yang tersisa.

Begitu juga, ia juga membantu jika komen karakter pada kemajuan. Ada orang yang mengatakan ''Kami sudah selesai!'' memberikan anda maklumat yang dibingkai dengan baik yang lebih mudah difahami daripada menguraikannya dari pembacaan.

10: Gunakan Skala Visual

Ini berfungsi dengan baik apabila kaunter itu hampir berakhir. Apabila tiba masa yang lain, tingkatkan keseluruhan kaunter selama setengah saat.

Selain warna dan bunyi, ini akan menjadikannya lebih banyak.

11: Adakah Sesuatu Apabila Ia Mendapat Sifar

Pastikan pemasa tidak pernah pergi negatif—ini akan membingungkan kepada ramai orang dan kelihatan seperti pepijat, seperti yang terperangkap, pemasa yang dibuat dengan cenderung untuk melakukan itu.

Memiliki kilat itu akan menjadi sentuhan yang baik, kerana ia sekali lagi menggariskan titik itu yang baru saja kehabisan.

Jika anda mempunyai pemasa yang positif, ia adalah elemen yang menyeronokkan untuk membiarkannya terus berjalan dan menggunakan elemen itu sebagai skor tinggi. Permainan Devil Daggers melakukan perkara yang sama, di mana matlamat utama adalah "Bertahan 500 saat".

Gameplay from Devil Daggers
Gameplay dari Devil Daggers

Apa yang Tidak Akan Lakukan Itu Akan Memecahkan Amanah Pemain

Sebaik sahaja peraturan pemasa telah ditetapkan, mereka harus tetap konsisten, dengan lebih banyak peluang yang dibenarkan kurang tepat pemasa. Persoalan utama ialah, ''Bagaimana peraturan tersembunyi ini memberi manfaat kepada pengalaman?''

Apabila anda melambatkan pemasa dalam tiga saat terakhir, ia akan menjadikan keadaan lebih tegang dan memberi pemain beberapa detik lagi untuk mencapai sesuatu. Secara rawak memperlahankannya di tengah, atau mempercepatkannya, hanya akan memecahkan kepercayaan pemain dalam peraturan anda.

Mari Kita Bina

Ini akan diteruskan dengan asas kod dari tutorial lepas dan membinanya. Sekiranya anda belum menyemaknya lagi, lakukan sekarang! Anda juga boleh memuat turun sumber selesai di bahagian atas kanan artikel ini.

Apabila kami terakhir meninggalkan pemasa kami, ia kelihatan seperti ini:

Our time when we last left it

Sekarang, penambahan baru akan menjadikannya lebih menarik. Kami akan meneruskan dengan countdown.cs-script, yang seharusnya kelihatan seperti ini:

Jadikan Ia Bip

Mari kita membuat pemasa beep setiap detik, supaya pemain akan tahu ia berkurang walaupun tanpa melihatnya.

Pertama, kita memerlukan kesan bunyi yang bagus. Anda boleh mencari fail audio dalam fail sumber, atau buat yang bagus menggunakan alat BFXR percuma. Sebaik sahaja anda mempunyai satu, salin ke folder aset anda.

Tambah komponen AudioSource ke objek undur anda melalui Komponen> Audio> AudioSource. Tambah pembolehubah ini ke skrip undur:

Anda juga perlu memberikan fail bunyi kepada pemboleh ubah soundBlip:

Select Blip01

Dan tambah blok ini ke fungsi Kemas Kini:

Ini akan memeriksa sama ada pemasa berada pada tanda kedua penuh, dan jika begitu memainkan fail bunyi.

Kerja sebenar kod ini agak rumit. Apa yang dilakukan ialah putaran pertama pemasa titik terapung ke dua titik perpuluhan, kemudian bahagikannya dengan 1, dan lihat apakah ada sisanya. Jika selebihnya sifar, ia bermakna pemasa telah mencapai tahap penuh, dan bunyi blip boleh dimainkan.

Jika kita tidak melakukan ini, sistem mungkin akan mencetuskan lebih kerap, yang tidak akan menyenangkan dan kondusif kepada pemasa yang baik.

Kelajuan yang Berbeza

Ini akan menambah pengganda yang akan mengurangkan atau mempercepatkan kelajuan jam berdetik. Tambah pembolehubah ini pada permulaan:

Sekarang cari garisan yang mengurangkan pemasa—ia satu ini:

Dan menyesuaikannya untuk kelihatan seperti ini:

Sekiranya penggandanya berada di bawah 1.0, pemasa kini akan berjalan perlahan, dan jika di atas 1.0 ia akan berjalan lebih cepat. Menetapkannya pada 1.0 tidak akan melakukan apa-apa.

Cuba percubaan untuk mencari nilai yang baik! Saya rasa kelajuan yang lebih rendah sedikit, seperti 0.85f, akan menjadikan pemain berasa jam ticking lebih banyak.

Perlahan Apabila Rendah

Sekarang bahawa kita mempunyai komponen pengganda, kita boleh mengubahnya semasa permainan!

Pergi ke blok kod warna yang berubah-ubah:

Di sini kita sudah mempunyai syarat-syarat di mana perubahan dalam kelajuan berdetik akan sesuai, jadi kita boleh menambahnya!

Apabila pemasa bertukar menjadi kuning pada 20 saat, ia akan menandakan dengan kelajuan 80%. Apabila ia menjadi merah, ia akan turun ke kelajuan biasa 60%. Jika tidak, ia akan ditetapkan kepada kelajuan 100%.

Penskalaan Ketika Rendah

Satu lagi cara yang baik untuk membuat pemasa kehabisan masa menonjol lebih banyak adalah untuk meningkatkannya setiap saat berlalu apabila rendah. Oleh kerana kita sudah mempunyai kod yang akan dicetuskan setiap saat, kita boleh menyesuaikannya lagi!

Pertama, kita memerlukan fungsi untuk meningkatkan dan mengurangkan saiz paparan kami. Tambah fungsi ini:

Ini adalah IEnumerator, yang merupakan jenis fungsi yang boleh mengandungi perintah tunggu. Kami memerlukan pemboleh ubah isblinking untuk memastikan kami tidak memanggilnya beberapa kali.

Sebaik sahaja dimulakan, ia akan meningkatkan saiz objek dengan faktor 1.4f, tunggu 0.3 saat, dan kemudian turun lagi ke saiz asal.

Kami memanggilnya menggunakan kod khas ini:

Seorang IEnumerator perlu dimulakan dengan memanggilnya melalui StartCoroutine, jika tidak, ia tidak akan berfungsi.

Seluruh blok akan dipanggil apabila pas kedua, di mana kami boleh menyemak sama ada pemasa cukup rendah untuk membuatnya berkelip.

Berkedip di Zero

Mari kita lakukan sesuatu apabila pemasa habis. Memandangkan ia hanya duduk di sana pada sifar boleh membosankan, jadi mari kita buatnya berkedip.

Pertama, kami memerlukan fungsi IEnumerator yang lain:

Ini akan menghidupkan dan mematikan pemasa dalam jarak 1.5 saat. Mencetuskannya di blok yang sudah memeriksa jika pemasa adalah sifar.

Sebelum menjalankannya, kita perlu melumpuhkan beeping dan berkelip pada sifar itu sendiri, jika tidak, ia akan bertembung dengan tingkah laku.

Suaikan syarat-syarat di blok untuk memeriksa sama ada detik telah berlalu dan juga untuk memeriksa jika masa semasa adalah lebih daripada sifar:

Ini akan memastikan kerja berkedip berkelip dan berkilat tanpa mengganggu satu sama lain.

Keseluruhan skrip countdown harus kelihatan seperti ini:

Ini akan mendapat pekerjaan. Anda boleh, tentu saja, menjadikannya lebih elegan dan menggabungkan arahan menjadi kod yang lebih cekap.

Kesimpulan

Countdown kecil kami telah menjadi lebih menarik dan menarik. Jika anda membina ini sekali, anda boleh menggunakannya dan pasangkannya ke mana-mana projek yang anda buat, tidak kira betapa kecilnya.

Sekarang pergi dan letakkan dalam permainan!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.