Buku "Persatuan dan C #. Gamedev dari ide hingga implementasi. 2nd ed

gambar Hai, habrozhiteli!

Jeremy Gibson Bond, menyusun buku ini, menetapkan tujuan sederhana: untuk memperkenalkan Anda ke semua alat dan mentransfer pengetahuan dasar yang diperlukan untuk mencapai kesuksesan dalam pengembangan game dan prototipe. Penulis mencoba memeras pengetahuan maksimal ke dalam buku ini. Tidak seperti banyak buku lain, buku ini menggabungkan kedua disiplin ilmu - desain game dan pengembangan digital (mis. Pemrograman komputer) - dan membungkusnya dengan praktik prototip berulang. Kehadiran mesin game yang canggih dan relatif mudah digunakan, seperti Unity, telah semakin menyederhanakan pembuatan prototipe yang mengekspresikan konsep-konsep desain game dan meningkatkan peluang Anda untuk menjadi desainer game yang berkualitas (dan dicari).

Buku ini dibagi menjadi empat bagian
Bagian I. Merancang permainan dan membuat prototipe di atas kertas


Bagian pertama dari buku ini dimulai dengan studi berbagai teori desain game dan dasar analitik desain game, seperti yang disarankan dalam beberapa buku sebelumnya. Bagian ini menjelaskan Tetrad Layered, cara menggabungkan dan memperluas fitur terbaik dari teori-teori sebelumnya. Banyak perhatian telah diberikan untuk mempelajari notebook multi-level, karena menyangkut banyak keputusan yang harus Anda buat sebagai perancang interaksi interaktif. Bagian ini juga berisi informasi tentang masalah menarik dari berbagai disiplin ilmu desain game; menjelaskan proses pembuatan prototipe di atas kertas, pengujian dan iterasi; memberikan informasi spesifik yang dapat membantu Anda menjadi salah satu desainer terbaik; Strategi manajemen proyek dan waktu yang efektif disajikan untuk membantu memastikan bahwa jadwal pengembangan proyek dipatuhi.

Bagian II Prototipe digital


Bagian kedua dari buku ini mengajarkan pemrograman. Bagian ini didasarkan pada pengalaman saya selama bertahun-tahun mengajar siswa non-teknis bagaimana mengekspresikan ide-ide desain game dalam kode digital. Jika Anda tidak memiliki pengalaman pengembangan atau pemrograman, bagian ini adalah untuk Anda. Tetapi bahkan mereka yang memiliki pengalaman dapat melihat bagian ini untuk membiasakan diri dengan trik baru atau untuk menyegarkan beberapa pendekatan. Bagian kedua mencakup C # - bahasa pemrograman kami - mulai dari yang paling mendasar hingga pewarisan kelas dan teknik pemrograman berorientasi objek.

Bagian III. Prototipe gim dan contoh


Bagian ketiga dari buku ini mencakup beberapa contoh, yang masing-masing menunjukkan proses pengembangan prototipe permainan genre tertentu. Bagian ini memiliki dua tujuan: ini mengungkapkan beberapa teknik canggih untuk membuat prototipe cepat dari permainan menggunakan pendekatan saya sendiri untuk membuat prototipe sebagai contoh dan membantu membentuk fondasi di mana Anda dapat membuat game sendiri. Banyak buku tentang Unity (lingkungan pengembangan kami untuk permainan) menggunakan pendekatan yang serupa, tetapi mengarahkan pembaca melalui satu contoh monolitik lebih dari beberapa ratus halaman. Sebaliknya, buku ini menunjukkan beberapa contoh yang jauh lebih pendek. Hasil akhir dari contoh-contoh ini pasti kurang dapat diandalkan daripada yang ditemukan dalam buku-buku lain, tetapi saya yakin bahwa keanekaragaman akan membantu Anda mempersiapkan diri dengan lebih baik untuk proyek Anda sendiri di masa depan.

Bagian IV Aplikasi


