Sistem pembuatan senjata

Hai Giktayms, saya ingin berbicara tentang proyek pertama saya di c #. Karena saya tertarik dengan permainan komputer, saya ingin melakukan sesuatu dari bidang ini. Saya mengambil ide dari serangkaian game Borderlands , yaitu sistem pembuatan senjata. Saya memilikinya, tentu saja, lebih disederhanakan.

Saya pikir lebih baik memulai dari awal. Saya sudah mencoba bekerja di C ++, namun, ada yang tidak berhasil. Dia mulai tertarik pada bahasa c # di musim panas, awalnya ceramah video Microsoft sangat membantu. Setelah kursus saya ingin melakukan sesuatu yang menarik. Jadi saya mulai bekerja.

Apa yang saya inginkan sejak awal:

  • Bekerja dengan file .txt dan .bmp
  • Simpan file dan hapus dari direktori yang ditentukan
  • Agar semuanya berfungsi + untuk proses pengembangan yang menyenangkan

Sistem pembuatan senjata itu sendiri sedikit membingungkan. Dalam permainan Borderlands senjata api dibuat, dan bagian-bagiannya sesuai (Butt, Handguard, Barrel, dll.). Mereka dirakit dalam satu potong, dan peralatan jadi menerima karakteristik yang sesuai dengan bagian-bagiannya. Ia juga memiliki produsen, nama, dan level. Ada juga daftar terpisah dari senjata "legendaris" yang sudah dibuat dengan karakteristik khusus dan kemungkinan kecil untuk terjatuh. Saya membuat sistem ini di c #. Hanya ingin melakukan pisau. Sebagai permulaan, saya memutuskan untuk membuat pedang dari dua bagian: pisau + gagang.

Apa yang diterapkan:

  • Kami membaca file txt dengan daftar bagian dan karakteristik yang sesuai.
  • Pilih secara acak setiap bagian (blade + handle).
  • Kami menghubungkan gambar mereka, mengambil rata-rata aritmatika dari karakteristik mereka, menerapkan modifikasi dari produsen, menambahkan nama mereka (kata sifat + kata benda).
  • Beberapa metode tambahan: "jual senjata", "temukan peti" dan "bunuh musuh" (dua yang terakhir berbeda hanya dalam kesempatan mereka untuk mendapatkan senjata legendaris).

File teks adalah item paling sederhana dalam program, mereka berisi garis karakteristik: nama, kecepatan pertempuran, kerusakan, peluang kerusakan kritis, harga, pabrikan, level, dan nomor gambar untuk karakteristik baris ini.

Berikut ini adalah tampilan file teks untuk pedang legendaris:
UltraLord 5 100 20 1000 manusia 11 31.
TitanKiller 6 90 23 1000 orc 11 32.
SoulEater 4 120 21 1000 daemon 11 33.

Dengan gambar itu jauh lebih sulit. Saya harus mengedit gambar yang ditemukan di Internet. Dia membuat gambar piksel 200x600. Agar semuanya pas, saya menempatkan bagian-bagian itu tepat di tengah. Kemudian, masalah lain muncul: skema warna dan detail elemen berbeda. Masalah ini dapat diselesaikan pada tahap awal pembuatan gambar: menggambar dalam satu warna, lalu mengecat senjata yang sudah dibuat.

Semua opsi yang memungkinkan untuk pedang konvensional:



Tiga pedang legendaris:



Keuntungan dari sistem ini:

  • Jumlah senjata jadi bertambah secara geometris dengan penambahan bagian lain. Sebagai contoh, saya memiliki 2 bagian dari 5 buah - total 25 pedang yang berbeda. Jika Anda menambahkan lebih banyak detail dengan 5 instance berbeda, jumlah opsi akan sama dengan 125.
  • Menambahkan kesenangan bermain game adalah keinginan untuk mendapatkan senjata dari bagian terbaik.

Cons:

  • Semua bagian harus cocok untuk satu sama lain.
  • Lebih sulit diimplementasikan.

Saya memposting semuanya di GitHub , membuat komentar di program saya. Proses mengembangkan, menggambar, belajar sangat menarik bagi saya. Menggabungkan bisnis dengan kesenangan. Mungkin saya akan menambahkan lebih banyak jenis senjata: busur, kapak ... Saya juga berpikir tentang mentransfer proyek ini ke Windows Forms dengan penambahan interaktivitas sehingga saya dapat memilih bagian mana yang akan dirakit. Jika ada pertanyaan atau komentar tulis, saya akan coba jawab. Saya akan sangat senang dengan ide-ide baru.

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


All Articles