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

The Smoke & Mirror of Countdowns yang Baik, Bahagian 1

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 2

Malay (Melayu) translation by Meyria (you can also view the original English article)

Final product image
What You'll Be Creating

Countdowns adalah elemen mudah yang muncul dalam banyak permainan, tetapi reka bentuk mereka boleh dengan mudah diabaikan.Options : History : Feedback : DonateClose

Dengan sedikit penambahan mudah, pemasa biasa boleh dibuat lebih menarik dan sesuai dengan alam semesta permainan yang dibentangkan, dan dengan demikian meningkatkan pengalaman pemain.

Banyak unsur-unsur ini diilhamkan oleh 'Jus atau kalah' percakapan itu oleh Martin Jonasson dan Petri Purho mengenai cara membuat juicier permainan anda. Intinya adalah bahawa ia tidak mencukupi untuk hanya menyajikan maklumat dalam bentuk yang paling asas; anda juga perlu meningkatkan dan menyerlahkan apa yang berlaku dengan warna, bunyi dan pergerakan, yang akan menjadikan keseluruhan pengalaman lebih menarik. Saya benar-benar mengesyorkan menonton perbincangan itu juga belajar tentang aplikasi lain.

Dalam siri dua bahagian ini, kami akan meneruskan elemen ini dan kemudian melaksanakannya dalam projek Perpaduan mudah, yang mana anda memerlukan versi terbaharu. Dalam bahagian 2 yang akan datang, kita akan melihat elemen yang lebih terperinci dan bernuansa.

Sedia? Mari pergi!

Tujuan Tujuan Pembatalan

Pemasa dalam permainan boleh menjadi tujuan yang berbeza, yang tidak semestinya aplikasi yang bertindih. Ini adalah:

  1. Anda mempunyai jumlah masa X untuk mencapai suatu tugas.
  2. Anda perlu bertahan untuk jumlah masa X.

Reka bentuk pemasa boleh berubah di antara kedua-dua, kerana maklumat yang diperlukan untuk perubahan pemain dalam aplikasinya.

Apabila anda diberikan lima minit untuk meredakan bom di Metal Gear Solid 2, anda perlu mengetahui tepat jumlah masa yang anda miliki, kerana setiap detik menjadi penting untuk kemajuan dan perancangan keseluruhan. Pemasa perlu menyampaikan kepada pemain berapa banyak yang tersisa, dan memberi isyarat kepada mereka jika jumlah itu semakin rendah.

Apabila anda perlu bertahan untuk masa yang tertentu, unsur ketepatan itu menjadi kurang penting. Walaupun tentunya bagus untuk mengetahui jumlah masa yang tepat dalam beberapa saat yang anda perlukan untuk bertahan, permainan juga boleh berfungsi tanpa maklumat itu. Ia juga boleh diperbaiki, sebagai maklumat seperti 'anda perlu bertahan sekejap lagi!' lebih mudah difahami dalam keadaan tertekan daripada 'sila baca bacaan nombor ini di sudut skrin', dan boleh meningkatkan rendaman dalam gameworld.

Bagaimana Meningkatkan Keterbatasan

Sekarang mari kita lihat unsur-unsur yang akan membuat undur dan pemasa lebih menarik dan menarik.

1: Buat Pemasa Anda Sendiri Itu Tidak Mengandalkan Nombor dan Benamkan Pemasa Ke Dunia

Daripada hanya meletakkan nombor di suatu tempat, anda boleh membuat grafik undur anda sendiri yang akan memberitahu pengguna kira-kira berapa banyak masa yang tersisa.

Pelaksanaan 2D grafik, memerlukan sedikit kemahiran, kerana anda perlu memastikan pemain dapat intuit dengan betul dan membaca idea 'masa sudah habis dan anda telah mendapat kira-kira X detik lagi'.