Ada beberapa aplikasi penting yang perlu disebutkan di sini dalam buku ini. Agar tidak mengulangi informasi yang sama dan tidak memaksa Anda untuk mencarinya di bab yang berbeda, semua informasi yang berulang kali disebutkan dalam buku atau yang menurut saya, Anda ingin merujuk nanti (ketika Anda selesai membaca buku untuk pertama kali) ditempatkan di aplikasi. Lampiran A memberikan pengantar langkah demi langkah singkat untuk membuat proyek game di Unity. Aplikasi terpanjang adalah Lampiran B, Ide Berguna. Meskipun judulnya sederhana, saya yakin Anda akan paling sering merujuk ke aplikasi ini setelah Anda membaca buku untuk pertama kalinya. "Ide yang berguna" adalah kumpulan teknik dan strategi canggih yang saya sendiri terus gunakan ketika melakukan prototyping game, dan saya pikir di sini Anda akan menemukan banyak hal menarik untuk diri Anda sendiri. Aplikasi ketiga dan terakhir adalah daftar tautan ke sumber daya di Internet, di mana Anda akan menemukan jawaban atas pertanyaan yang tidak tercakup oleh buku ini. Seringkali sulit untuk menentukan tempat yang tepat untuk mencari bantuan; Aplikasi ini berisi tautan yang paling sering saya gunakan.

Kutipan. Menggunakan Google Sheets untuk menyeimbangkan senjata


Aplikasi matematika dan program lain, seperti Google Sheets, dalam desain game adalah untuk menyeimbangkan berbagai jenis senjata dan kemampuan. Di bagian ini, Anda akan melihat proses menyeimbangkan senjata untuk permainan yang mirip dengan Valkyria Chronicles milik Sega. Dalam permainan ini, setiap senjata memiliki tiga karakteristik penting:

  • Jumlah tembakan dilepaskan secara bersamaan.
  • Tingkat kerusakan yang disebabkan oleh setiap tembakan.
  • Probabilitas mengenai target masing-masing peluru yang ditembakkan pada jarak tertentu.

Ketika menyeimbangkan berbagai jenis senjata, tujuannya biasanya untuk membuat mereka kira-kira sama berkuasa, tetapi pada saat yang sama memberikan fitur yang berbeda. Misalnya, beberapa senjata mungkin memiliki fitur khas seperti itu:

  • Pistol: senjata utama; memungkinkan Anda untuk mengatasi sebagian besar situasi, tetapi bukan yang terbaik.
  • Rifle: Pilihan yang bagus untuk mencapai target pada jarak menengah dan panjang.
  • Shotgun: senjata mematikan dari jarak dekat, tetapi kekuatannya turun dengan cepat seiring meningkatnya jarak; memiliki tingkat api yang rendah, sehingga akurasi sangat penting.
  • Senapan sniper: pilihan yang sangat buruk untuk pertempuran jarak dekat, tetapi senjata yang fantastis untuk penembakan jarak jauh.
  • Senapan mesin: memiliki tingkat tembakan yang tinggi, jadi meskipun tidak dengan akurasi tertinggi ia memiliki kekuatan mematikan yang tinggi, berkat ini tampaknya senjata yang paling dapat diandalkan, meskipun bukan yang paling kuat.

Dalam gbr. 11.14 menunjukkan nilai-nilai karakteristik senjata, yang bagi saya tampak berhasil pada pandangan pertama. Nilai ToHit (For hitting) adalah jumlah minimum poin yang jatuh ketika melempar dadu heksagonal, yang berarti mengenai target pada jarak tertentu. Misalnya, untuk pistol di sel K3, yang sesuai dengan jarak 7 unit, angka 4 ditunjukkan, yaitu, jika pemain menembak pada jarak 7 unit, itu akan dianggap bahwa ia mengenai target jika nomor 4 atau lebih jatuh pada dadu. Ini memberi peluang 50% untuk memukul (karena hit menghitung jika 4, 5, atau 6 poin dijatuhkan).

gambar

Menentukan probabilitas hit untuk setiap peluru


Dalam sel-sel di bawah pos Kesempatan pos, kita perlu menghitung probabilitas mengenai setiap target yang ditembakkan dari senjata yang diberikan pada jarak tertentu. Untuk melakukan ini, ikuti langkah-langkah ini.

1. Buat dokumen baru di Google Sheets dan masukkan semua data seperti yang ditunjukkan pada gambar. 11.14. Untuk mengubah warna latar belakang sel, gunakan tombol Warna Sel pada alat pemformatan sel (Gbr. 11.2).

Dilihat dari nilai dalam sel E3, tembakan dari pistol pada jarak 1 unit mencapai target jika 2 poin atau lebih jatuh ketika melempar dadu. Ini berarti bahwa satu kesalahan terjadi hanya ketika 1 poin dijatuhkan, dan ketika 2, 3, 4, 5, atau 6 poin dijatuhkan, tembakan mencapai target. Jadi, bagian dari hit adalah 5/6 (atau β‰ˆ 83%), dan sekarang kita perlu formula untuk menghitungnya. Menurut aturan 7 untuk menentukan probabilitas, ini terkait dengan probabilitas kehilangan 1/6 (mis., Angka dalam ToHit minus 1 dan dibagi dengan 6).

