Pengakuan seorang pecandu desain. Bagaimana kami membuat game "IT Alchemy" dalam sebulan

- Halo, Habr! Nama saya Zhenya dan saya seorang pecandu proyek.
- (serangkaian suara tidak konsisten) Halo, Zhenya!

Setelah perkenalan semacam itu, referensi untuk bekerja biasanya diikuti sampai larut malam di hari kerja dan sepanjang hari di akhir pekan, menghitung kilogram junk food yang dimakan, deskripsi warna-warni dari malam tanpa tidur sebelum batas waktu, dan pada akhirnya kekosongan dan detasemen yang muncul setelah akhir proyek ... Dan semua ini akan lebih jauh dalam teks, tetapi pertama-tama sedikit latar belakang.



Saya seorang pengembang di Dodo Pizza Engineering. Banyak orang dari tim kami berpartisipasi dalam berbagai proyek sampingan. Tahun lalu, misalnya, itu adalah pencarian telegram tentang kurir CMAN , yang didedikasikan untuk Moscow DotNext 2018 . Tahun ini, kami memutuskan untuk melanjutkan tradisi dan membuat permainan lain sudah dengan DotNext 2019. Jadi, itu September, ada beberapa bulan sebelum konferensi, dan kami sangat membutuhkan rencana.
FYI: Ini adalah bagian pertama dari artikel tentang Alkimia TI. Bagian selanjutnya adalah rincian teknis dari pengembangan game.

Rencana proyek yang ideal


Kami memahami bahwa mengulangi kisah tahun lalu tidak akan berhasil. Pertama, lalu itu adalah pertama kalinya, dan pertama kali menurut definisi adalah unik. Kedua, dan ini mungkin yang paling penting - proyek itu telah dikembangkan selama beberapa bulan. Dan beberapa minggu sebelum acara, para pengembang umumnya pergi untuk melakukannya untuk waktu penuh.

Ya, tujuan kami lebih sederhana: kami memiliki lebih sedikit orang, tenggat waktu yang lebih pendek dan terlalu banyak pekerjaan utama untuk bermain selama jam kerja. Dalam sesi brainstorming bersama, seseorang menyarankan untuk membuat variasi TI dari game populer Alkimia bertahun-tahun yang lalu.

Biarkan saya mengingatkan Anda secara singkat untuk mereka yang tidak menemukan waktu-waktu tersebut: pemain memiliki jumlah elemen awal (biasanya 4), dengan menggabungkan mereka, Anda dapat mengumpulkan lebih banyak dan lebih banyak lagi yang semakin sulit. Tugas pemain: untuk membuka semua elemen. Dalam Alkimia asli, sejumlah elemen hingga mencapai beberapa puluh ribu.


Cuplikan layar Alkimia 2013 yang sama

Bagi saya ide kami adalah proyek yang ideal selama sebulan karena tiga alasan:

  1. Tugas yang secara teknis jelas: menggunakan server backend, menulis klien untuk ponsel, menggambar antarmuka dan gambar elemen.
  2. Kata-kata dari tema IT diminta untuk digabungkan satu sama lain (hehe, andai saja).
  3. Tugas yang saya pribadi tetapkan untuk diri saya sendiri: membuat permainan hanya di waktu luang saya, pada akhir pekan, tanpa banyak ketegangan. Kami jelas tidak ingin mengulangi pengalaman tahun lalu.

Aturan perakitan: harus tepat waktu dalam 30 hari


Apa yang perlu dilakukan pertama kali untuk mengumpulkan proyek yang layak dalam sebulan? Itu benar - potong ruang lingkup! Faktanya, semua pekerjaan kami dibagi menjadi empat blok:

  1. Server backend. Misha Kumachev ( Ceridan ), yang merancang backend untuk CMAN, bertanggung jawab untuk itu.
  2. Klien persatuan untuk Android dan iOS. Bagian ini ada pada saya karena saya sudah memiliki selusin prototipe dan dua game yang diterbitkan di Google Play.
  3. Desain antarmuka dan ikon, ini dilakukan oleh Tanya Turmanidze.
  4. Dan ... konten untuk game. Tapi blok ini sudah lama tidak memiliki pemilik. Dan itu mungkin kesalahan kita yang paling penting (dan paling jelas).




Konsep dasar kami tidak berbeda dari yang asli 2013: pemain memiliki 4 elemen dasar, total Anda dapat mengumpulkan elemen N lainnya. Setiap elemen harus memiliki: nama, gambar, dan deskripsi seni. Setiap item baru dikumpulkan dari hanya dua item lain yang sebelumnya dibuka.


