Hai
Hari ini saya akan memberi tahu Anda tentang perkembangan rumah fanatik yang lain, tentang seberapa jauh minat dan ketekunan dapat membawa, dan tentang apa yang mereka hancurkan. Secara umum, semuanya standar untuk cerita semacam itu.
Di bawah potongan Anda akan melihat: sejarah rinci pembuatan RTS dengan tangan Anda sendiri (konsep, kode, antarmuka, keseimbangan, peta, model) dan percobaan tentang pengikat pelacak TI sebagai alat masukan.

Baiklah, mari kita mulai.
Di halaman 2014.
Saya seorang mahasiswa Departemen Desain Informasi di Polytech (sekarang "Teknik Grafik dan Desain").
Dengan ijazah sarjana saya, saya mengembangkan sebuah game untuk seorang kinekt tentang duel dua puja, di mana Anda harus menghindari serangan musuh dan melemparkan kail Anda ke dalamnya (DAPATKAN DI SINI !!!).
Dalam pekerjaan master, saya memutuskan untuk melangkah lebih jauh. Pada saat itu, kebaruan teknis muncul di laboratorium di departemen - pelacak TI. Pilihan langsung jatuh pada dirinya. Tidak ada keraguan bahwa pekerjaan itu akan menjadi permainan; yang tersisa hanyalah memilih subjek. Setelah beberapa pemikiran, saya menyadari bahwa saya ingin memberikan kehormatan kepada strategi yang saya tumbuh bersama dan yang membuka bagi saya dunia pemrograman yang luar biasa - Warcraft3.
Tesis master, bagaimanapun, bukan hanya pengembangan suatu produk. Untuk tingkat yang lebih besar, harus mewakili semacam penelitian. Pertanyaan tentang bagaimana mengintegrasikan pelacakan TI ke dalam strategi mengungkapkan kotak Pandora.
Di sini pengalaman bermain bertahun-tahun mulai berlaku. Sebagian besar game mencoba menghapus layar kontrol, memberikan ruang utama untuk konten. Dalam strategi, antarmuka membutuhkan ruang besar. Untuk memahami apa itu unit tertentu, Anda perlu menemukannya di layar, pilih, lihat "bilah status" dan temukan parameter yang diperlukan di sana. Ketika kebutuhan serupa muncul selama pertempuran pasukan besar, urutan tindakan seperti itu sering kali menciptakan kesulitan.

Timbul pertanyaan: karena kita sudah menemukan unit di lapangan, lalu mengapa kita harus memilihnya nanti untuk membaca informasi? Mengapa tidak mendapatkannya hanya dengan melihatnya? Setelah demonstrasi, pertanyaan itu diubah menjadi nama bijak "Fungsionalitas area operasi dari visi manusia dalam interaksi manusia-komputer", yang, pada dasarnya, berarti membandingkan keefektifan mouse dan mata ketika memecahkan masalah menemukan objek dari banyak dan membaca informasi darinya.
Summa technologiae
Ada sebuah topik. Ada sebuah konsep. Itu terserah pilihan teknologi. Setelah tinjauan pasar, pilihan jatuh di antara Unity, UnrealSDK, libGDX, di antaranya Unity + C # dipilih. Setelah menguasai antarmuka, siklus hidup objek di atas panggung dan kemungkinan berinteraksi dengan mereka, saya mulai berkembang.

Berkat keajaiban terbesar di zaman kita - Internet - saya menemukan serangkaian tutorial yang menakjubkan yang memungkinkan untuk membangun dasar mesin untuk game masa depan. Setelah melalui serangkaian tutor selama beberapa malam tanpa tidur, saya memiliki strategi di tangan saya. Itu pekerja yang mampu membangun gedung; pemanen mampu mengekstraksi sumber daya dan bangunan yang mampu menghasilkan unit.
Dasar ini sudah cukup untuk percobaan. Benar, satu komponen penting tidak ada - menghubungkan fungsi pelacak TI ke permainan itu sendiri.

Sistem pelacakan TI adalah sekelompok dua komputer, salah satunya menampilkan insentif yang ditujukan untuk pengguna (sebut saja Demonstrator), dan yang kedua mengumpulkan dan menganalisis informasi yang berasal dari pelacak TI (sebut saja Pencatat). Ada perangkat lunak yang keluar dari kotak dengan pelacak IT, yang memungkinkan untuk menyinkronkan dua mesin, mengkalibrasi pendaftaran tatapan peserta ujian (semua memiliki parameter mata sendiri dan tatapan itu sendiri), dan kemudian menjalankan serangkaian rangsangan statis untuk dilihat. Dalam tugas saya, pendaftaran penglihatan seharusnya diintegrasikan ke dalam program asing.
Untuk melakukan ini, saya harus mempelajari protokol interaksi antara Demonstrator dan Pencatat. Transmisi data dilakukan melalui jaringan lokal menggunakan paket UDP dengan perintah, yang berarti bahwa saya harus menulis klien kalibrasi saya sendiri yang meniru operasi aplikasi default.
Butuh beberapa hari untuk menggali untuk menulis klien. Pertama sebagai aplikasi pihak ketiga. Ini memungkinkan Anda untuk pergi melalui kalibrasi, dan kemudian mengontrol persegi panjang di layar dengan lirikan. Lebih tepatnya, persegi panjang ditarik pada titik fiksasi tatapan. Tampaknya bukan ilmu roket, tetapi kemampuan untuk menggunakan mata bukan sebagai sarana untuk mendapatkan informasi, tetapi sebagai alat untuk output, pengaruh pada dunia luar, kesenangan dan kejutan.
Ketika semuanya sudah siap, sekarang saatnya untuk bereksperimen.

