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?
architecture
Ayyappa
sumber
sumber
Jawaban:
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.
sumber
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.
sumber
Menciptakan kembali roda mengajarkan Anda bagaimana roda bekerja.
sumber
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?
sumber
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.
sumber
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 )
sumber
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.
sumber
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.
sumber
Ini hanya kesalahan jika Anda tidak punya waktu untuk belajar. Jika Anda punya waktu, lakukanlah. Jika tidak, maka jangan lakukan itu.
sumber