2. Pilih sel P3 dan masukkan formula = (E3-1) / 6. Hasilnya, sel P3 menampilkan kemungkinan kehilangan dari pistol pada jarak 1 unit. Operasi aritmatika dalam Lembar dilakukan sesuai dengan aturan matematika, sehingga pembagian akan dilakukan sebelum pengurangan, jika Anda tidak menyertakan ekspresi E3-1 dalam tanda kurung.

3. Sekali lagi kita menggunakan aturan 7. Menurutnya, 1 - miss probabilitas = probabilitas kekalahan, oleh karena itu ganti rumus dalam sel P3 dengan = 1 - ((E3-1) / 6). Sekarang angka 0,8333333 akan muncul di dalamnya.

4. Untuk mengonversi pecahan desimal di sel P3 menjadi persen, pilih sel P3 dan klik tombol dengan simbol% ​​di bilah alat pemformatan angka, seperti yang ditunjukkan pada Gambar. 11.2. Anda juga dapat mengklik beberapa kali pada tombol di sebelah kanan tombol dengan simbol% ​​(dengan tulisan .0 dan panah kiri). Ini akan menghapus desimal, dan hanya 83% yang akan ditampilkan di sel alih-alih lebih akurat tetapi membingungkan% 83,33. Dalam hal ini, hanya nilai yang ditampilkan akan berubah - angka aktual akan tetap sama - dan sel akan mempertahankan akurasi untuk perhitungan lebih lanjut.

5. Salin formula dari sel P3 dan tempel ke semua sel P3: Y7. Anda akan melihat bahwa semua perhitungan selesai dengan sukses, dengan pengecualian sel kosong di bagian ToHit, yang persentase hitnya adalah 117%! Ubah formula sehingga mengabaikan sel kosong.

Pilih sel P3 lagi dan ganti formula dengan = IF (E3 = "", "", 1 - ((E3-1) / 6)). Fungsi IF di Sheets memiliki tiga argumen, dipisahkan oleh koma.

  • E3 = "": argumen 1 - kondisi: apakah isi sel E3 sama dengan nilai kosong ""? (mis. apakah E3 sel kosong?)
  • "": argumen 2 - apa yang dimasukkan ke dalam sel jika kondisi dalam argumen pertama benar. Artinya, jika E3 adalah sel kosong, kosongkan sel P3.
  • 1 - ((E3-1) / 6): argumen 3 - apa yang dimasukkan ke dalam sel jika kondisi dalam argumen pertama salah. Artinya, jika E3 bukan sel kosong, gunakan rumus ini.

7. Salin formula baru dari sel P3 dan tempel ke sel P3: Y7. Sekarang sel kosong di bagian ToHit akan sesuai dengan sel kosong di bagian Kesempatan Persen. (Misalnya, L5: N5 adalah sel kosong, jadi sel W5: Y5 yang sesuai juga akan kosong.)

8. Selanjutnya, tambahkan beberapa warna ke bagan ini. Pilih sel P3: Y7. Dari menu Sheets, pilih Format> Format kondisional. Panel aturan format kondisional baru muncul di sisi kanan jendela. Pemformatan bersyarat memungkinkan Anda untuk menentukan format tampilan sel tergantung pada kontennya.

9. Klik tab Skala warna di bagian atas panel aturan format kondisional.

10. Di bagian Pratinjau pada tab Skala warna, Anda akan melihat kata Default di gambar gradien hijau. Klik pada kata Default dan pilih opsi di bawah di tengah: Hijau ke kuning ke merah (Dari hijau ke merah hingga kuning).

11. Klik tombol Done, dan bagian Persen Peluang akan mengambil formulir, seperti pada Gambar. 11.15.
gambar

Perhitungan Kerusakan Rata-rata


Langkah selanjutnya dalam proses penyeimbangan adalah menentukan kerusakan rata-rata yang disebabkan oleh setiap jenis senjata pada jarak tertentu. Karena beberapa jenis senjata menembakkan beberapa tembakan sekaligus dan setiap tembakan menghasilkan kerusakan tertentu, kerusakan rata-rata akan sama dengan produk dari jumlah tembakan per kerusakan satu tembakan dan probabilitas setiap peluru mengenai:

1. Pilih kolom O: Z dan salin (tekan Command-C atau Ctrl + C pada PC atau pilih item menu Edit> Copy (Edit> Copy)).