Untuk mencegah penipuan, kami menyimpan semua informasi tentang kombinasi elemen di backend. Klien mengirim permintaan dari ID dua elemen yang pemain coba sambungkan, dan server kembali apakah kombinasi ini berhasil atau tidak. Jika berhasil, klien dikirim ID elemen baru, nama dan deskripsi. Dengan nama, klien menemukan gambar yang diinginkan, dan elemen baru muncul di pemain. Artinya, semua data yang diperlukan untuk game disimpan oleh backend.

Kami juga merencanakan daftar catatan untuk 20 pemain top yang menerima hadiah, karena sejumlah poin diberikan untuk setiap item yang dikumpulkan. Faktanya, itu saja.

Kemarahan semangat Anda, atasi godaan untuk melakukan terlalu banyak


Tentu saja, dalam proses banyak diskusi, berbagai macam Daftar Keinginan muncul di benak kami, yang kami tolak dengan bijaksana. Inilah beberapa di antaranya:

  1. Ada ide untuk menambahkan sistem pencapaian ketika seorang pemain mengumpulkan beberapa cabang elemen, elemen kompleks atau set. Setelah kami menyadari bahwa dengan penemuan unsur-unsur, segalanya jauh dari kemewahan seperti yang kami harapkan, kami meninggalkan ide ini. Pencapaian akan masuk akal dalam skala seribu elemen, tetapi dalam kenyataannya kami memiliki jauh lebih sedikit dari mereka.
  2. Seseorang menyarankan untuk menyorot dengan cara khusus elemen-elemen yang tidak lagi dapat digunakan dalam kombinasi. Namun, tes pendahuluan telah menunjukkan bahwa ini tidak perlu.
  3. Momen teknis. Dalam implementasi akhir, semua gambar dilindungi di dalam klien Unity. Artinya, untuk memperbarui atau menambah konten, perlu memperbarui perakitan di toko. Ada ide untuk mentransfer gambar ke CDN, sehingga klien mengambil data dari backend, dan gambar dari CDN. Maka itu akan menjadi hampir "tipis" klien dengan antarmuka yang bagus. Jika kami berhasil melakukan ini, maka game akan diperluas secara tak terbatas dengan peluang konstan untuk memuat beberapa elemen baru. Tapi kami sadar dengan kenyataan bahwa permainan itu dibuat selama dua hari ... Ada godaan, tapi kami berhasil mengatasinya.

Yah, kami dengan sempurna memotong tugas teknis kami, kami tepat waktu dengan jelas, dan juga dengan margin. Hari-hari kerja diselamatkan, tidak ada satupun rancangan kerja yang dirugikan (yang tidak bisa dikatakan tentang malam dan akhir pekan saya).


Perasaan saya sebelum saya melihat apa yang terjadi dengan konten tersebut

Jangan pernah bercanda dengan konten kacang


Keyakinan untuk komponen teknis memainkan trik dalam kasus bahan kreatif kedua - konten. Di sini kami membuat dua kesalahan: kami tidak memilih orang yang bertanggung jawab dan mengambil terlalu banyak topik untuk menghasilkan pasangan kata yang tidak bisa kami kunyah. Detail:

  1. Setelah sesi curah pendapat pertama, kami memutuskan bahwa unsur-unsur Alkimia kami akan berhubungan dengan tiga topik: IT, foodtech dan sesuatu dari dunia Dodo. Dan kami tidak segera meninggalkan ide ini. Kata-kata dan kombinasi dihasilkan secara bersamaan dalam tiga arah, dan meskipun itu menyenangkan, entah bagaimana itu tidak segera sampai pada kesadaran bahwa ketiga topik tidak memiliki banyak titik persimpangan. Namun, pada suatu titik, kami menyadari bahwa ada yang tidak beres, kami menjatuhkan pijakan dan meninggalkan barang itu dari Dodo (pizza, tentu saja). Setelah itu, sesuatu mulai mengkristal. Tapi di sini momen kedua berperan.
  2. Saya menulis di atas bahwa proses kompilasi konten tidak memiliki pemilik. Kata-kata pertama diciptakan oleh berbagai kelompok orang yang hanya melemparkan segala sesuatu yang muncul di pikiran. Jadi dalam daftar kami ada hal-hal aneh seperti "shkolota", "kacang" atau "putra pacar ibuku". (Dan ya, dimungkinkan untuk menarik "kacang" ke JavaBeans, tapi ... jangan.) Sudah di tengah proyek, ketika pohon kata kami tidak dapat berakar pada dasar logika, sebuah overrun muncul - Anton Bruzhmelyov, membuang hampir semua kata yang telah diciptakan sebelumnya dan membuat kombinasi baru yang lebih logis.
  3. Tetapi dua poin di atas mengarah pada fakta bahwa ada terlalu sedikit waktu untuk menciptakan konten. Hasilnya, kami hanya mendapatkan 128 elemen. Benar, dari penguji sukarela kami di hadapan rekan kerja, hanya satu gadis yang bisa mengumpulkan semua elemen dalam beberapa hari. Itu meyakinkan kami. Tetapi kami jelas tidak memperhitungkan tingkat ketekunan dan tekad orang-orang yang memperjuangkan hadiah di konferensi.



