Mulai dari Awal - Apakah ini Kesalahan jika saya menemukan kembali roda?


31

Biasanya setiap kali saya ingin memulai permainan, saya akan berpikir untuk memiliki arsitektur dasar yang baik untuk rendering dan loop game yang lebih baik dari awal. Saya biasanya tidak ingin menggunakan mesin yang ada. Alasan di baliknya adalah bahwa saya ingin mengimplementasikannya sendiri untuk mempelajari hal-hal.

Tetapi banyak blog dan pengembang mengatakan itu bukan pilihan yang baik untuk menciptakan kembali roda.

Apakah saya melewatkan sesuatu?


Seberapa sering Anda benar-benar "memulai permainan"? Jika Anda dengan cepat mengulangi ide, lakukan apa pun yang berhasil. Jika Anda membuat magnum opus di mana kesalahan langkah itu mahal atau waktu terbatas, mengapa buang waktu menciptakan kembali roda? Jika Anda tertarik mempelajari cara kerja berbagai hal, mengapa tidak menulis sendiri teknologi Anda? Apa tujuan Anda di sini?
ChrisE

Jawaban:


16

Tidak, itu sama sekali bukan hal yang buruk. Belajar dan kemampuan untuk belajar sangat penting untuk menjadi seorang programmer yang baik.

TETAPI
Yang penting ketika membangun sesuatu dari awal adalah menyelesaikannya sampai selesai. Tidak masalah seberapa rumit dan tidak optimalnya, jika Anda menyelesaikannya ada rasa kepuasan yang tidak seperti yang lain. Itu semua akan memberi Anda pengalaman berharga dan Anda selalu dapat membuat kode lebih elegan atau melakukan lebih baik nanti ketika Anda memiliki sesuatu yang fungsional. Pada akhirnya, satu-satunya hal yang memisahkan programmer yang hebat dan yang biasa-biasa saja adalah pengalaman dan latihan.

Tentu saja ketika Anda telah menyelesaikan sesuatu dan ingin membuat game lebih lanjut, tidak ada alasan untuk menggunakan kembali basis kode lama Anda.

Jika Anda ingin memulai karir dalam pengembangan game, atau jenis pengembangan apa pun, pengalaman akan membawa Anda sangat, sangat jauh. Tetapi jika Anda ingin membuat game dengan cepat dan mudah (relatif mudah, dibandingkan dengan menulis barang Anda sendiri) gunakan mesin yang ada.

Jujur dengan Anda, kombinasi pengalaman menggunakan kode Anda sendiri DAN menggunakan berbagai perpustakaan dan mesin yang berbeda akan membuat Anda menjadi pembuat kode yang jauh lebih baik.


Terima kasih Ray, itu membantu! tapi bisakah kamu daftar mekanik game juga ...
Ayyappa

Tidak masalah. Saya tidak sepenuhnya yakin apa yang Anda maksudkan dalam konteks pertanyaan awal Anda. Apa yang Anda cari?
Ray Dey

Tidak masalah saya akan membuatnya menjadi pertanyaan terpisah. Pertanyaan lain dalam posting ini telah dihapus (diedit) karena tidak sedikit berhubungan dengan konteksnya.
Ayyappa

+1 untuk garis selesai - sebenarnya menyelesaikan proyek adalah pengalaman yang baik.
Cyclops

36
i want to implement it on my own to learn stuff.

Itu mungkin yang paling penting. Jika tujuan Anda adalah untuk belajar, menulis rendering dan mesin pengulangan game Anda sendiri dari awal tidak masalah, dan pengalaman belajar yang sangat baik. Jika tujuan Anda adalah membuat game jadi dengan cepat dan mudah, maka gunakan kerangka kerja yang ada.


3
+1. Hanya karena API atau pustaka pihak ketiga dapat mengabstraksi semua detail implementasi tidak berarti Anda tidak perlu mengetahuinya. Menggunakan 'roda di luar rak' akan membantu Anda menulis kode jadi lebih cepat; tetapi membuat roda Anda sendiri akan membantu Anda mengidentifikasi yang mana yang terbaik, dan yang paling penting bagaimana mengoptimalkan dan men-debug mereka ketika jari-jari mulai bermunculan ...
sebf

4
+1 Jangan menemukan kembali roda, kecuali Anda belajar membuat roda.
zzzzBov

4
ingat bahwa ini akan meningkatkan keterampilan Anda dalam desain mesin game , tetapi tidak dalam desain game.
Dave O.

