Bagaimana Anda memulai pengembangan game? [Tutup]

28

Ketika Anda memulai proyek game baru, apa yang Anda lakukan pertama kali? Bagaimana Anda memulai? Apa yang memberi Anda awal terbaik untuk menyelesaikan proyek daripada kehabisan sebelum berhasil?

Mods tolong bantu dengan tag ... Saya tidak tahu bagaimana cara mengategorikan ini ... :)

Ricket
sumber

Jawaban:

27

Prototipe. Cobalah untuk mengimplementasikan konsep game Anda menggunakan semacam alat iterasi cepat. Coba python atau hanya api open source yang mudah digunakan untuk menjalankan "ide game" Anda. Cobalah untuk menyederhanakan sebanyak mungkin, gunakan bola bukan karakter, dapatkan visi pada semacam representasi visual. Dengan begitu Anda selalu dapat melihatnya, berdiskusi, berdebat, dan memberikan umpan balik. Letakkan timeline yang ditetapkan untuk setiap prototipe (mungkin 2 hari? Mungkin seminggu teratas?) Dengan begitu Anda hanya bisa melakukan sebanyak yang ingin Anda lakukan dalam prototipe.

Kadang-kadang Anda mungkin dapat merencanakan ide Anda di selembar kertas kecil jika itu cukup sederhana. Setelah ide Anda siap, mulailah merencanakan untuk melihat sistem dan mekanisme seperti apa yang Anda butuhkan. Cobalah untuk menyusun garis waktu untuk berbagai hal dan lihat apakah memungkinkan untuk melakukannya. Jika Anda sekelompok orang yang ingin membuat game bersama, Anda harus melakukan ini bersama. Lakukan sambil minum bir, baik secara langsung atau menggunakan program obrolan suara. Setelah Anda tahu apa yang harus dilakukan - semua orang bisa mulai dengan apa yang mereka lakukan. Pastikan Anda memiliki komunikasi. Cobalah untuk mengadakan pertemuan tim dengan interval yang sering tergantung pada berapa banyak waktu yang ingin kalian habiskan.

Jika Anda membuat game sendiri, ingatlah bahwa waktu terbatas dan Anda tidak dapat melakukan semuanya dengan cantik. Mungkin bola dan kubus akan cukup untuk membuat grafik Anda jika Anda seorang programmer. Sadarilah keterbatasan Anda dan bekerjalah dengan mereka alih-alih melawannya.

Saya harap beberapa tips ini membantu :)

Simon
sumber
7
Selama prototipe mencoba mengeluarkan segala sesuatu yang tampaknya tidak menyenangkan sampai Anda hanya memiliki hal-hal yang menyenangkan.
Nada
1
mesin prototipe tercepat masih berupa pena & kertas :)
oberhamsi
28

Sebagai seorang guru, saya melihat banyak proyek hobi siswa yang gagal. Selalu, satu-satunya alasan kegagalan adalah overscope: proyek dimulai sebagai visi besar dari hal besar yang terlalu besar untuk diselesaikan, semakin banyak orang dibawa sampai runtuh di bawah beban desainnya sendiri, dan semua orang meninggalkan perasaan frustrasi dan kehilangan semangat.

Obat terbaik untuk ini adalah membatasi ruang lingkup Anda dengan kejam. Alih-alih mengatakan "bagaimana saya menjaga energi saya cukup untuk menyelesaikan proyek yang panjang?" Anda seharusnya mengatakan "bagaimana cara merancang proyek yang cukup pendek sehingga saya bisa menyelesaikannya sebelum bosan dengan itu?"

Acara "selai game" (membuat-game-dalam-akhir pekan) adalah cara yang bagus untuk memulai, dan itu bagus untuk membangun kebiasaan baik saat membuat prototipe cepat. Di WORST, Anda menghabiskan akhir pekan membuat permainan yang buruk ... Anda mungkin belajar sesuatu dalam proses ... DAN Anda menghemat waktu berbulan-bulan untuk mengerjakan ide yang akhirnya tidak sekeren yang Anda kira sebelumnya. Paling-paling, Anda menemukan bahwa Anda memiliki sesuatu yang sangat istimewa, dan dapat mulai menambahkan fitur kecil satu per satu hingga Anda memiliki proyek berfitur lengkap.