Kacang yang sama, dan juga lebah dunia maya (!), Keingintahuan dan log. Apa yang terjadi ketika fantasi memenangkan akal sehat
Konten adalah bagian paling penting dari gim, apakah yang menangkap atau tidak melekat pada pemain. Bekerja pada konten dapat dan harus dimulai bahkan sebelum pekerjaan teknis. Yah, selalu harus ada orang yang bertanggung jawab yang, dengan tangannya yang kejam, akan memotong semua yang tidak perlu dan hanya menyisakan yang membentuk keseluruhan gambar.

Sejauh ini bagus atau bermasalah dengan Apple


Lama, singkat, tetapi sepuluh hari sebelum DotNext, Alkimia TI kami mulai berubah menjadi produk yang berfungsi. Kami akhirnya mendapatkan kombinasi kata terakhir. Desainer Tanya tidak harus menggambar ulang gambar 10 kali. Backend selalu dilakukan dengan baik dan dengan percaya diri berjalan ke fungsi yang dimaksud, dan setelah itu saya menyelesaikan klien Unity kami.

Saatnya untuk mulai menerbitkan aplikasi kami di toko-toko. Saya tidak berharap ada masalah dengan Google Play, saya sudah memiliki pengalaman menerbitkan aplikasi lengkap, tetapi Apple Store, yang dinilai dari kisah-kisah rekan kerja, mulai menginspirasi keprihatinan. Dan ketakutan ini tidak sia-sia.

Kami menerbitkan build pengujian untuk Android dan iOS, pertama kami mengujinya sendiri, dan kemudian kami mengundang lebih banyak kolega. Saya menangkap hampir semua bug ketika saya mengujinya sendiri. Benar, ada satu masalah dengan kecepatan animasi pada perangkat iOS, yang tidak dapat saya tangkap untuk waktu yang lama, karena semuanya bekerja dengan baik pada emulator. Tetapi saya berharap untuk membicarakan ini di artikel kedua di bagian teknis dari proyek kami.

Sebagian besar hal-hal yang harus diperbaiki terkait dengan tata letak - baik "ledakan" pada tombol akan jatuh, jendela tidak akan meregang dengan benar pada rasio aspek yang berbeda. Itu agak suram dan bukan bagian yang paling menarik dari pekerjaan ini, tetapi pada akhirnya kami membawa desain menjadi sejajar dengan semua layar yang mungkin. Sayangnya, kami menghabiskan sebagian besar waktu di layar permainan dan melihat melalui satu tiang besar ... Tapi ternyata itu sangat bodoh dan membawa bencana sehingga layak untuk paragraf terpisah.

Jadi, secara harfiah tiga hari sebelum konferensi, kami memiliki satu set 128 kata, backend siap pakai dan klien dikumpulkan untuk Android dan iOS. Sudah waktunya untuk menerbitkan versi publik. Dengan Google Play, semuanya berjalan seperti jarum jam. Tetapi dengan Apple Store, kami mengalami kesulitan yang tidak terduga.


Sementara itu, di Apple: "Apa lagi yang Anda pikirkan untuk menjaga orang-orang agar tidak melepaskan?"

Saya diperingatkan bahwa berbaring di samping adalah sesuatu yang mengerikan, tetapi saya tidak mengerti berapa banyak. Pertama, mereka menunjukkan kepada kami bahwa kami berjudi, kemudian kami dialihkan karena beberapa alasan yang sangat aneh: "Aplikasi Anda bukan aplikasi, tetapi tampilan web." Setelah editorial ketiga atau keempat, kami mulai menulis sebagai tanggapan: "Tidak, ini bukan tampilan web, tidak, kami memiliki konten dan aplikasi melakukan sesuatu yang bermanfaat."

Ada malam terakhir sebelum DotNext dan upaya terakhir untuk menerbitkan aplikasi. Mukjizat, terjadi! Saya tidak tidur nyenyak, seperti di masa kecil sebelum ulang tahun saya. Saya ingin bangun, melihat portal pengembang Apple dan melihat tanda centang hijau di sana. Sayangnya, keajaiban itu tidak terjadi.