Ini juga jawaban yang layak ... terima kasih ... tapi buruknya aku tidak bisa menandai dua jawaban :(
Ayyappa

10

Menciptakan kembali roda mengajarkan Anda bagaimana roda bekerja.


5

Tergantung pada apa yang Anda kejar. Jika Anda ingin belajar, temukan kembali sebanyak yang Anda inginkan. Saya tahu orang-orang yang telah menulis JVM atau PNG loader mereka sendiri untuk itu.

Sebagian besar blog mungkin memberikan saran tentang cara mendapatkan hal-hal yang membuat Anda dibayar dengan cepat, tetapi saya tidak tahu apakah itu strategi jangka panjang yang bagus. Jika Anda tidak tahu apa yang Anda mainkan, bagaimana Anda tahu jika itu pilihan yang baik? Apa yang akan Anda lakukan ketika Anda mengalami masalah, merengek di forum, atau dapatkah Anda mengetahuinya sendiri?


4

Ada banyak kekecewaan tentang frasa ini di komunitas pemrograman umum, tetapi saya pikir kita semua tahu bahwa banyak dari kita yang mencintai tidak lebih dari menciptakan kembali roda dan menemukan cara untuk membuatnya berputar sedikit lebih baik, lebih cepat dan lebih dingin.

Teknologi baru keluar setiap saat yang membutuhkan orang untuk menemukan kembali roda. OpenCL dan bahasa komputasi GPU lainnya adalah contoh yang baik.

Anda dapat menggunakan kerangka kerja yang memang menyertakan kemampuan baru tahun ini tetapi membuatnya sendiri, jika Anda benar-benar melakukan penelitian dan melakukan perbaikan pada apa yang sudah ada di luar sana, .. Anda benar-benar dapat menempuh beberapa landasan baru dalam kinerja dan utilitas.

Setelah Anda menemukan beberapa roda untuk membuat Anda berputar, Anda tahu barang-barang Anda dengan sangat baik sebagai bonus yang kuat!

Plus itu sangat menyenangkan.


1

Dan ada orang yang mengklaim mereka lebih produktif justru karena mereka menemukan kembali roda.

Contoh kasus: Eskil Steenberg, pencipta World of Love (video luar biasa di mana ia berbicara tentang permainannya, mesinnya, dan peralatannya yang luar biasa , dan filosofinya: http://vimeo.com/18423305 )


1

Jika ini adalah pertama kalinya Anda, bahkan hanya untuk belajar, masih lebih baik menggunakan beberapa jenis mesin karena Anda akan belajar apa yang dapat disediakan oleh mesin untuk Anda.

"Roda" yang digunakan dalam metafora adalah konsep, bukan implementasinya. Meskipun Anda tidak akan menemukan kembali roda, Anda masih perlu memilih apakah Anda akan membeli satu atau Anda akan membuatnya sendiri. Oleh karena itu, membuat mesin Anda sendiri bahkan tidak menciptakan kembali roda, hanya saja Anda ingin membuat roda Anda sendiri untuk beberapa tujuan, yang mungkin untuk belajar, untuk biaya rendah, untuk ukuran kecil atau penggunaan atau persyaratan khusus.


0

Masalahnya, apa yang membutuhkan banyak waktu ketika melakukan permainan adalah konten aktual dan pembuatan dan pengujian aset - umumnya tidak menulis kode. Itu sebabnya mengapa mudah untuk melewati bagian itu dan menggunakan mesin yang ada untuk dapat menghabiskan lebih banyak waktu pada konten, desain game, dan bug tingkat yang lebih tinggi.

Saya pikir, melakukan hal-hal dari awal untuk belajar, akan menghasilkan perasaan yang baik untuk pekerjaan di belakang mesin yang ada dan meningkatkan kemampuan untuk memilih satu nanti jika diperlukan.

Untuk bersenang-senang dan untuk belajar, lakukan apa pun yang Anda suka. Jika saya harus menulis kelas pipa konten dari awal, menangani semua detail yang menjengkelkan dan kasus tepi dari sistem file dan pemuat aset saya akan menjadi gila - selama saya telah belajar cukup untuk memiliki pemahaman yang sangat baik tentang bagaimana melakukannya, Saya cenderung menghindari melakukannya jika seseorang sudah melakukannya dengan baik (meskipun benar, banyak kerangka kerja dan mesin tidak akan cocok dengan ide saya sendiri tentang "baik" yang akan menyebabkan menulis ulang sesuatu). Jika saya tidak tahu bagaimana cara melakukannya, saya sangat suka melakukannya sampai selesai setidaknya sekali, hanya untuk memahami detail yang lebih baik dari apa pun itu - seperti yang sudah dinyatakan oleh Ray Dey.


0

Ini hanya kesalahan jika Anda tidak punya waktu untuk belajar. Jika Anda punya waktu, lakukanlah. Jika tidak, maka jangan lakukan itu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.