Pada proyek hobi kecil saya sendiri, hal lain yang saya temukan yang membantu adalah memulai dengan daftar lengkap semua tugas pengembangan yang diketahui yang perlu dilakukan, dipesan, dan diperkecil sehingga setiap tugas individu dapat dilakukan dan diuji di mungkin 30 hingga 60 menit, puncak. Sangat memberi semangat untuk melakukan tugas kecil, melihatnya bekerja dalam permainan, dan mencoretnya dari daftar ... yang kemudian membuatnya lebih mungkin saya akan melakukan hal berikutnya dalam daftar karena yang terakhir adalah sangat mudah, dan selanjutnya ... seperti makan keripik kentang.

Petunjuk lain: setiap kali Anda berhasil mengimplementasikan fitur baru, buat cadangan (atau gunakan kontrol kode sumber, yang pada dasarnya adalah hal yang sama, tetapi tidak semua orang menggunakan kontrol sumber jika hanya mereka yang mengerjakan proyek pribadi mereka sendiri). Dengan begitu jika Anda benar-benar mengacaukan kode pada jam 2 pagi dan tidak dapat menemukan cara untuk mendapatkannya kembali dalam keadaan aktif, proyek tersebut tidak mati dan tidak harus dimulai ulang dari awal; alih-alih, Anda cukup memutar kembali ke tonggak yang sudah selesai dan bekerja, dan coba lagi.

Ian Schreiber
sumber
4
Beri +1 pada pos ini, sarannya bagus. Lingkup adalah pembunuh proyek.
menggarisbawahi setiap tanggal
12

Saya akan mengatakan hal yang sangat penting adalah selalu menunjukkan sesuatu.

Maksud saya, Anda dapat menghabiskan waktu berabad-abad pada sistem entitas yang didorong data, dengan rendering yang ditangguhkan dan FPS yang sangat tinggi, dan semua itu. Tetapi kemungkinan besar Anda akan bosan karena tidak memiliki apa-apa untuk ditampilkan, dan menyerah. Padahal, jika Anda pertama kali mencoba mendapatkan beberapa model di layar, memindahkannya, dan pergi dari sana, Anda akan memiliki peluang yang jauh lebih baik.

Saya pikir yang pertama adalah pengembangan dari bawah ke atas; bekerja dari kerangka kerja hingga konten aktual, dan yang kedua adalah top-down; bekerja dari mendapatkan beberapa konten dan membangun dari sana.

Poin kecil, tetapi sesuatu yang sangat membantu.

Bebek Komunis
sumber
10

Sebagai pengembang mandiri, saya merasa terbantu untuk mengimplementasikan suara sejak dini. Saya merasa itu memotivasi saya untuk bekerja lebih keras pada fitur-fitur lain karena bahkan dalam beberapa minggu pertama (dengan grafik terbatas pada poligon berwarna cerah, deteksi tabrakan serpihan, kontrol hilang dll.) Suara masih memberikan perasaan berada "hampir sampai" . "

menemukan
sumber
3
Pendekatan asli, +1.
topright
6

Saya pernah mengerjakan sebuah proyek yang sepertinya melakukan segalanya dengan benar. Mereka membuat situs web / papan buletin untuk semua orang yang bekerja di proyek untuk berkolaborasi. Mereka telah memberi semua orang jadwal waktu dan tujuan tertentu dan permainan itu sendiri adalah konsep yang baik. Meskipun demikian, masih hanya butuh sekitar 2 bulan bagi orang-orang untuk mulai menurunkan peta. Setelah 3 bulan, pengembangan selesai dan permainan tidak pernah selesai.

Jadi jika Anda bekerja dalam tim maka saya pikir Anda perlu insentif. Anda membutuhkan seseorang yang terus-menerus berhubungan dengan semua orang untuk memastikan mereka melakukan pekerjaan dan mengingatkan mereka mengapa mereka ingin terus melakukannya.

Jika Anda bekerja sendiri; Saya tidak terlalu yakin. Saya buruk dengan karya seni dll. Jadi saya kebanyakan berkonsentrasi pada sisi mesin hal. Ini selalu cukup untuk membuat saya tertarik :)