Ada adegan terbatas pada satu layar. Di atasnya, setelah peluncuran, unit (tank, lol) muncul dan mulai bergerak secara acak.

Setiap unit memiliki jumlah kesehatan tertentu. Semua unit memiliki kesehatan maksimum, kecuali satu yang memiliki setengah tingkat HP. Ketika sebuah unit disorot, kita melihat bingkai di sekitarnya dengan indikator kesehatan. Siapa yang memiliki kesehatan penuh - indikatornya hijau dan penuh. Di unit yang terluka, dia merah dan setengah penuh. Tujuannya adalah untuk menemukan tangki yang terluka di antara yang lain dan tetap mengisolasinya untuk sesaat. Parameter terukur utama adalah waktu yang dibutuhkan untuk menyelesaikan tugas ini. Eksperimen terdiri dari 5 level, berbeda dalam jumlah unit pada tahap - 5, 10, 15, 20, 25. Hipotesisnya adalah bahwa menyelesaikan masalah ini dengan bantuan pelacak TI akan membutuhkan waktu lebih sedikit.
Percobaan dilakukan, data dikumpulkan. Waktunya telah tiba untuk memproses statistik. Saya menggunakan alat biasa - PHP dan JavaScript, menghitung kriteria Fisher dan menemukan bahwa perbedaan antara menggunakan kursor dan menggunakan itracker signifikan secara statistik. Tentu saja, kecepatan eksekusi tugas digunakan sebagai variabel dependen. Kemudian saya memvisualisasikan hasilnya menggunakan D3.js.
Secara umum, biasanya untuk memecahkan masalah seperti itu baik bahasa R atau program SPSS terlibat. Tetapi pada dasarnya saya suka menghemat energi dan sumber daya mental. Saya menganggap membuang waktu untuk mempelajari alat tambahan ini sebagai investasi yang tidak efisien.

Gambar yang dihasilkan melebihi harapan saya. Ternyata subjek yang menggunakan pelacak IT memecahkan masalah dua kali, dan hingga 15 objek tiga kali lebih cepat daripada subjek dengan mouse.
Penelitian dan penyelia meresmikan
artikel itu dan diterbitkan dalam jurnal Persepsi.
Wow! Sukses, ketenaran, dll.
Di sini saya ingin secara terpisah menyebutkan atasan saya. Berkat dia, saya menulis diploma saya, dan secara keseluruhan bergerak menuju pemrograman dan interaksi manusia-komputer. Pavel Orlov (
1 dan
2 ), sekarang ia mengajar di Imperial College London, tetapi secara umum ia mempelajari orang-orang dengan bantuan pelacak TI dan menciptakan semua jenis lelucon keren.
Pada prinsipnya, orang bisa berhenti pada tahap ini, tetapi jiwa artis berteriak bahwa sebagai karya kelulusan master, sesuatu yang lebih bisa ditampilkan daripada proyek sederhana yang terjebak bersama dalam tutorial.
Belajar berjalan
Untuk permainan menjadi permainan, itu harus memiliki konsep, ide, alur, logika. Peristiwa tidak boleh terjadi pada pesawat berumput yang tak ada habisnya, tetapi pada peta tertentu, di mana, di samping bangunan dan sumber daya, elemen bantuan dan beberapa jenis vegetasi harus ada ... Unit jelas harus tidak hanya bisa bergerak, tetapi interaksi pemain dengan dunia harus dilakukan melalui antarmuka yang bijaksana.

