Bagaimana kami membuat mesin dan game di dalamnya selama satu setengah tahun

Halo semuanya, teman-teman terkasih! Di sini saya duduk, melihat lembar kode yang tak ada habisnya, melakukan review dengan toples bu merah. Setahun telah berlalu. Setahun, sial, hanya setahun - begitu banyak dan sangat sedikit pada saat yang sama. Kami memiliki rencana Napoleon untuk tahun ini, dan sekarang tampaknya kami tidak punya banyak waktu. Di sisi lain, kami berhasil melakukan sesuatu yang layak untuk memasuki catatan sejarah yang ditandai "Dementia dan keberanian." Saya akan menyebut cerita ini "Cara membakar mesin Anda dengan alat dan membuat dari awal hanya dalam setahun." Publikasi akan dirilis dalam beberapa volume, tetapi ke mana harus pergi, Anda harus memulai suatu tempat. Jadi ayo pergi!

Tepat setahun yang lalu, kami memulai dengan sebuah proyek, yang sekarang saya rencanakan untuk dituliskan dengan detail lengkap. Dari puncak pengalaman, saya dapat dengan aman mengatakan: ini adalah salah satu hal yang paling berisiko dan ambisius yang pernah kami mulai. Saya pikir pengalaman tim kami akan berguna bagi pengembang game lain, tapi dia setidaknya akan menghibur para pemain.

Di sini saya harus memperkenalkan diri: nama saya Ivan, saya direktur teknis perusahaan yang muda, tetapi ambisius. 5 tahun terakhir saya telah mengembangkan mesin komersial. Dalam 7 tahun terakhir ia bekerja di sebuah perusahaan game besar, di mana ia bekerja pada sebuah mesin untuk game multiplayer sesi lintas platform. Nah, sebelum itu, di semua tempat kerja sebelumnya, ia menciptakan mesin atau seluruh permainan. Dan klarifikasi penting: kebetulan bahwa hampir semua pengalaman saya dalam mengembangkan mesin terkait dengan platform mobile.

Proyek pertama yang saya ikuti adalah mengembangkan mesin 3D OpenGL yang kompatibel untuk perangkat seluler untuk Motorola. Lalu ada mesin untuk permainan kasual, di mana pelanggan kami adalah Electronic Arts, Chillingo, Big Fish Games dan perusahaan-perusahaan terkemuka lainnya dan tidak terlalu terkenal. Selanjutnya, mesin ini digunakan pada proyek permainan besar.

Secara umum, mesin yang saya kerjakan telah berkembang selama bertahun-tahun. Itu adalah teknologi open source, dan kami mulai mengembangkannya ketika perusahaan di bawah naungan kami membuat game untuk pelanggan kami masih sangat kecil. Kami terus menyelesaikannya, akhirnya merilis salah satu MMO penembak pertama di iOS / Android di atasnya, membuat semacam terobosan di pasar penembak seluler yang masih muncul.

Sekitar setahun yang lalu, saya mengambil hati saya dan memutuskan untuk meninggalkan perusahaan, meninggalkan proyek yang sangat saya sayangi dan sayangi hati saya, untuk pergi dalam perjalanan gratis. Itu tidak mudah, saya ragu untuk waktu yang lama, tetapi akumulasi pengalaman dan pengetahuan yang diperoleh selama bertahun-tahun bekerja menunjukkan bahwa semua barang bawaan saya dapat dikemas menjadi sesuatu yang tidak kurang, atau mungkin lebih dingin. Saya bahkan punya ide bagaimana ini bisa dilakukan, tetapi saya tidak yakin bahwa kita bisa melakukannya dengan bantuan tim kecil, bahwa kita akan dapat membuat teknologi yang berkualitas tinggi dan populer di pasar dalam waktu singkat. Tapi, seperti yang Anda tahu, keberuntungan berpihak pada yang berani, dan kami berhasil. Cukup cepat, kami mengumpulkan tim profesional, didorong oleh keinginan yang sama - untuk membuat teknologi baru yang benar-benar unik yang akan menunjukkan kepada pasar bagaimana cara memaksimalkan perangkat besi modern.

Dan di sini kesenangan dimulai. Dalam waktu satu bulan sejak adanya permulaan game kami, sebuah rencana telah terbentuk. Sesuatu yang sama sekali baru dan benar-benar unik, melampaui semua solusi yang ada. Kedengarannya sangat ambisius dan keren, bukan? Begitu ya! Tetapi ada risiko. Kami menetapkan tujuan - untuk mewujudkan ide tidak sopan kami hanya dalam satu tahun, dan dalam satu setengah tahun untuk meluncurkan game pertama kami.