Pengembang akan selalu memberi tahu Anda untuk tidak pindah ke area baru sampai Anda menyelesaikan yang sedang Anda kerjakan sekarang. Jika Anda mencoba membuat game sendiri maka saya tidak berpikir itu terlalu kejam jika Anda memutuskan untuk melanggar aturan ini. Mengerjakan sesuatu yang segar adalah cara yang baik untuk menjaga tingkat kegembiraan Anda tetap tinggi!

Anthony
sumber
3

Ada banyak jawaban bagus, tetapi saya juga akan menambahkan jawaban saya:

  • Selalu memiliki proyek yang sedang berjalan yang dapat Anda lihat. Jangan masuk dalam mode tank di mana Anda kode selama 2 minggu tanpa sesuatu untuk ditampilkan.
  • Jaga agar loop umpan balik tetap pendek (ini semakin meluas pada poin sebelumnya): kode sedikit fitur baru, tunjukkan sekitar, dapatkan umpan balik.
  • Jangan pernah menerapkan sesuatu yang tidak Anda butuhkan sekarang, yang merupakan akibat dari: tidak pernah membangun kerangka kerja hal pertama dalam proyek.

Saya ingin sedikit memperluas pada poin terakhir, karena saya telah melihatnya terjadi beberapa kali: tidak pernah membangun kerangka kerja pertama. Ada banyak alasan, tetapi pada dasarnya, Anda tidak akan memiliki visi yang diperlukan untuk melakukan sesuatu dengan benar, Anda akan membuang banyak waktu untuk memikirkan bagaimana-jika dan Anda akan kehilangan semangat ketika setelah X hari / minggu bekerja, akan ada tidak ada yang menunjukkan untuk itu.

Masalahnya adalah bahwa kerangka kerja sering kali diperlukan untuk produk akhir, jadi, apa yang harus dilakukan oleh pembuat kode? Mulai membangun secara khusus, dengan nilai-nilai kode keras. Saat Anda perlu mengubah nilai, buat opsi itu dapat dimodifikasi. Ketika Anda perlu membuat dua hal yang sama, abstraksi potongan-potongan yang sama bersama-sama, tetapi tetap sisanya. Jika Anda terus melakukan ini, Anda benar-benar akan berakhir dengan kerangka kerja yang muncul karena kebutuhan, alih-alih membuang-buang waktu bagaimana-pada awalnya.

Setelah Anda membuat game Xth, maka Anda dapat mempertimbangkan mulai dengan framework, Anda akan memiliki cukup pengalaman saat itu untuk melakukannya.

ADB
sumber
Nah, dalam permainan saya membuat (shmup) saya harus mengerahkan "kerangka kerja" untuk senjata dan proyektil dan kapal, dan saya tidak bisa membayangkan bagaimana itu akan bekerja jika mencoba mengembangkan kerangka dalam sebuah iklan. cara hoc. Sebenarnya, saya bisa: saya mungkin akan berakhir dengan kekacauan: P
RCIX
Cukup adil, tetapi apa yang Anda gambarkan benar-benar sangat kecil. Secara kerangka, saya lebih memikirkan mesin permainan, sistem skrip, dll. Kumpulan kelas / objek yang tidak dapat Anda muat dengan nyaman di kepala Anda jika Anda mau. Apa yang saya katakan tidak menghilangkan kebutuhan untuk memikirkan struktur objek Anda.
ADB
2

Saya memiliki dua atau tiga notebook senilai ide sebelum saya benar-benar mulai mengembangkan game pertama saya. Saya menghabiskan beberapa bulan bermain game serupa untuk tujuan penelitian - menentukan fitur mana yang saya suka atau tidak suka. Saya biasanya mencoba untuk fokus pada mekanik terlebih dahulu dan menangani tampilan dan rasa kemudian (tetapi berhati-hati untuk tidak mengabaikan kegunaan). Saya akan merekomendasikan memiliki desain yang kasar tetapi menyeluruh sebelum Anda terjun ke dalam pengembangan. Jangan mencoba untuk menguraikan setiap detail terlalu dini, karena desain Anda tentu akan berkembang untuk mengakomodasi masalah pemutaran, keterbatasan teknologi, dll.

Mike Strobel
sumber
2