Dibutakan oleh peluang dan prospek, saya mulai menulis kode. Pertama-tama, saya memberi unit kesempatan untuk menyerang. Yah, karena mereka menyerang, tentu saja, bahwa mereka akan membutuhkan perlindungan, jadi unit saya telah ditumbuhi baju besi. Bangunan berada dalam bahaya kehancuran, jadi unit harus belajar bagaimana memperbaikinya. Dan mengapa tidak sekaligus menambah kemampuan untuk menjual bangunan yang sama ini? Dan jika Anda terlihat sedikit lebih menjanjikan, apakah mungkin mempersenjatai bangunan itu sendiri sehingga mereka dapat menembak balik dari musuh?
Gagasan ini menjadi landasan yang menentukan pengembangan lebih lanjut dan penyempurnaan lengkap proyek saya. Pada titik ini, saya memiliki kelas WorldObject dari mana Unit dan Bangunan diwarisi, masing-masing memiliki fungsi yang sesuai. Unit bisa bergerak, menyerang, mendapatkan sumber daya, membangun gedung. Bangunan bisa berdiri dan menghasilkan unit, tetapi mereka tidak bisa bergerak dan menyerang. Ada keinginan untuk membuat gedung keamanan - menara atau menara. Menara harus secara inheren bangunan, tetapi memiliki kemampuan serangan yang melekat dalam unit. Itu menghancurkan semua rencanaku. Itu perlu entah bagaimana menghapus fungsionalitas serangan dari kelas Unit ...
Tetapi adalah mungkin untuk melihat masalahnya secara lebih luas. Apakah ada tautan perantara lainnya antara bagian belakang dan unit? Apakah ada situasi lain dalam menggunakan kemampuan dari satu kelas ke kelas lain?
Untuk menganalisis penerbangan, saya memutuskan untuk mempelajari: ketidakkonsistenan apa lagi yang ada dalam game yang diambil untuk referensi - Warcraft3. Dan tahukah Anda? Ternyata mereka di sana seluruh galaksi. Ada bangunan yang bisa menyerang, seperti Guard Tower atau Orc Burrow. Ada orang-orang yang juga bisa bergerak, misalnya, Kuno Perang. Ada unit yang tidak dapat menyerang, seperti Wisp atau segala jenis domba dan babi netral yang berlarian di sekitar peta (makhluk). Di benak saya terus terpikir tentang sifat perbedaan antara bangunan dan unit, dan saya menyadari bahwa tidak ada perbedaan seperti itu. Ini hanya makna yang dikenakan pada program oleh para pemain untuk kenyamanan mereka sendiri. Hanya ada unit dan kemampuan mereka - untuk bergerak, menyerang, memproduksi unit, membangun gedung, mendapatkan sumber daya dan sebagainya.

Solusi yang jelas untuk situasi ini adalah pembuatan antarmuka yang dapat diimplementasikan unit. Berikut ini dibuat: MoveAbility, RotateAbility, AttackAbility, DefenseAbility, HpRegenAbility, DefenseAbility, ProduceAbility, BuildAbility, RepairAbility, SellSelfAbility. Unit ini pada dasarnya tetap hanya sebuah wadah dengan nama, gambar dan model. Semua kemampuan lain melekat padanya di atas.
Dunia baru yang berani
Sekarang terserah konsepnya.
Biarkan saya mengingatkan Anda bahwa kasus ini terjadi pada tahun 2014. Kemudian ada semacam stagnasi dalam genre strategi, dan ini memengaruhi pilihan genre game itu sendiri. Juga di tahun-tahun itu, ada peningkatan yang jelas dalam popularitas pengaturan steampunk. Saya adalah penggemar berat dunia, mengenakan tembaga dan kuningan, diselimuti uap, bergegas ke masa depan mekanis mereka. Tapi bagi saya rasanya membosankan membuat game hanya dengan tendangan steampunk dan saya mencari pengembangan sebuah ide. Saya ingin menambahkan konfrontasi ke permainan. Dan apa yang bisa ditentang secara maksimal terhadap peradaban industri teknogenik? Tentu saja, sihir dan persatuan dengan alam! Ya, tentu saja, Anda mengatakan Arcanum, tapi sialnya, seiring waktu keindahan dari pengaturan semacam itu tidak hilang. Selanjutnya, Anda akan melihat bahwa proyek tersebut tidak berkembang menjadi tiruan, tidur oleh seorang siswa di lututnya, tetapi menjadi sesuatu yang sama sekali berbeda. Mungkin dalam kebalikan ideologis Arcanum.
Siapa yang akan mendiami dunia ini? Menurut pendapat saya, permainan fantasi modern (dan ini akhirnya fantasi) kini mengalami krisis arketipe. Jelas, ini karena penolakan universal, semuanya menjadi lebih mudah diakses, dan untuk ini lebih dimengerti. Tapi ini membuatnya tidak kalah menjengkelkan untuk melihat "orang-orang" biasa yang membosankan di mana-mana, sedih mempesona otot-otot "orc", asam dari rahmat "elf" dan yang lain begitu tidak bisa dipahami dan terlepas sehingga mata kabur, "protoss".
Saya ingin sejauh mungkin dari semua ini, abstrak sendiri. Dan apa yang bisa lebih abstrak daripada bola? Saya beralih dari bentuk geometris yang sempurna ini. Menambahkan sebagian biomorfisme "zerg" ke dalamnya (ya, ia berdosa terhadap dirinya sendiri). Saya berpikir: mengapa makhluk abstrak tidak memiliki kemampuan untuk membentuk tubuh mereka dan semua jaringan integumen?