Non-numerical countdown from Star Trek Generations The exact time is not readily readable but the graphic lets a viewer easily deduce that a countdown is happening and time is running out
Undur bukan berangka dari Generasi Star Trek. Waktu yang tepat tidak mudah dibaca, tetapi grafik membolehkan penonton dengan mudah menyimpulkan bahawa undur sedang berlaku, dan masa sudah habis

Ini berfungsi dengan baik jika anda menggunakan petunjuk alam sekitar untuk menunjukkan kemajuan, dan mempunyai suara dalam permainan memberitahu anda berapa banyak yang tersisa. Sejumlah ditampal di atas skrin boleh merasakan tidak diegetic dan mungkin sangat mengambil beberapa pemain keluar dari permainan.

Dalam Half Life 2, sebagai contoh, anda perlu mempertahankan kedudukan sehingga teleporter dikenakan. Pada awalnya, caj penuh dipaparkan, yang kemudian perlu diisi semula.

Full charge for a teleport in Half Life 2 The element is highly visible inside the otherwise sparsely decorated room
Caj penuh untuk teleport dalam Half Life 2. Unsur ini sangat kelihatan di dalam bilik yang dihiasi dengan sedikit jarang.

Pengecasan ditunjukkan oleh unsur-unsur mesin menyala dan mula berputar, memberikan anda satu jam asas yang menyampaikan berapa lama lagi anda perlu bertahan.

After being used the teleport needs to recharge The elements slowly light up again giving the player an indication how much longer they have to hold out from Half-Life 2
Selepas digunakan, teleport perlu mengisi semula. Unsur-unsur itu perlahan-lahan menyala lagi, memberikan pemain indikasi berapa lama mereka harus bertahan (dari Half-Life 2)

Caj teleporter juga merupakan contoh yang baik dari paparan terbenam, yang secara langsung di gameworld. Ini berguna kerana mereka mengekalkan pemain berfokus pada dunia itu sendiri, sementara pemasa di lapisan GUI akan berada di atas gameworld.

An oxygen-timer in Metro Last Light directly inside the gameworld
Pemasa oksigen di Metro: Cahaya Terakhir, terus di dalam gameworld

2: Buat Angka-angka Lihat Seperti Nombor

Dapatkan font sejuk untuk undur anda! Fon tertentu seperti Font Display Digital ini meniru paparan cahaya yang lebih tua, yang kebanyakannya digunakan untuk nombor dalam paparan 'digital' lama.

Digital Display Font Example

Pemain akan mengaitkan fon ini dengan pemasa dan undur, dan ia akan membuat bacaannya lebih mudah, seolah-olah ia dalam sesuatu seperti Arial atau Times New Roman.

Pembacaan asas dan komposisi teks juga digunakan. Jangan menyusun nombor secara menegak, jangan gunakan angka Rom, dsb.

3: Berikan Pemain Jumlah Dalam Sekejap, Tidak Menit

Siri Logam Gear Solid melakukan trik yang indah ini di mana mereka mengatakan 'anda hanya mempunyai 500 saat lagi!' dan kemudian memaparkan nombor yang berbunyi sebagai '5:00'.

Apabila saya bermain untuk kali pertama, minda saya auto-selesai ini untuk dibaca sebagai '5 minit', tetapi ia ditipu. '500 saat' adalah format yang tidak biasa tetapi tepat untuk masa, dan orang secara umum tidak dilatih untuk memilih dengan tepat pada ini.

Kesannya ialah pemain akan berfikir mereka hanya mempunyai 5 minit, sedangkan dalam kenyataannya adalah 8 minit dan 20 saat.

Optional mini-missions in Metal Gear Solid V The Phantom Pain Time is given in seconds obscuring the amount in minutes
Mini-misi pilihan dalam Metal Gear Pepejal V: The Phantom Pain. Masa diberikan dalam beberapa saat, mengaburkan jumlah dalam beberapa minit