2. Pilih sel Z1 dan tempel (Command-V, Ctrl + V pada PC atau pilih item menu Edit> Tempel (Edit> Tempel)). Akibatnya, kolom AA: AK tambahan akan ditambahkan ke tabel dan diisi dengan data dari kolom yang baru disalin.

3. Masukkan teks Kerusakan Rata-rata dalam sel AA1.

4. Pilih sel AA3 dan masukkan rumus = IF (P3 = "", "", $ B3 * $ C3 * P3) ke dalamnya. Seperti dalam rumus untuk sel P3, fungsi IF memastikan bahwa perhitungan hanya akan dilakukan untuk sel yang tidak kosong. Rumus termasuk referensi absolut ke kolom $ B dan $ C, karena kolom B menyimpan jumlah tembakan, dan kolom C kerusakan yang diberikan oleh satu tembakan terlepas dari jarak ke musuh. Dalam hal ini, hanya nomor baris, tetapi bukan nomor kolom, yang harus digeser selama penyalinan (oleh karena itu, hanya kolom yang dijelaskan oleh tautan absolut).

5. Pilih sel AA3 dan klik tombol paling kanan di area dengan
instruksi pemformatan angka (dengan tulisan 123ο‚‚). Pilih Nomor
(Nomor) di menu yang terbuka.

6. Salin sel AA3 dan tempel ke sel AA3: AJ7. Sekarang mereka akan menampilkan nilai yang tepat, tetapi pemformatan bersyarat masih terikat ke bagian Peluang Persen, karena angka-angka di atas 1 memaksa persentase dalam kisaran dari 0 hingga 100% di bagian Peluang Persen untuk ditampilkan pada warna hijau latar belakang.

7. Pilih sel AA3: AJ7. Jika panel aturan Format kondisional
pemformatan) tidak lagi ditampilkan, pilih Format> Pemformatan bersyarat dari menu utama (Format> Pemformatan bersyarat ...) untuk membukanya kembali.

8. Dengan sel-sel AA3: AJ7 yang dipilih, Anda akan melihat sebuah aturan di panel Format bersyarat aturan dengan nama Skala warna (Gradien) dan dengan tautan ke sel P3: Y7, AA3: AJ7 di bawahnya. Klik pada aturan ini.

9. Dalam pengaturan yang dibuka, di bagian Terapkan ke rentang, hanya menyisakan P3: Y7 dan klik tombol Selesai. Sebagai hasilnya, desain sebelumnya dari bagian Kesempatan Persen akan dikembalikan.

10. Pilih sel AA3: AJ7 lagi. Di panel aturan format kondisional, klik tombol Tambahkan aturan baru.

11. Di bidang Pratinjau pada tab skala Warna, pilih opsi Hijau ke kuning ke merah (dari hijau ke merah hingga kuning), seperti sebelumnya. Kemudian klik tombol Done.

Akibatnya, aturan pemformatan yang berbeda akan diterapkan ke bagian Peluang Persentase dan Kerusakan Rata-rata. Memisahkan aturan untuk area yang berbeda menjamin penerapannya yang terpisah, yang penting karena rentang angka di bagian yang berbeda terlalu berbeda satu sama lain. Sekarang bagian Kerusakan Rata-rata akan terlihat seperti yang ditunjukkan pada Gambar. 11.15.

Menampilkan grafik kerusakan rata-rata


Langkah penting berikutnya adalah merencanakan grafik kerusakan rata-rata. Meskipun penelitian yang cermat terhadap angka-angka sudah memungkinkan Anda untuk menarik beberapa kesimpulan, grafik yang didukung oleh Sheets akan menyederhanakan pekerjaan ini dan membantu Anda mengevaluasi secara visual apa yang sedang terjadi. Untuk melakukan ini, ikuti langkah-langkah ini.

1. Pilih sel A2: A7.

2. Gulir halaman sehingga Anda dapat melihat bagian Kerusakan Rata-rata. Dengan A2: sel A7 masih dipilih, tekan dan tahan tombol Command (atau Ctrl pada PC), klik kiri pada sel AA2 dan, sambil menahan tombol dan tombol mouse, gerakkan pointer ke sel AJ7 untuk memilih area AA2: AJ7. Anda sekarang harus memiliki dua area yang dipilih: A2: A7 dan AA2: AJ7.

3. Klik tombol bagan (lihat Gambar 11.2) untuk membuka editor bagan.