Jadi bola-bola itu lahir.
Mereka hidup. Mereka tidak memiliki anggota badan. Mereka memiliki kemampuan telekinetik untuk berinteraksi dengan dunia dan kemampuan untuk bernyanyi (seperti lumba-lumba) untuk berkomunikasi satu sama lain. Mereka mengisi planet ini cukup padat, tetapi dua pusat kekuatan terbentuk.

Pertama adalah tradisional, konservatif, di mana mereka percaya bahwa mereka adalah anak-anak dari alam dan harus diintegrasikan secara maksimal ke dalamnya dan berkontribusi pada perkembangannya.

Yang kedua - mereka yang menganggap diri mereka sebagai puncak dari algoritma evolusi alam, yang berarti para penguasa yang memiliki hak untuk membakar hutan di bawah pabrik dan melampaui langit dengan asap dan uap. Dan, sayangnya, menurut standar (kue, dia meninggalkan orc, tetapi dia tidak meninggalkan rubah), keinginan kedua untuk menaklukkan dunia memaksa mereka untuk mencari perluasan basis material mereka dan memimpin kapal perang mereka ke tanah yang dipenuhi hutan dan berkilau dengan cahaya kristal ...
Di balik dasi ini adalah singgungan pada peristiwa yang sepenuhnya bersejarah. Bukankah begitu pada suatu hari yang tidak terlalu indah orang-orang India melihat tiang kapal conquistador di cakrawala? Di dunia bola-bola, sejarah terulang kembali, hanya kepada orang-orang India setempat kita memberikan ilmu sihir yang sesungguhnya, dan para penakluk berlayar bukan dari Spanyol pada abad ke-15, tetapi, katakanlah, dari Bismarck Jerman.
Maka dimulailah perang yang menghancurkan kedua peradaban. Permainan kami seharusnya dimulai pada fragmen-fragmen dunia masa lalu, di mana sebuah suku muda mulai mencari dirinya sendiri dalam perubahan sihir dan teknologi ini.
Antara rebana dan roda gigi
Tapi apa pengembangannya?
Hanya ada satu balapan dalam game, tetapi dalam alurnya ia dapat memodifikasi dirinya sendiri. Pengalaman yang diperoleh dari membunuh dan menjelajahi dunia memungkinkan Anda memulai pengembangan di cabang-cabang sihir dan teknologi.

Pertama-tama, kami memilih dua cabang - Penciptaan dan Penghancuran. Di masing-masing dari mereka beberapa galeri menembak. Penerimaan masing-masing dari mereka mempengaruhi semua unit dan semua struktur balapan. Penciptaan bertanggung jawab untuk semua karakteristik konstruktif - pengembangan dunia, produksi, ekstraksi sumber daya dan sebagainya. Penghancuran, pada gilirannya, bertanggung jawab atas penghancuran jenis mereka sendiri dan segala sesuatu yang bergerak.
Setelah memompa di satu cabang dalam satu arah, Anda segera memblokir peluang untuk melanjutkan di cabang lain. Pada akhirnya, untuk menjawab pertanyaan, berapa banyak ras dalam game yang bisa berbeda - itu adalah satu, tetapi dengan potensi pengembangan 4 yang sama sekali berbeda.
Dan di sini kita punya konsep. Jadi, inilah saatnya untuk memutuskan siapa yang akan ada dalam permainan kita! Apa unit dan bangunan, bagaimana mereka akan berubah. Setelah banyak diskusi, kami memutuskan untuk fokus pada serangkaian strategi dasar - seorang pekerja (membangun bangunan, mengekstraksi sumber daya), unit ringan (cepat, lemah), unit berat (kuat lambat), katapel (sangat lambat, sangat tipis, pertempuran jarak jauh). Dari bangunan - pangkalan (menghasilkan pekerja), sarang (memberi peningkatan makanan), barak (menghasilkan unit ringan dan berat), bengkel (menghasilkan ketapel), tempat perlindungan / pabrik (memungkinkan pemompaan).
Ya, saya benar-benar lupa berbicara tentang sumber daya game. Kami memutuskan untuk tetap berpasangan klasik - kristal + batas makanan, serta sumber daya tambahan untuk kemajuan di sepanjang pohon pembangunan. Kristal diekstraksi dari endapan yang tersebar di peta (halo starcraft), batas makanan ditingkatkan dengan pembangunan gedung khusus - sarang. Sumber daya tambahan diperoleh dengan membangun salah satu dari dua jenis bangunan di geyser beracun - suaka atau pabrik. Selain itu, game ini memiliki pengalaman yang diberikan untuk penghancuran pasukan musuh dan makhluk netral. Jika seorang pemain mendapatkan level baru dan memiliki tempat perlindungan atau pabrik, maka ia dapat memompa satu kegembiraan di pohon pengembangan.
Tetapi kembali ke unit dan leveling.
Berpikir lama, kami berpikir tentang bagaimana cabang upgrade akan memodifikasi unit. Datang ke berikut ini:
- Steampunk + Destruction akan meningkatkan kerusakan dan jangkauan unit.
- Steampunk + Creation membangun kekuatan produksi, menempatkan semua orang dalam pelindung, dan juga meningkatkan profitabilitas setiap langkah karyawan.
- Magic + Destruction, pada gilirannya, membuat unit lebih cepat dalam serangan dan mengurangi biaya mereka, mengubah ketapel menjadi senjata yang tergantung di dinding.
- Sihir + Penciptaan meningkatkan stok kesehatan, dan juga secara signifikan meningkatkan kecepatan gerakan.
Ingat, saya katakan di atas bahwa permainan itu ternyata merupakan lawan ideologis dari Arcanum? Di dunia yang kami ciptakan, teknologi dan sihir tidak saling eksklusif. Fantasi sekarang dan kemudian menyelinap kami visi penyihir berjalan di kaki mekanik, dan tank, digerakkan oleh kristal ajaib bukan pembangkit listrik tenaga uap atau diesel.
Temukan titik kesetimbangan
Semua ini terdengar sangat sederhana, tetapi ketika kami mencoba mentransfer narasi ini ke dalam ruang angka, nilai yang tepat dan pertumbuhannya, semuanya ternyata SANGAT bingung. Sangat mudah untuk melempar beberapa delta nilai untuk kemampuan, misalnya, unit ini mengambil +20 kerusakan, dan ini +15 untuk kecepatan gerakan. Tetapi kemudian sangat sulit untuk mengurangi sejumlah besar parameter ini menjadi seimbang.