Saya tahu, saya tahu, saat ini mulai terdengar tidak masuk akal. Tetapi - tanpa diduga - ide gila di tim kami ini memiliki banyak pendukung (dan ini sekali lagi membuktikan betapa pentingnya ketika mencoba mengubah gunung untuk meminta dukungan dari orang-orang yang berpikiran sama yang suka berpetualang). Adalah suatu dosa untuk disembunyikan, gagasan mengurangi mesin Anda sendiri benar-benar memotivasi programmer untuk mengeksploitasi. Banyak yang ingat sejarah panjang 4A Games, di mana para pengembang, setelah meninggalkan GSC, menciptakan dari awal sebuah mesin untuk game Metro yang terkenal. Tampak bagi saya bahwa keberhasilan orang-orang dari 4A memotivasi lebih dari satu tim progres seperti dia menginspirasi kami.

Secara umum, kami memutuskan. Ini akan menjadi ceritaku. Di blog kami, bersama dengan kolega-kolega saya, saya akan memberi tahu Anda dalam siksaan apa teknologi kami lahir, melalui duri-duri yang mana kami membuat jalan menuju bintang-bintang dan mengapa kami membuat keputusan yang tepat yang akhirnya kami buat. Saya akan memberi tahu Anda secara kronologis sejarah Mesin Blitz dari hari pertama pengembangan hingga rilis final. Tanpa hiasan dapur bagian dalam, hanya kebenaran murni.



Pertanyaan pertama yang cenderung Anda tanyakan adalah: "Mengapa tidak Unity atau Unreal?" Nah, pertanyaannya cukup logis dan benar.

Secara umum, memilih mesin impian - yang di dalamnya game yang akan menghasilkan jutaan akan dibuat, semua pengembang indie akhirnya menghadapi pilihan: Unity atau Unreal. Sebenarnya, keduanya memiliki pro dan kontra, tetapi mengapa mereka tidak cocok dengan kita?

Mari kita mulai dengan Unity. Ada beberapa pertanyaan untuk itu, dengan pengecualian satu: itu adalah C #, dan kami menggergaji di C ++. Dengan demikian, Unity menghilang. Jika Anda ingin memberi tahu kami tentang Unity, karena ini adalah teknologi luar biasa yang memungkinkan Anda untuk menulis dalam bahasa C ++ dengan keinginan yang besar, maka mari kita jujur: itu bukan C ++ yang lengkap. Dan kami bukan pengembang C # dan kami belum berencana untuk menjadi mereka. Masalah kedua adalah bahwa terlepas dari upaya pengembang Unity, itu bukan teknologi tercepat dalam hal kinerja. Keputusan yang diambil memberlakukan batasan, termasuk kinerja.

Tidak nyata - sepertinya, baik dalam ++, dan orang-orang menulis masuk akal. Tetapi mesin mulai ditulis sekitar 10 tahun yang lalu. Solusi arsitektur yang digunakan ada solusi canggih pada periode itu. Tetapi dunia telah berubah, dan lebih dari 10 tahun banyak ide baru dan progresif telah muncul. Mungkin tidak begitu asli untuk menulis UE5, tetapi cukup untuk membuat terobosan yang layak. Kami memutuskan untuk bertaruh pada solusi dan pendekatan arsitektur baru ini.

“Ya, Unreal Engine itu keren, ditulis dalam C ++ oleh para profesional,” pembaca yang penuh perhatian akan berkata. Tentu saja. Tetapi izinkan saya mengingatkan Anda: tujuan kami adalah untuk memaksimalkan perangkat seluler dan memajukan industri. Unreal Engine adalah mesin tujuan umum, dan ini tidak buruk, ia memberi nilai tambah bagi universalitas. Teknologi semacam itu dirancang untuk gim dalam genre yang berbeda, dan keunggulan ini disertai dengan batasan arsitektural untuk pengembang mesin. Dan pada awalnya, kami berencana untuk memecah batas dan stereotip, dan tidak cocok dengan mereka.

Pada akhirnya: pilih Unity - pilih lingkungan yang asing bagi kami, pilih Unreal - buat proyek biasa.

Semua orang tahu bahwa penembak modern top-end pada PC dibuat pada mesin studio mereka sendiri. EA memiliki DICE dan mesin Frostbyte, Activision dan Ubisoft memiliki solusi teknologinya sendiri, 4A Games juga membuat mesin sendiri, id Software memiliki id Tech. Pengembang penembak top di konsol melakukan hal yang sama. Ya, tentu saja, tenaga kerja, waktu, uang, dan segala hal lain dalam situasi ini membutuhkan lebih banyak. Tetapi di sisi lain, Anda memiliki kontrol penuh atas teknologi: Anda dapat memilih solusi yang akan lebih cepat dan lebih efektif daripada solusi siap pakai "untuk semua orang." Seluruhnya, pada kenyataannya, ada dalam penyesuaian: Anda memutuskan apa yang penting bagi Anda, dan menekankan hal itu. Eksklusif untuk konsol dirancang untuk memanfaatkan besi penopang yang sangat kuat. Dan inilah yang kami butuhkan, tidak hanya dari konsol, tetapi dari ponsel!