Pastikan ide Anda penuh dengan melakukan brainstorming dan menuliskan beberapa tujuan desain utama. Saya melalui proses yang saya sebut menemukan permainan 'jiwa'. Yaitu apa alasan utama saya membuat game ini. Dari sini saya menyempurnakan beberapa konsep dan ide yang akan mendukung tujuan utama ini. Seluruh proses ini bisa memakan waktu berjam-jam, berhari-hari, berminggu-minggu, atau lebih lama tergantung pada bagaimana ide itu datang kepada Anda.

Dari sini, dapatkan sesuatu yang terlihat dan kinetik. Saya menemukan bahwa bisa bermain dengan permainan dan mendapatkan umpan balik dari itu sangat penting dalam menjaga motivasi. Saya cenderung menerapkan efek visual dan suara, serta penanganan input sederhana dan pemrosesan sehingga sesuatu 'terjadi' dan rasanya seperti kenyataan daripada mimpi.

Tidak peduli bagaimana strategi pengembangan Anda berjalan, saya tidak bisa cukup menekankan bahwa Anda tidak terlibat dalam mencoba merancang dan membuat kode "mesin" game. Setiap fitur yang tidak memiliki efek terlihat atau taktil pada permainan akan menawarkan hadiah yang sangat sedikit. Untuk membantu mengimbangi ini dengan sistem inti esensial, pasang info pengembangan di layar. IE FPS, variabel AI, dan teks lain apa pun yang akan membantu mengungkapkan bahwa ada sesuatu yang sebelumnya tidak ada. Tidak ada yang lebih menguras daripada menghabiskan 10 jam coding sistem, kompilasi, dan memiliki pengalaman yang sama persis seperti sebelumnya.

Saya menulis artikel beberapa tahun yang lalu tentang menemukan jiwa permainan Anda yang mungkin menarik bagi Anda di sini: http://deleter.phatcode.net/index.php?page=articles&a=8

sunting: Dan satu hal lagi yang saya lihat disebutkan di pos lain yang ingin saya uraikan. Mainkan game tidak hanya saat mendesain gim Anda, tetapi setiap saat Anda merasa tidak termotivasi untuk mengerjakan gim Anda sendiri. Saya menemukan bahwa bermain game serupa membantu saya mengingat mengapa saya ingin membuat game saya dan membantu memberi saya dorongan ekstra yang harus saya teruskan.

Selain itu, Anda dapat membangun "bank inspirasi" gambar, video, musik, dan klip suara yang semuanya mengandung elemen dari apa yang ingin Anda masukkan ke dalam gim Anda. Kapan pun Anda membutuhkan arahan, kembalilah ke sumber-sumber ini untuk membantu memandu keputusan Anda. Ini akan membantu Anda tetap termotivasi dan tetap di jalur.

Deleter
sumber
1

Saya biasanya fokus pada UI dulu. Ini membantu saya membayangkan bagaimana permainan akan dimainkan. Juga saya cenderung bekerja pada pemikiran yang mudah terlebih dahulu sehingga saya tidak terjebak dalam sesuatu.

EddieC
sumber
1

Mulailah dengan konsep gim, tetapkan alasan gim, gameplay, tampilan dan nuansa gim yang ingin Anda buat.

Dari sana Anda dapat mulai membuat fitur dan daftar aset sehingga programmer dan artis setidaknya dapat mulai mengerjakan sesuatu, sementara perancang melakukan beberapa pemikiran atau mengutak-atik mekanisme permainan.

Dengan cara ini Anda setidaknya memiliki beberapa kode dan aset dalam beberapa hari atau minggu untuk meningkatkan semangat dan memulai proyek Anda.

Wight
sumber
s/moral/morale
RCIX
Mengedit salah eja = p
Berat
0

Bagi saya, membantu untuk 'memetakan' ide permainan secara mental sebelum memulainya. Saya akan mencoba dan mencari tahu mekanika utama, struktur dasar dari permainan internal, mungkin beberapa detail kecil tentang bagaimana saya ingin itu berfungsi. Kemudian saya menerapkan karet ke jalan, dan mulai bekerja, menekuk atau menghancurkan bagian-bagian dari peta mental saya di mana kode membutuhkan pengaturan yang berbeda. Saya mungkin menulis beberapa hal (latar belakang, mungkin fitur utama), tetapi pada saat itu desainnya biasanya terlalu banyak bergeser sehingga dokumen tidak berguna.

Kalau tidak, saya agak berhenti dengan itu akhirnya menjadi proyek gagal sejak awal: /

RCIX
sumber