Di tabel Google yang besar, kami mencatat semua perubahan yang diinginkan untuk setiap unit, dengan fokus pada rasa keindahan. Perasaan keindahan bekerja bersama-sama dengan empiris batin, sehingga setiap perubahan nilai segera diperiksa pada adegan uji pertempuran.

Pada titik tertentu, di suatu tempat di tengah malam berikutnya, muncul pengertian bahwa merasa cantik itu baik, tetapi hanya logika dan alat matematika yang dapat mengarah pada keberhasilan dalam suatu tugas.
Menjadi jelas bahwa semua nilai harus dikurangi untuk setiap unit menjadi satu atau lebih koefisien, yang sudah bisa kita bandingkan. Ternyata seluruh sekolah dan seluruh universitas tidak mempersiapkan Anda untuk menghitung efektivitas pembangun. Tidak begitu jelas siapa yang akan membawa lebih banyak ke kas - orang yang memuat lebih banyak di ransel atau orang yang bergerak lebih cepat.
Setelah tidur malam trik matematika, formula untuk menghitung efektivitas berbagai jenis unit dan bangunan dibangun, dan tahap ini lebih atau kurang dilewati.Lalu, mungkin, sebuah pertanyaan menyelinap di kepala Anda: bagaimana semua kegilaan ini terbawa ke dalam permainan? Saya akan menjawab dengan cepat - untuk pertama kalinya, dengan metode interupsi yang sangat teliti. Tetapi pada saat masing-masing cabang menerima 2 tahap pengembangan di setiap arah dan jumlah unit mencapai 9, maka programmer malas internal saya memberontak. Bagaimana - bagi saya, yang tidak gemetar makhluk, bahwa saya harus melakukan rutinitas yang membosankan dan bodoh?!Kemudian saya membuat aplikasi web untuk menghasilkan pohon aliran.
RTSeditor (seperti yang saya beri nama dengan tangan ringan) memungkinkan untuk membuat struktur pohon itu sendiri dan menunjukkan untuk setiap node kenaikan nilai yang dibutuhkan oleh unit IAbility. Nol nol menentukan konfigurasi awal setiap unit game.Sistem ini mengembalikan JSON, yang sekarang diterima oleh Unity dan mengkonfigurasikan objek game (sejumlah waktu juga harus dikalahkan atas sistem impor ini, karena itu tidak mudah untuk membangun dan berjalan di sekitar pohon).Akhirnya, pekerjaan itu dilakukan, dan alih-alih penyiksaan hebat, alat yang mudah didapat yang memungkinkan Anda untuk dengan cepat mengkonfigurasi semua "konten" dari permainan.Musik Ainur
Di sini saya ingin memasukkan komentar. Sepanjang cerita, saya menggunakan kata ganti yang berbeda - lalu saya, lalu KAMI. Faktanya adalah saya memulai proyek sendiri, melakukan studi, menciptakan "mesin" permainan, dll. Tetapi kemudian dengan aktivitas saya, saya menjadi tertarik pada rekan-rekan saya dan pada awalnya dua orang bergabung dalam proses tersebut - Vladimir Ermakov ( Avega ) sebagai programmer berpengalaman dan Pavel Shilin sebagai konsultan deskriptif-seniman. Kemudian Anna Trofimova dan Nikolai Morozov ( Avatar4eg ) ditambahkan untuk membantu masing-masing lansekap dan pemrograman. Teman baik saya Dmitry Mashoshin juga memiliki andil dalam menciptakan keseimbangan untuk beberapa malam di masanya.Vladimir membantu mencapai keputusan untuk mentransfer unit ke sistem IAbility, dan kemudian memutuskan untuk menghubungkan proyek kelulusannya dengan permainan. Tema dan tujuannya adalah untuk menulis AI. Sebuah tugas yang cukup besar, yang secara umum diselesaikan, dan lawan komputer kami belajar membangun kembali pangkalan dan mengirim pasukan mereka ke pangkalan yang ditemukan musuh dengan sebuah konveyor.Mari kita kembali ke pengembangan. Ketika kita sudah memiliki berbagai fungsi, menjadi tak tertahankan untuk menyaksikan bagaimana kehidupan yang berkembang ini merumput di bidang berumput yang tak berujung. Saya ingin menciptakan dunia untuk mereka, dan saya mulai membuat peta.Langkah pertama saya menganalisis kartu WC3. Saya belajar bahwa mereka terdiri dari beberapa titik awal yang terletak secara simetris, kamp unit netral, titik untuk pengembangan lebih lanjut dari pangkalan dan sistem jalan yang licik di antara semua ini.Yah, saya mencoba membuat sesuatu yang serupa, tetapi milik saya (heh, dengan kata-kata ini Anda dapat menulis seluruh pengembangan secara keseluruhan).
Pada awalnya peta dibuat dan dirancang di atas kertas.Kemudian diuraikan dalam Photoshop dalam peta tinggi hitam dan putih. Awalnya ketat, lalu diperoleh kelancaran, kehalusan dan kebisingan. Poin penting di sini adalah untuk mempertahankan perbedaan antara permukaan permukaan yang tidak bisa dilewati dan turun dan naik.Setelah itu, struktur ini diekstrusi dari pesawat yang sudah ada di Unity. Ternyata lega yang baik, sangat mirip dengan kartu permainan.Tapi ada yang salah dengannya. Dia benar-benar putih dan berteriak keras-keras - TAMBAHKAN SAYA TEKSTUR.Apa yang saya lakukan.
Saya tidak punya waktu untuk menggambar tekstur saya (saya akui, tetapi waktu untuk lulus diploma cocok, dan saya harus berbalik), jadi WorldOfWarcraft tekstur yang diunduh dari sumber terbuka digunakan.