Tetapi kami memutuskan untuk beralih dari yang sebaliknya: jangan mencoba menciptakan solusi untuk besi kelas atas, tetapi pertama-tama lihatlah perangkat terlemah yang pasti perlu kami dukung. Kami memperhitungkan karakteristik mereka dan mulai mencari teknologi yang memungkinkan kami berjalan di perangkat ini dengan kualitas tinggi. Artinya, peras maksimal visual keren dari minimum karakteristik. Dan ya, tentu saja, solusinya harus sedemikian rupa sehingga nantinya kita dapat dengan mudah meningkatkan tanpa batasan untuk perangkat seluler kelas atas, hingga tingkat konsol dan kualitas PC.

Hampir semua penembak seluler modern didasarkan pada Unity atau Unreal. Anda sudah memahami segalanya tentang rencana ambisius kami untuk mengubah industri ini, sehingga fakta bahwa kami memutuskan untuk memperkenalkan inovasi yang sudah pada tahap ini tidak akan mengejutkan Anda. Kami mengabaikan dilema tradisional Unity vs Unreal, dan mulai memotong mesin kami.

Untuk mulai dengan - saya akan menunjukkan video. Inilah yang terjadi dalam setahun. Kami melakukan yang terbaik untuk memeras perangkat seluler secara maksimal dan menciptakan produk yang dapat, jika tidak bersaing dengan game desktop, setidaknya semakin mendekati kualitas mereka. Sebenarnya, seperti yang telah saya katakan, tujuan utama kami, tidak peduli seberapa menyedihkan kedengarannya, adalah untuk membuat game seluler lebih baik dan memajukan industri.


Ada aturan seperti "kenalilah perangkat keras Anda". Pentingnya sulit untuk melebih-lebihkan. Kami sering melihat bagaimana tim teratas melakukan sesuatu yang tidak mungkin dilakukan untuk konsol - karena mereka tahu dari apa membangun dari, dan memutuskan sebelumnya bahwa mereka akan mencoba untuk melampaui. Kami selalu ingin membuat penembak, tetapi kami dengan sadar menilai kekuatan kami: hari ini pasar penembak di konsol dan PC sangat besar dan penuh dengan produk-produk berkualitas tinggi. Pada saat yang sama, pasar ponsel secara tidak layak kehilangan perhatian, meskipun banyak yang bisa dilakukan di sana. Secara umum, semuanya datang bersama: kami memutuskan untuk memperbaiki situasi.

Ringkasnya, kami telah membentuk arahan umum ini:

  • Teknologi sendiri
  • Tingkat kualitas konsol di platform seluler
  • Fokus utama adalah pada penembak
  • Sesi Mesin Game Session
  • Infrastruktur untuk mengoperasikan game
  • Dan, pada kenyataannya, game keren.

Kami berencana untuk mengimplementasikan semua ini dalam 1,5 tahun.

Tentu saja, dari kolega kami di bengkel, kami terus-menerus mendengar bahwa membuat mesin Anda sendiri dengan Unity dan Unreal adalah demensia (dan tanpa banyak keberanian). Kami ditawari sejumlah besar solusi siap pakai di mana seseorang sudah melakukan sesuatu. Tetapi kami memiliki pendapat yang sangat berbeda. Kami memutuskan untuk mencobanya, dan sekarang saya dapat dengan bangga mengatakan bahwa kami baik-baik saja. Mesinnya sudah ada, dan sangat menjanjikan. Seperti yang kami inginkan. Kami secara aktif mengerjakan game baru kami, kami berencana untuk meluncurkannya tahun ini.

Saya tidak akan bersembunyi, orang-orang masih skeptis dengan ide kami ketika, ketika kami bertemu, kami berbagi rencana kami. Tapi semuanya berubah ketika kita mengeluarkan iPad dan menunjukkan praktik dan trailer terbaik. Orang-orang mengerti apa itu semua. Kami menunjukkan jadwal permainan kami saat wawancara dengan karyawan baru, dan mereka tidak percaya bahwa ini adalah produk untuk ponsel. Kadang-kadang mereka menentukan tiga kali apakah kita bercanda. Produk revolusioner membutuhkan solusi inovatif. Ya, tahun ini sulit, kami harus banyak bekerja. Tapi sekarang kami memiliki mesin revolusioner, game BattlePrime yang luar biasa dan cerita lucu yang akan menarik bagi banyak pengembang.


Biasanya setelah menonton video ini kita diberitahu bahwa mereka tidak percaya. Yang mungkin dalam rilis final, semuanya akan berbeda. Secara umum, tidak biasa di industri kami untuk mempercayai trailer ... Tapi Anda benar-benar percaya. Dan beri tahu kami di komentar bagaimana kabarmu!

Kami ingin memberi tahu bagaimana kami mengembangkan Mesin Blitz, dan untuk ini saya akan merilis serangkaian artikel tentang tahun perkembangan kami.

Bagian kedua: habr.com/en/post/465343

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


All Articles