4. Klik pada daftar drop-down Tipe bagan (tipe bagan di mana teks "Bagan kolom" ditampilkan, lihat Gambar 11.6A) dan pilih tipe paling kiri di bagian Line - ini adalah kiri atas pictogram dengan garis putus-putus biru dan merah.

5. Di bagian bawah tab DATA, pilih kotak centang Ganti baris / kolom.

6. Pilih kotak centang Gunakan kolom A sebagai header. Pastikan juga kotak centang Gunakan baris 2 sebagai label dipilih.

7. Klik tombol tutup pada panel editor Bagan untuk menyelesaikan pembuatan bagan.

Sebagai hasilnya, Anda mendapatkan diagram seperti pada Gambar. 11.16. Seperti yang Anda lihat, tidak semuanya mulus dengan senjata. Beberapa spesies, seperti Sniper Rifle dan Shotgun, memiliki ciri khas, seperti yang kami harapkan (senapan memiliki kekuatan penghancur yang besar pada jarak dekat, dan sniper
gambar

senapan lebih cocok untuk memukul sasaran jarak jauh), tetapi di antara yang lain jelas ada masalah:

  • Senapan mesin (senapan mesin) sangat lemah.
  • Pistol (Pistol) ternyata, mungkin, sangat kuat.
  • Senapan (Rifle) itu ternyata terlalu kuat dengan latar belakang jenis senjata lain.

Sederhananya, berbagai jenis senjata kurang seimbang di antara mereka sendiri.

Parameter senjata rangkap


Dalam proses menyeimbangkan senjata, lebih mudah untuk memiliki di depan mata Anda informasi sebelum dan sesudah menyeimbangkan:

1. Pertama, pindahkan grafik ke bawah, di bawah garis 16.

2. Klik dua kali dalam bagan, dan panel editor Bagan terbuka. Pilih tab CUSTOMIZE di bagian atas panel (Gbr. 11.6D). Buka bagian Bagan sumbu & judul (Bagan dan nama sumbu, Gbr. 11.6E) dan masukkan teks Asli di bidang Judul (Saldo asli, Gbr. 11.6F).

3. Sekarang Anda perlu menyalin data dan formula yang sudah ditambahkan. Pilih sel A1: AK8 dan salinlah.

4. Klik di sel A9 dan tempel. Akibatnya, sel-sel baru A9 akan muncul: AK16 - salinan lengkap dari semua data yang dibuat sebelumnya.

5. Ganti teks dalam sel A10 dengan Rebalanced. Di set ini, kami akan membuat perubahan dan mencoba nilai baru.

6. , , , A10:A15,AA10:AJ15, A2:A7,AA2:AJ7 1 2 Β« Β». , .

7. , .

8. Rebalanced ( ).


, , β€” . , , . , ( ). . 11.17.

1. AK Insert 1 right ( : 1).

2. B Copy (). B.

3. AL Paste (). AL B, .

4. AL Insert 1 right ( : 1).

5. AL1 AL9 Overall Damage ( ).

6. AL3 =SUM(AA3:AJ3). , ( 45.33).

7. , , SUM . AL3 : =ROUND( SUM(AA3:AJ3) ). 45.00. , AL3 , ( ).

8. AM3 =REPT("|", AL3). REPT . ( , Shift , , (\), Return/Enter), 45 , AL3 45. AM3 , . AM, .

9. AL3:AM3 . AL3:AM7 AL11:AM15. , , . , AM, .


, . ? β€” , ? .

  • 6 , , 6 .
  • Valkyria Chronicles, , . 6 , 5 , .
  • (, ) , (, ) . Dalam gbr. 11.7 , , , .
  • , , , , , .

, B11:N15. Percent Chance ( ) Average Damage ( ); , Rebalanced ( ), , Shots (), D/Shot (/) ToHit ( ). , .


Dalam gbr. 11.17 , . , , , .

  • , .
  • , (Shotgun) (Machine gun), : 1) 6- ; 2) , .
  • , .

gambar

  • (Rifle) - .
  • (Sniper rifle) , . 6 , .

, , . , , , ( ) .


, , . , , , , . .

β€” . , , , ( -). , , , . Monopoly, , , , , . β€” , , , ( Monopoly , ). , β€” .

Mario Kart β€” , , . ( , ), ( ). , , , . , , , , , .

Ringkasan


, , , , . , , , , .

Β»Informasi lebih lanjut tentang buku ini dapat ditemukan di situs web penerbit
Β» Isi
Β» Kutipan

20% β€” Unity

Setelah pembayaran versi kertas buku, versi elektronik buku dikirim melalui email.

Source: https://habr.com/ru/post/id447382/


All Articles