Unity memiliki fungsi tekstur yang luar biasa yang memungkinkan Anda menggambar tekstur di atas formulir seperti kuas. Ini memungkinkan untuk menandai zona dengan cepat, dan kemudian itu adalah masalah detail dan elaborasi. Tampaknya lapangan bermain adalah elemen sekunder latar belakang, tetapi mata pemainlah yang melihatnya sepanjang permainan, jadi saya ingin membuat peta ini benar-benar menarik dan hidup. Di sini saya ingin mengucapkan terima kasih kepada Ana, yang banyak membantu saya dalam proses tekstur dan membuat sorotan nyata dari peta.Kejutan besar menunggu kami di sini. Unit kami bergerak dengan sempurna di sepanjang bidang rumput yang dibenci itu, dengan cekatan berjalan ke titik menekan sepanjang garis lurus yang ideal. Ketika rintangan dan penyimpangan mulai muncul di jalan mereka, masalah mulai dengan gerakan. Ya, bola tidak memiliki kaki, tapi itu tidak menghentikan mereka dari memecahnya menjadi gundukan kecil. Ada kebutuhan untuk memberikan unit suatu algoritma untuk menemukan jalan.Di sini, seorang Vladimir yang berpengalaman datang ke bisnis, yang mengeksplorasi topik dan menyadari bahwa terlalu sulit untuk menerapkan metode apa pun yang ada untuk menyelesaikan masalah. Plugin (modul?) Untuk Unity dengan cepat ditemukan yang memecahkan masalah - A *. Vladimir menemukan antarmuka dan menyesuaikannya dengan kebutuhan kita. Setelah itu, unit-unit mulai dengan sempurna menemukan jalan bahkan ke ujung lain dari peta, ketika sebelumnya mereka adalah batu, dataran rendah, dan kesenangan lain dari lanskap.Setelah penciptaan dunia, pertanyaan yang paling gelisah menjadi relevan - mengapa semua unit kami CUBES sialan?Waktunya telah tiba untuk memberikan bola bentuk yang tepat, untuk menempatkan mereka di bangunan karakteristik penampilan mereka, untuk memberi mereka alat untuk pengembangan dunia baru dan senjata.Di sini saya ingin mengatakan bahwa sebelum kelulusan beberapa minggu tersisa. Setelah menghitung kemampuan waktu saya, saya sampai pada kesimpulan bahwa saya memiliki sekitar 4 jam pada satu model dan modifikasinya. Saya harus bekerja cepat, mengalir dan sampai batasnya.Bentuk yang tak berbentuk
Temui bola-bola!