Ini biasanya tidak mempunyai kelemahan, kerana ia akan didorong oleh had masa yang ketat dan menumpukan perhatian dalam melaksanakan tugas (dalam Metal Gear Solid 2: membunuh bom), yang akan mengalihkan perhatian mereka dari fakta bahawa lima minit mungkin telah berlalu, dan ada masih masa.

4: Buat 'Segera' 100 Segera Panjang

Ini berjalan seiring dengan memberitahu pemain jumlah masa yang tersisa dalam beberapa saat.

Unsur yang berulang pada mundur MGS2 adalah bahawa mereka tidak mempunyai turnovers 60 detik, tetapi turnovers 100 detik. Ini tidak semestinya satu minit beralih kepada yang seterusnya, tetapi detik-detik itu disenaraikan. Jadi bukan 01:00 menjadi 00:59, itu adalah 0100 yang menjadi 0099. Anda hanya perlu mendapatkan nilai itu sendiri, yang membuat hitungan mundur sebenarnya lebih mudah dibuat, kerana anda boleh melangkau pengiraan minit.

A countdown used in Metal Gear Solid 2 Sons of Liberty Note the numbers being displayed again in total seconds but in a way that resembles minute-and-second counters While the second-symbol is also shown the young target demographic is possibly not familiar with it
Undur yang digunakan dalam Metal Gear Solid 2: Sons of Liberty. Perhatikan nombor yang dipaparkan semula dalam jumlah saat, tetapi dengan cara yang menyerupai kaunter minit dan kedua. Walaupun simbol kedua (') juga ditunjukkan, demografi sasaran muda mungkin tidak biasa dengannya.

5: Menggunakan Milliseconds dan Fraksi untuk Tambah Ketegangan

Mempunyai milisaat yang dipaparkan selepas nombor utama menjadikannya lebih menarik!

Ini agak mudah, kerana masa boleh disimpan di apungan. Dua hingga tiga nombor terapung adalah jumlah yang baik yang masih boleh dibaca dan berpotensi berguna kepada pemain.

6: Gunakan Warna untuk Kelebihan Anda!

Apabila pemasa mencapai jumlah yang rendah, warnakan teks secara berbeza. Membuatnya kuning berfungsi dengan baik, kerana ia menjadikan pemain lebih menonjol.

Apabila ia mencapai detik terakhir, menjadikannya merah, lebih besar, dan kilat. Kini jumlah yang rendah tidak boleh diabaikan, dan ia mewujudkan ketegangan dalam pemain.

Red countdown from Metal Gear Solid V The Phantom Pain
Undur merah dari Metal Gear Solid V: The Phantom Pain

Mari Bina Pemasa Mudah Dengan Perkara Ini!

Sekarang mari kita mulakan cara untuk memperbaiki pemasa melalui kod. Kami akan mengubahnya:

A basic timer-display
Paparan pemasa asas

Ke dalam ini:

Our improved timer-display
Paparan pemasa kami yang lebih baik

Kami akan menggunakan beberapa aset khas yang anda boleh dengan cepat mendapatkan atau membuat diri anda, atau dapatkan dari sumber fail yang anda boleh muat turun di sebelah kanan atas artikel ini.

Sedia? Mari pergi!

Persediaan & Pemasa Asas

Mulakan Perpaduan dan buat projek baru.

Kemudian buat gameobject kosong, letakkan di hadapan kamera, dan tambahkan textMesh melalui Component> Mesh> TextMesh. Ini akan menjadi paparan pemasa di gameworld.

Kami akan menggunakan 3d-textmesh untuk sekarang, tetapi ini juga akan berfungsi di kawasan lain, seperti antara muka asas Unity. Buat masa ini, teks 3d juga mempunyai manfaat yang boleh di dalam gameworld, seperti yang dinyatakan sebelum ini, dan bukan di bahagian atas dunia di dalam lapisan GUI.

Teks 3d baru kami tidak akan dipaparkan dengan serta-merta; kita perlu mengubah beberapa nilai.

Changing some values for our timer

Tetapkan saiz aksara kepada 0.1, penambat ke kiri tengah, penjajaran ke tengah, dan saiz fon ke 80. Juga tambahkan beberapa teks pemegang tempat ke dalam medan 'teks'. Ini hanya supaya kita mempunyai sesuatu untuk dilihat dalam editor; semasa permainan sebenar, ini akan disesuaikan secara langsung melalui kod. 00:00 akan berbuat baik.

Kemudian buat fail baru bernama Countdown.cs, tambahkannya ke objek pemasa kami, dan tambahkan kod ini kepadanya:

Kami mempunyai pembolehubah bernama pemasa, yang akan memegang masa yang dikira. Sekarang ia berada pada 120 saat, atau 2 minit. Kemudian dalam fungsi Kemas Kini, yang dipanggil setiap bingkai, kami memotong Time.deltaTime. Ini adalah cara pintas untuk mendapatkan masa sebenar yang berlalu di sana. Selepas itu, kami mendapatkan komponen textMesh dari objek dan menyesuaikan nilai teksnya menjadi pemasa, berubah menjadi rentetan.

Apabila anda kini menjalankan permainan, teks akan menunjukkan jumlahnya berkurang. Tahniah! Anda telah membina pemasa ringkas.

Tetapi ia jauh dari sedang terlibat. Juga, ia menunjukkan 4 hingga 5 nombor selepas titik perpuluhan, dan ia akan terus pergi ke nilai negatif selepas mencapai sifar.

Sudah Berhenti di Zero

Pemasa negatif akan kelihatan rusak, jadi mari pastikan ia tidak berlaku. Menyesuaikan fungsi Kemas kini untuk kelihatan seperti ini:

Ini hanya akan mengurangkan pemasa jika ia benar-benar positif. Sekiranya ia berubah menjadi negatif (yang boleh berlaku apabila ia menolak masa berlalu), ia akan ditetapkan kepada sifar.

Dapatkan nombor yang lebih baik

Ingat bahawa Font Display Digital yang saya sebutkan di atas? Pergi dan tambahkannya ke projek anda!

Seksyen teks di inspektor mempunyai medan untuk fon, jadi seret fon dari aset anda di sana.

Dan kini pemasa kami akan kelihatan lebih kemas!

A much cleaner timer

Betulkan Jumlah Numerals

Sekarang jumlah nombor selepas titik perpuluhan berbeza-beza, yang menjadikan pemasa turun naik dengan liar. Betulkan bahawa dengan menyesuaikan garis yang menggunakan nilai pada teks untuk kelihatan seperti ini:

Ini secara automatik akan memotong segala-galanya selepas dua nombor, sentiasa menunjukkan anda puluhan dan sepersepuluh detik.

Removing extraneous numbers

Buat Perubahan Warna

Mari tambahkan beberapa pewarna penyesuaian! Menyesuaikan fungsi Kemas kini untuk kelihatan seperti ini:

Dan pemasa akan bertukar menjadi kuning apabila kurang dari 20 saat yang tinggal, dan merah apabila kurang dari 10 saat masih tinggal.

The timer will turn yellow when less than 20 seconds

Seluruh fail Countdown.cs sepatutnya kelihatan seperti ini:

Dan itu sahaja! Kami kini mempunyai undur yang lebih menarik dan menarik.

Anda juga boleh melihat projek lengkap dalam fail sumber di bahagian atas kanan artikel ini.

Kesimpulan

Kami melihat beberapa elemen yang akan meningkatkan pemasa dalam permainan, pelajaran yang juga boleh digunakan untuk banyak elemen lain. Di samping itu, pemasa yang kami bina dapat disesuaikan dengan mudah dan diletakkan dalam sebarang permainan, dan akan menjadi unsur yang menarik tanpa perlu mengembangkan kandungannya lagi.

Tetapi ada lagi! Di bahagian seterusnya dalam siri ini, kami akan melihat lebih banyak elemen dan terus meningkatkan pemasa kami.

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.