Lembar contekan pendek untuk mengevaluasi perpustakaan, kerangka kerja, mesin dan SDK dan memilih yang terbaik
- Perpustakaan, kerangka kerja, engine SDK, dan sebagainya adalah alat yang dimaksudkan untuk menyelesaikan masalah bagi Anda atau membantu Anda memecahkan masalah dan memenuhi persyaratan tertentu.
- Mengevaluasi berarti mencari tahu mana yang paling memenuhi persyaratan.
Karena itu sebelum Anda mulai mengevaluasi, Anda harus jelas dalam skenario mana Anda dan persyaratan apa yang Anda miliki / ingin miliki karena ini adalah pertanyaan yang harus dijawab oleh evaluasi.
Skenario menentukan dari mana persyaratan berasal (siapa yang memutuskan apa persyaratan dan apa yang tidak).
Skenario umum adalah:
Skenario proyek hobbiest
Anda sendiri atau bersama beberapa teman ingin membuat game (mungkin yang pertama). Sempurna, Anda dapat memutuskan semuanya sendiri dan Anda hanya terbatas pada keinginan teknis dasar dan persyaratan teknis (harus berupa gim mobile, gim PC, gim konsol, gim web, ....). Anda dapat memutuskan apa pun yang Anda inginkan.
Persyaratan implisit adalah bahwa Anda mungkin ingin mempelajari sesuatu yang spesifik (bahasa, kerangka kerja / mesin tertentu)
Skenario siswa
Persyaratan mungkin datang dari guru Anda. Persyaratan umum yang saya miliki dalam kasus itu: permainan perlu memiliki beberapa elemen fisika dan dukungan jaringan multipemain. Atau harus ditulis dalam C ++. Jadi mengevaluasi menjadi mudah. Anda mencari mesin gim yang memungkinkan Anda membuat kode dalam c ++ dan mungkin sudah menyertakan mesin jaringan dan fisika.
Persyaratan yang lebih jahat (kehidupan nyata): semuanya harus ditulis dari awal (tetapi menggunakan perpustakaan diperbolehkan). Jadi tidak ada editor yang diizinkan (mis. Unity3D). Jadi Anda tidak mencari mesin / sdks tetapi untuk perpustakaan.
Skenario game indie
Anda ingin menghasilkan uang dengan permainan nanti. Karenanya Anda harus menjualnya entah bagaimana yang membawa Anda untuk memeriksa persyaratan mana yang berasal dari toko tempat Anda ingin menjual game Anda.
Apakah itu mengizinkan game Java, game HTML5, ....)
Apakah itu mengharuskan Anda untuk memasukkan perpustakaan tertentu (jika ya, dalam bahasa apa perpustakaan itu tersedia)
Google Playstore akan mengharuskan Anda untuk menulis game sebagai game Android, Apple AppStore akan meminta Anda untuk menulis game sebagai aplikasi iOS. Atau Anda memiliki persyaratan untuk memilih mesin multiplatform.
Skenario profesional
Anda tidak hanya memiliki toko yang menyediakan persyaratan tetapi kemungkinan besar penerbit atau pelanggan memiliki imaginasi persyaratan sendiri. Dalam skenario ini Anda juga akan memiliki tim pengembang yang lebih besar yang dipekerjakan. Tergantung pada keahlian mereka, persyaratan baru muncul (programmer kami hanya dapat menulis c ++ sehingga kami tidak dapat menggunakan mesin game Java / Android murni tanpa mereka memerlukan (banyak) waktu untuk mempelajari sesuatu yang baru).
Saya tidak merinci skenario ini, begitu Anda berhasil membangun tim karyawan dan menemukan pelanggan / penerbit, Anda sudah tahu apa yang Anda cari dalam mengevaluasi sesuatu.
Bagaimana cara saya memutuskan apa persyaratan saya ketika saya seorang hobbiest atau indi dan tidak ada orang lain yang memberi tahu saya?
Ajukan pertanyaan pada diri sendiri tentang tujuan dan permainan Anda?
Apa yang harus saya mainkan? mobile, pc, web (html / Js), yang mana pengontrol yang akan saya gunakan (layar sentuh, giroskop, game pad)
Apa yang baru dalam gim saya dan apa yang dimiliki gim lain juga. Bagian-bagian yang juga dimiliki game lain (rendering, audio, penanganan input) akan dilakukan oleh sebagian besar (mesin game) alat yang dapat Anda temukan atau mudah untuk mengumpulkan perpustakaan yang memiliki fungsionalitas itu dalam game atau mesin game Anda sendiri.
Apa dimensi proyek saya: burung atau skyrim yang marah? Angry Birds dapat dilakukan di hampir setiap alat dan skyrim akan terbatas pada alat berkinerja tinggi dengan (diasumsikan) tahun penyesuaian tambahan (mesin medan berkinerja tinggi tidak mudah)
Apakah satu-satunya tujuan saya hanya untuk menyelesaikan permainan? Iya? sempurna, Anda dapat menggunakan beberapa hal yang sangat canggih seperti Unity, Unreal, ... memiliki editor yang praktis dan komunitas besar yang memberi Anda tutorial dan menjawab pertanyaan Anda. Ini menghilangkan beban menangani tugas-tugas tingkat rendah seperti mesh loading, mengimplementasikan fungsi matematika Anda sendiri, ....
Apakah tujuan saya untuk mempelajari sesuatu yang spesifik? Iya? apa yang ingin kamu pelajari?
Bahasa apa yang harus saya pilih? Jika tujuannya masih hanya untuk menyelesaikan permainan Anda, pilih yang Anda / tim Anda tahu terbaik? Jika Anda ingin mempelajari bahasa tertentu, Anda akan memilih alat dalam bahasa itu.
Akankah alat X memiliki kinerja yang cukup untuk game saya? Mungkin Anda tidak akan pernah tahu. Bahkan dalam produksi besar fase optimisasi dan pemolesan membutuhkan waktu yang lama dan merupakan upaya besar untuk menyelesaikannya. Mulailah memerhatikan kinerja ketika Anda mengalami masalah kinerja. Anda tidak tahu bagaimana kinerja alat kecuali jika mencapai batasnya. Segala sesuatu di situs web pengembang alat hanyalah tebakan kasar. Setelah bertahun-tahun mengevaluasi alat, saya berhenti memercayai apa pun dari situs web pengembang.
Menjawab pertanyaan seperti itu membawa Anda ke persyaratan. Evaluasi tersebut adalah menemukan daftar alat dan PENGUJIAN (tidak hanya membaca beranda) apa yang dapat disediakan atau tidak dapat disediakan oleh alat tersebut.
Persyaratan tidak dipotong menjadi batu tetapi dinamis. Mereka akan datang dan pergi selama pengembangan. Jika gim membutuhkan fisika atau tidak misalnya tergantung pada desain. Jika desain berubah, kebutuhan juga bisa berubah.
Ambil persyaratan yang Anda miliki dan mulailah. Mengubah persyaratan adalah roti harian penderitaan, ahm, pengembang bahagia terlepas dari ukuran proyek dan tingkat pengalaman.