Ini adalah pekerja dasar. Yang pertama dipompa ke sihir penuh, yang kedua ke teknologi penuh. Satu, dengan bantuan fragmen kristal yang telah ia tanam pada dirinya sendiri, dapat menyeret kristal dari endapan ke batu lain dan mengirimkannya ke sarang semut untuk digunakan lebih lanjut. Yang kedua memakai alat teknologi dan wadah besar untuk dibawa.

Tapi sarang tempat orbs hidup. Di tengah adalah pangkalan varinat. Ke kiri adalah pengembangan menjadi sihir, ke kanan, ke teknologi. Terlebih lagi, baik di sana maupun di sana ada perkembangan di sepanjang cabang kehancuran dan penciptaan, oleh karena itu mereka tampak begitu integral. Tapi, seperti yang Anda tahu, ini jauh dari selalu terjadi.

Dan inilah sarang hibrida. Penopang baja dan kristal ajaib dari atas? Kenapa tidak Sebaliknya, saya lebih suka persatuan dengan alam, tetapi pada saat yang sama saya ingin memiliki sistem pemanas? Tolong.

Secara total, 6 objek (3 unit dan 3 bangunan) + 4 modifikasi (2 sihir, 2 teknis) dimodelkan untuk permainan. Sayangnya, tidak ada cukup waktu untuk unit lampu dan totem.
Semua modifikasi dirancang sedemikian rupa sehingga sebagian dari mereka berubah selama pengembangan cabang kehancuran, dan bagian dari cabang penciptaan.
Dengan demikian, permainan menjadi beragam secara visual. Anda sedang menunggu pemompaan rentang pemotretan berikutnya selama pertandingan, seperti liburan, karena setelah itu semua unit Anda akan diubah dan akan lebih mencerminkan karakteristik dan gaya permainan Anda.
Dalam Unity, ini ditambahkan sebagai berikut - unit memiliki elemen dasar, misalnya, sebuah badan, ditambah setiap galeri pemotretan (mengingat yang dasar) memiliki tautan ke elemen grafis yang sesuai. Ketika sebuah unit muncul di tempat kejadian, bagian dasarnya dibuat, dan kemudian semua body kit yang diperlukan ditambahkan ke struktur WorldObject dari aset.
Jendela ke dunia
Dan sekarang gim ini bahkan sudah terlihat seperti gim. Tapi tetap saja, ada sesuatu yang belum diselesaikan di dalamnya. Ada dunia, makhluk bergerak di sepanjang itu, bangunan sedang dibangun, sumber daya sedang diekstraksi. Pertempuran terjadi, pengalaman diperoleh dan ras memilih jalur pengembangan mereka.
Lalu mengapa pemain menderita? Faktanya adalah bahwa antarmuka yang memadai tidak dikembangkan, HUD, seperti yang biasa disebut dalam game.
Untuk mengatasi masalah membangun antarmuka, saya awalnya mengumpulkan analog, lama dan baru - Command & Conquer, Cossack, Warcraft 3, Starcraft 2, Warhammer, Dota, LoL - dan mulai menganalisis elemen-elemen penyusunnya.
Antarmuka gim (seperti cara lainnya) harus mencerminkan lokasi saat ini dan keadaan protagonis, serta menyarankan cara untuk mengubah keadaan ini. Secara umum, ini adalah ketersediaan sumber daya, informasi tentang unit yang dipilih (seperti lokasi, kesehatan, tindakan yang mungkin dan penjelasan untuk mereka), lokasi semua unit di minimap, kemampuan untuk menjeda dan meninggalkan permainan.

Setelah melihat bagaimana grandees melakukan tugas-tugas ini, saya mencoba untuk merakit struktur saya sendiri, sesuai dengan pola pengguna yang biasa, tetapi menempati jumlah minimum ruang layar.
Pada zaman kuno itu, alat Unity asli untuk membuat HUD adalah sejumlah kecil elemen yang perlu dibuat dan ditempatkan di layar langsung melalui kode.
Setelah Anda menulis antarmuka adaptif halus yang indah di html + css, tampaknya, tentu saja, fanatisme yang paling liar, tetapi apa yang dapat Anda lakukan. Saya harus beradaptasi, menghitung berbagai indentasi, terus-menerus mempertimbangkan lebar dan tinggi layar.

Meniduri keindahan antarmuka seperti itu adalah tugas yang sangat suram, jadi untuk awalnya diputuskan untuk mengeksekusinya dalam warna netral dalam bentuk datar.
Segera setelah basis dilemparkan, muncul pertanyaan menciptakan sejumlah besar ikon untuk acara utama dan elemen antarmuka lainnya.
Menjadi jelas bahwa menggambar semuanya adalah tugas yang sama sekali tidak ada harapan dengan batas waktu yang ketat, dan saya mulai mencari alternatif. Saya menemukan proyek yang luar biasa - GameIcons, menciptakan ikon sederhana gratis untuk game indie. Semua komponen yang diperlukan ditemukan di dalamnya dan antarmuka dirakit.
Dalam perkembangannya, kebutuhan untuk membuat minimap muncul. Memiliki sedikit otak atas kemampuan Unity, saya menambahkan ke setiap unit di atas persegi panjang dengan ukuran yang sesuai, yang hanya dapat dilihat melalui kamera khusus yang dipasang di atas seluruh bidang.
Segera setelah minimap siap, ada keinginan untuk mengkliknya untuk mengirim unit pada perjalanan panjang, yang dengan cepat saya sadari.

