Proyek kelulusan
Penciptaan permainan dan pendidikan tinggi biasanya dianggap sebagai hal-hal yang tidak sesuai, seringkali cukup tepat. Banyak pengembang indie terkenal keluar dari universitas. Saya akan berbicara tentang pengalaman sebaliknya. Tentang proyeknya yang agak tidak biasa dan bagaimana ia berhasil menggabungkan bisnis dengan kesenangan.
Saya belajar di RSUH tentang ilmu komputer terapan dan pada saat yang sama terlibat dalam hobi saya. Maka, ketika tiba saatnya untuk memilih topik pekerjaan kualifikasi akhir, saya berpikir: "Mengapa memilih pilihannya dan menulis semacam program kidal ketika sudah ada proyek yang hampir selesai: permainan puzzle pertama saya."
Terserah proses ilmiah untuk menggambarkan proses pengembangan dan menyampaikan kepada profesor asosiasi dan profesor ide yang sangat abstrak dari permainan. Bukan tanpa pengajuan: Saya membuat presentasi, ulasan video, menunjukkan prototipe, melaporkan kepada penyelia bahwa saya masih hidup dan dalam bisnis. Tetapi kita harus memberi mereka hak mereka dan mengucapkan terima kasih untuk mendukung inisiatif non-standar.
Akibatnya, materi yang diperoleh selama pengembangan cukup untuk menulis ijazah yang unik (plagiarisme 0%) sepenuhnya dari kepala saya dan pengalaman saya.
Awalnya, tema saya adalah "Mengembangkan video game logis berdasarkan prinsip-prinsip geometris." Kemudian (sesuai dengan standar ISO / IEC) kata "pengembangan" digantikan oleh "desain", yang lebih konsisten dengan teks karya.
Tentang permainan
Game saya adalah game puzzle kombinatorial yang tak tertandingi untuk Android.

Tujuan permainan: mengubah satu angka sehingga menjadi persis sama dengan yang kedua.
Permainan ini memiliki tiga mode.
Dalam "Modus transformasi" formulir diubah dengan mengklik tombol.

Dalam "Mode Rotasi" putaran tiga dimensi ditiru.

"Mode Olahraga" yang canggih menggabungkan dua yang sebelumnya dan dirancang untuk dimainkan sebagai catatan.

Ada juga koleksi angka interaktif, yang diisi ulang saat Anda maju.
Latar belakang
Pengembangan konsep game difasilitasi oleh hasrat lama saya untuk membangun tokoh-tokoh dari banyak kubus. Dari sketsa di pinggir notebook, saya sampai pada bentuk yang lebih kompleks. Gambar gambar tangan terbaru, fraktal ini:

Keterampilan gambar wajah yang tumpang tindih dan pemikiran spasial yang terlatih berfungsi untuk menciptakan angka-angka baru yang terdiri dari segitiga. Ini adalah bagaimana konsep seni awal digambar di CorelDRAW (belum dalam tampilan isometrik) dan salah satu model 3D di Blender terlihat seperti:

Kemudian, saya meninggalkan grafik 3D untuk mendukung animasi vektor di Anime Studio Pro. Berdasarkan hierarki bentuk dan animasi transisi di antara mereka, diputuskan untuk membuat teka-teki.
Logika
Logika permainan dikaitkan dengan beberapa bentuk geometris yang menarik. Jadi, lintasan segitiga berjalan sejajar dengan tepi cuboctahedron berbentuk bintang imajiner dan sepanjang garis lurus yang berjalan melalui pusatnya dan persimpangan tepi.

Dan grafik dari logika mode permainan pertama (transformasi) adalah hypercubes. Pada awalnya, konfigurasi saling berhubungan sebagai simpul 2-kubus (persegi). Dengan berlalunya setiap, ruang angka baru ditambahkan. Pada awal berikutnya, logikanya adalah kubus 3D, lalu tesseract dan, akhirnya, pentect dengan bagian tesseract.

Mode rotasi memiliki logikanya sendiri, berkat hanya beberapa animasi rotasi untuk setiap gambar yang menyediakan visibilitas rotasi dalam empat arah dan penyebaran tiga derajat.

Implementasi
Jadi, saya akan memberi tahu Anda rahasia tentang cara saya mengimplementasikan perangkat lunak desain game. Ini dapat dirumuskan sebagai berikut: sistem yang kompleks adalah implementasi yang sederhana.
Implementasi yang sederhana berarti penggunaan game Construct 2 2D untuk mendesain desainer. Dalam kasus saya, menggunakannya, memiliki beberapa kekurangannya, tetap menghemat waktu dan lebih berkonsentrasi pada kreativitas.
Saya menggambarkan "hyperlogic" yang dijelaskan di atas sebagai hutan penuh pohon biner dan menerapkannya secara linear dalam konstruktor menggunakan peristiwa bersarang. Untuk menghindari konflik antar tindakan, ia memperkenalkan variabel pemblokiran.
Optimasi
Mengingat adanya sejumlah besar animasi dalam game (sekitar 500), pertanyaan optimisasi muncul dengan tajam. Saya tidak akan menyentuh perbaikan spesifik dari "kode" di Construct 2, tetapi saya akan mengatakan tentang optimasi yang lebih umum dari komponen grafis. Untuk meminimalkan konsumsi sumber daya sistem, kami membutuhkan:
- komposisi sprite (karena simetri, bentuk dapat dipotong-potong dan disatukan dari salinan salinan sprite sesuai dengan jenis mosaik);
- memotong tepi gambar yang kosong (ini penting dengan sejumlah besar gambar);
- membalikkan animasi (daripada membuat animasi terpisah dengan urutan terbalik dari frame, lebih baik membalikkan yang sudah ada);
- menurunkan frame rate menjadi 12 fps dan mengurangi resolusi frame perantara dari animasi;
- penggunaan warna 8-bit (kedalaman warna seperti itu sama sekali tidak terlihat karena karakteristik palet permainan).
Gambar gratis: tesseract, penteract, stellate cuboctahedron diambil dari Wikipedia.