Tentang fakapy dan kucing


  1. Mulai layar dan kendalikan head- in dari Apple.

    Ini adalah rasa sakit pribadi saya. Karena dia diabaikan. Hari-hari permainan di awal tahun 2000-an, ketika layar mulai menyalin rak dengan permainan papan atau mensimulasikan ruang permainan, sudah lama berlalu. Namun, kami baru saja melakukannya.

    Layar mulai ternyata kelebihan beban. Dan dia benar-benar keluar, baik dari gaya permainan, dan dari tujuan langsungnya - untuk memberikan orang itu kesempatan untuk bermain sesegera mungkin. Bahkan dalam logika karya desain kami, pemain hanya sekali melihat layar mulai saat pendaftaran. Saat Anda menyalakannya kembali, layar game utama segera terbuka.

    Gambar itu sendiri luar biasa, ada detail di dalamnya, ada kucing di dalamnya ... dan juga memiliki bidang input yang terlalu kecil, yang tidak semua orang bisa melihatnya. Tidak semua orang yang ingin bermain diatasi dengan layar mulai, jadi kami sudah kalah di awal beberapa persentase pemain.

    Tetapi file yang paling tidak menyenangkan menjadi alasan mengapa Apple mendaftarkan kami untuk terakhir kali: pada iPad (rasio aspek yang jauh lebih dekat ke kotak daripada pada semua perangkat lain yang kami pertimbangkan), gambar awal diskalakan sehingga kucing naik ke tombol "OK" , dan orang tersebut secara fisik tidak dapat mengekliknya.


    Kucing Manusia Sehat dan Kucing Perokok di iPad

    Tentu saja, kami sama sekali tidak mengharapkan para pemain kami untuk bermain di iPad, tetapi fakta bahwa kepala kucing itu menghalangi awal permainan tidak dapat dipungkiri. Agar tidak memotong bagian dari penonton, kami harus pergi dengan cara yang lebih rumit: kami dengan jujur ​​mengumumkan bahwa Apple memiliki kebijakan kejam, dan mereka mengarahkan kami, tetapi mengundang semua orang untuk mendaftar untuk pengujian publik dan berpartisipasi dalam permainan dengan cara ini.

    Yang paling menjengkelkan adalah hampir sepanjang waktu pengembangan saya menggunakan layar start-up paling sederhana dengan latar belakang hitam, bidang input besar dan tombol OK, yang tidak diblokir.
    Apa moral dari keseluruhan cerita ini? Dalam kasus kami, kami menghabiskan lebih banyak upaya dan membuat segalanya lebih buruk. Lebih baik lebih mudah. Anda mengarahkan energi ke arah yang benar dan mendapatkan hasil yang diinginkan, dan jika Anda mulai menjadi bijaksana, maka karma universal mendatangi Anda dan menghantam kepala Anda dengan menyakitkan.
  2. Fakap kedua terjadi dengan sejumlah elemen dalam permainan. Seperti yang saya tulis di atas, hanya satu orang dari semua penguji kami yang mengumpulkan semua elemen dalam beberapa hari. Tetapi penguji kami memainkan potongan-potongan di antara pekerjaan dan sedikit di malam hari. Tapi para pemain kami yang sebenarnya di DotNext bertekad untuk memenangkan hadiah, jadi pada pertengahan hari pertama (!), Kami telah memutuskan ketiga finalis. Artinya, orang-orang ini, tidak menyayangkan jari mereka, menusuk semua 128, atau lebih tepatnya 133 elemen.

    Ups, di mana 133, jika sepanjang waktu saya berbicara tentang 128? Sebagai pecandu proyek yang lazim, pada saat terakhir saya ingin memasukkan sesuatu ke dalam permainan. Oleh karena itu, desainer Tanya menarik, dan saya diam-diam dari peserta proyek lainnya menambahkan lima telur paskah lagi tentang orang-orang yang entah bagaimana terhubung dengan pengembangan game. Dan jumlah total elemen yang diperlihatkan kepada pemain telah dikodekan untuk kesederhanaan. Akibatnya, pemain hanya mengumpulkan 128 elemen (yang bukan jumlah maksimum poin) dan berpikir itu saja.


    Cantik lima dalam bentuk elemen Paskah.

Alih-alih sebuah epilog


DotNext berlalu. Untuk Android, game diunduh oleh 146 orang. 43 lainnya menerobos uji beta publik untuk iOS. Kami membuat obrolan untuk para pemain. Sebagian besar pemain puas (kami tidak menerima ulasan negatif langsung), hadiah menemukan pemenangnya. Seperti biasa, kelegaan dan kehancuran menimpa saya, hampir selalu.

Sekarang, setelah lebih dari sebulan, saya dilepaskan, dan saya menulis post mortem ini. Ya, kami tidak bisa menghindari para fakap. Tetapi kami mencapai tujuan kami - kami mengimplementasikan proyek penuh dalam sebulan tanpa gangguan dari pekerjaan dan berhasil meluncurkannya di konferensi. Apakah cerita ini mengajari saya sesuatu? Mungkin sudah waktunya untuk berhenti dan mengikat dengan karya desain? Sulit dikatakan, tunggu konferensi berikutnya!
Dalam versi offline "alkimia-IT" kami, tanpa tabel catatan dan dengan layar mulai yang tetap, Anda dapat bermain dengan mengunduhnya di Google Play .

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


All Articles