Perlu disebutkan bahwa bagian dari antarmuka adalah tampilan informasi tentang kesehatan unit, dari mana semua itu dimulai. Saat menyorot, sekarang ada lingkaran di sekitar unit, warna yang mencerminkan hubungan unit ini dengan Anda: ramah lingkungan, kuning - netral, merah - bermusuhan. Di atas unit itu sendiri, bar kesehatan juga ditampilkan, yang juga berubah warna tergantung pada kuantitasnya.
Untuk menghemat ruang di layar, diputuskan untuk membuat bar kesehatan semua unit dengan panjang tertentu (sehingga saat memompa dan buff, bar kesehatan 10.000 hp tidak akan dari tepi layar ke tepi).

Interaksi dengan dunia tidak berakhir di sana. Elemen penting dalam memahami keadaan dunia dan kemungkinan untuk berubah adalah kursor. Di web, paling sering berubah menjadi foot untuk menampilkan elemen yang dapat diklik, dan menjadi carriage untuk teks yang dapat dipilih.
Dalam permainan, sama seperti kita harus memahami siapa yang mengangkat tangan mereka dan apa yang harus dilakukan dengannya. Jadi, ketika menyoroti, kita perlu memahami unit siapa itu, dan ketika pindah ke keadaan tindakan tertentu (serangan, gerakan, produksi), menunjukkan kemungkinan interaksi.
Begitu semua tindakan dasar muncul, mereka ingin melakukannya dari keyboard untuk kecepatan. Untuk melakukan ini, kami menambahkan set input keyboard yang bergantung pada status pemain.
Dan, tentu saja, pengalaman dan leveling tree.

Kami mendapatkan level - tombol khusus untuk memompa cahaya, pohon terbuka. Ini menunjukkan dalam warna hijau apa yang telah kita pelajari, dalam warna hitam - apa yang bisa kita tuju, dan warna merah - apa yang tidak bisa kita lakukan.

Setelah membuka rentang pemotretan tertentu, kami melihat semua perubahan yang dia lakukan pada permainan, dan kemudian kami memutuskan apakah kami ingin memompanya.
Ya, itu terlihat agak canggung, tapi itu baru permulaan!
Dan sekarang semuanya siap untuk peluncuran pertama! Hore, jauh di belakang, di depan ruang pilihan pengembangan tanpa akhir.

Tetap menambahkan hanya layar mulai - dan teruskan, jelajahi hamparan Evenedium yang menakjubkan. Oh ya, saya tidak mengatakan bahwa setelah brainstorming diperkuat kami memilih nama?
BAHKAN.
Ayo pergi!
Dan beberapa screenshot untuk mereka yang tidak ingin menonton video di atas.



Finita?
Versi dasar gim sudah siap.
Ya, ini sangat sederhana, tetapi itu hanya memberi kami alasan untuk membuat kumpulan tugas yang sangat baik untuk pengembangan lebih lanjut - di sini Anda akan menemukan unit baru, dan kabut perang, dan kemampuan dengan generator yang menyertainya, dan cabang pompa baru, dan lebih banyak variabilitas, dan kampanye, dan multipemain, dan monetisasi ...
Ya, omong-omong: Saya membela diri dengan sangat baik, tapi itu tidak mengejutkan saya. Saya lebih bersemangat tentang masa depan game, untuk implementasi yang saya segera mulai bekerja.
Papan ketik mendidih, selama sebulan lagi kami secara aktif menulis sesuatu, dan tiba-tiba, tiba-tiba, saya menemukan bahwa satu tahun pengembangan telah berlalu! Selama satu tahun penuh saya meneliti penciptaan gagasan ini, ditumbuhi rekan kerja, dan sekarang kami adalah sebuah tim, kami memiliki produk dan masa depan yang cerah. Kami memutuskan untuk merayakannya.
Komit terakhir mulai bertemu semua orang dengan pos seperti itu.

Dan ya. Yang terakhir. Mungkin aneh, tetapi pada saat itulah para lelaki, yang pada akhirnya dengan serius membantu penciptaan, memutuskan untuk meninggalkan proyek. Dia membutuhkan waktu dan usaha, yang untuk itu mereka belum siap. Mereka tidak melihat dalam dirinya baik prospek maupun makna.
Bagi saya itu adalah kejutan. Menyerang, pukulan cukup keras.
Tidak akan ada kesimpulan panjang, mengapa begitu? Semuanya dijelaskan di atas.
Secara umum, saya bangga bahwa saya mengejar impian saya untuk menciptakan dunia dan membawanya ke keadaan seperti itu.