Saya seorang programmer normal dengan sekitar 3 tahun pengalaman, yang tertarik untuk masuk ke pengembangan game. Masalah yang saya hadapi adalah ketika saya melihat buku-buku "pemula" ini, kebanyakan dari mereka mengajarkan keterampilan pemrograman dasar, dan saya tidak memiliki kesabaran untuk duduk melewatinya atau menganggapnya berharga. Tetapi, ketika saya melihat buku-buku yang lebih maju, mereka berada di atas kepala saya, dan sekali lagi, tidak berhasil bagi saya. Apa yang saya cari, adalah buku-buku yang menjelaskan permainan internal yang rumit, tetapi pada tingkat yang lebih masuk akal.
Sebagai contoh, saya sangat akrab dengan semua jenis struktur data (hash, pohon, daftar terkait), dan dengan banyak algoritma umum (penyortiran, pencarian), tetapi saya tidak akan tahu bagaimana, katakanlah, menerapkan deteksi tabrakan secara efektif. Saya juga memiliki pengalaman menggunakan perpustakaan asing, jadi saya tahu cara menggunakan dokumentasi untuk mempelajari API, jadi saya juga tidak perlu buku "Belajar menggunakan X".
Secara pribadi, saya tidak peduli platform / bahasa / perpustakaan apa yang digunakan dalam buku-buku, karena saya nyaman dalam banyak bahasa, tetapi permainan yang saya cari akan menggunakan Javascript dan kanvas HTML5.
Ada saran? Adakah yang gratis?
PS Saya harus mencatat bahwa tingkat matematika dan fisika saya relatif rendah, dan sebuah buku yang dengan lembut mengintegrasikan hal-hal itu akan menjadi nilai tambah.
EDIT: Saya harus menyebutkan bahwa saya tertarik pada pemrograman 2D, dan pada titik ini saya belum terlalu peduli untuk 3D.
Jawaban:
Sudahkah Anda melihat seri Game Programming Gems ? Mungkin memberi Anda spesifik Anda tampaknya meminta. Tidak banyak buku di HTML5 / kanvas karena cukup baru, terutama yang berbicara tentang pemrograman game.
sumber
Aspek pemrograman game apa yang membuat Anda penasaran? Ada beberapa buku yang membahas aspek-aspek spesifik dari pemrograman game. Menjalankan dan menjalankan gim tidaklah sulit, dan logika gim apa pun sama seperti cara Anda mengelola data untuk aplikasi lain, mungkin sedikit lebih mementingkan kecepatan eksekusi. Masuk ke hal-hal seperti pemrograman grafik, bisa menjadi sesuatu yang sama sekali berbeda. Mulailah dengan kerangka dasar gim, kemudian fokus pada satu bidang yang Anda minati, seperti merancang sistem pertarungan yang kuat, atau menyinkronkan animasi, atau shader.
Buku jenis info umum yang menurut saya berguna:
Anda mungkin berada pada tahap di mana Anda akan mendapatkan informasi paling banyak dengan melihat berbagai posting tutorial untuk mesin tertentu online. Ada juga cukup banyak game sumber terbuka yang bisa Anda periksa.
Satu hal yang menarik untuk dipelajari adalah Mesin Monocle .
Edit :
Berkenaan dengan matematika, saya juga sedikit goyah pada yayasan saya. Sumber yang bagus untuk bidang studi umum ini adalah Khan Academy .
Untuk barang gratis lainnya, cukup telusuri GameDev.net, dan mungkin artikel MSDN untuk XNA.
sumber
Jika Anda yakin dengan pemrograman berorientasi objek, Anda harus memastikan Anda mengambil sesuatu yang mencakup desain berorientasi komponen. Ini adalah pendekatan pemrograman dalam OOP yang sangat kuat dalam pengembangan game dan telah menjadi pendekatan standar dalam dekade terakhir.
Dua sumber yang berkontribusi besar pada pemahaman saya tentang COD:
Ada jawaban pada Stack Overflow yang berisi daftar sumber daya yang luar biasa: Rekayasa perangkat lunak berbasis komponen dalam literatur game .
Catatan: COD tidak hanya digunakan dalam pengembangan game. Anda mungkin menemukan sumber daya yang menjelaskan COD dalam konteks yang sama sekali berbeda, yang tidak perlu membantu sama sekali untuk memahami peran yang dimainkannya dalam game (YMMV).
sumber
Saya akan menambah banjir judul di sini:
Arsitektur Mesin Game oleh Jason Gregory (Naughty Dog) untuk tinjauan umum mesin game pada tingkat yang cukup terperinci.
Deteksi Tabrakan Real-time oleh Christer Ericson (Dewa Perang) untuk tinjauan mendalam dan komprehensif sistem deteksi tabrakan.
Rendering waktu-nyata oleh Tomas Moller dan Eric Haines untuk perlakuan rendering yang serupa.
sumber
Saya merekomendasikan Pengantar Pemrograman Game dengan DirectX 9.0c: Pendekatan Shader oleh Frank Luna. Ini juga tersedia untuk D3D10 jika Anda penasaran. Buku ini mengasumsikan pengetahuan dasar C ++ tetapi tidak ada yang khusus game dan tidak ada COM, dan dimulai dengan berbagai dasar matematika seperti vektor dan matriks, dan dengan lembut memandu pengguna melalui pengaturan permainan dari dasar hingga menengah. Yang penting tentu saja adalah bahwa seiring berjalannya waktu, maka hal-hal berubah - misalnya, ia tidak mengajarkan pemasangan perangkat keras atau optimasi lain yang relatif baru.
sumber
Saya baru saja menemukan penerbit dengan apa yang tampaknya menjadi daftar buku yang bagus: http://www.courseptr.com/Courses.aspx?MenuId=8&MenuSubId=0 - mereka adalah penerbit seri Game Programming Gems.
sumber