Apa yang harus dilakukan mesin gim? [Tutup]


20

Saya ingin meningkatkan keterampilan saya / mencoba sesuatu yang baru dan saya ingin memulai dengan 3D. Saya telah membaca Memulai pemrograman dalam 3D dengan C ++ tetapi saya memiliki pertanyaan tentang mesin:

  • Apa yang harus dilakukan mesin? Saya tahu itu lapisan abstraksi di atas 3D API (yaitu OpenGL atau DirectX) tetapi apa yang harus dilakukan?

Untuk rekomendasi buku, pertanyaan ini akan membantu Anda: gamedev.stackexchange.com/questions/455/…
Tetrad

Jawaban:


27

Anda benar dalam mengatakan bahwa mesin gim sedang mengabstraksi jauh dari API grafik tingkat rendah, tetapi mesin gim yang sepenuhnya berfungsi lebih banyak.

Mesin game dimaksudkan untuk membuat segalanya terkait pengembangan game lebih mudah. Mereka masing-masing memiliki fitur unik mereka sendiri, tetapi umumnya mereka menyediakan lapisan abstraksi yang mudah untuk grafik, audio, input, manajemen adegan, deteksi tabrakan, matematika dan utilitas umum yang bermanfaat. Beberapa menyediakan pembungkus dan plugin untuk API fisika dan beberapa bahkan memiliki beberapa dukungan AI (sebagian besar terbatas pada FSM, merintis jalan dan - pohon perilaku - tren saat ini). Banyak dari mereka mendukung, dan membanggakan diri mereka sendiri, pada fungsionalitas lintas platform.

Tujuan mesin gim adalah untuk memudahkan pengguna membuat gim, tanpa harus berurusan dengan gangguan kecil dalam membuat gim dari awal atau harus menginstal sejumlah perpustakaan dan menulis pembungkus sendiri agar sesuai dengan kebutuhan Anda. permainan.

Ada banyak mesin di luar sana, tetapi waspadalah terhadap perbedaan antara mesin grafis dan mesin permainan (Misalnya, Unity akan menjadi mesin permainan, sedangkan Ogre akan menjadi mesin grafis).

Saya punya dua buku tentang masalah ini, tetapi mereka memberikan gambaran yang bagus tentang masalah ini:

  • Arsitektur Mesin Game 3D oleh David H Eberly

  • Game Coding Lengkap oleh Mike McShaffry

Mereka tidak terlalu mendalam karena Anda akan memerlukan beberapa buku pada setiap komponen untuk mendapatkan kedalaman pengetahuan yang Anda butuhkan untuk membuat mesin permainan profesional yang lengkap, tetapi mereka menjelaskan konsep-konsepnya dengan sangat baik, saya pikir.

Jika Anda memulai game dev, jangan membuat mesin. Saya merujuk Anda ke halaman berikut: http://geometrian.com/programming/tutorials/write-games-not-engines/

Mesin adalah hal yang sulit untuk diperbaiki. Jika Anda menulis banyak permainan, Anda akan menemukan banyak kode yang dapat digunakan kembali setelah beberapa saat yang dapat Anda gunakan untuk membuat mesin pribadi Anda untuk membantu Anda. Dan memiliki banyak game (lengkap) di bawah ikat pinggang Anda jauh lebih mengesankan daripada mesin tunggal.

Semoga itu bisa membantu.

sinar


1
+1 untuk artikel blog. Ia mengatakan dengan tepat apa yang akan saya katakan tentang masalah ini.
Tetrad

5
Ya, tidak ada yang harus membuat mesin game sebelum mereka membuat game. Bagaimana Anda bisa tahu bahwa kode Anda dapat digunakan kembali jika Anda belum tahu bahwa itu dapat digunakan?
Kylotan

@Kylotan Saya menyadari ini sangat terlambat, tetapi saya hanya ingin mengucapkan terima kasih atas komentar itu karena saya terus-menerus mengutipnya kepada orang lain :)
Ray Dey

@RayDey tautan ke "tulis game bukan mesin" sudah mati, FYI. Saya berharap untuk membacanya :(
DrewJordan

5

Menambahkan ke jawaban Ray: Mesin (Game, Grafik, Audio, dll ...) tidak hanya membuatnya lebih mudah untuk berinteraksi dengan API yang mendasarinya, tetapi mengimplementasikan fungsionalitas khusus untuk permainan, mis: model Shading, suara 3D.

Khusus untuk mesin Game: mereka mengelola objek game, sumber daya (Memori, utas, semua mesin lainnya), dan komunikasi antar-modul. Mereka memberikan struktur permainan, skalabilitas, dan fleksibilitas, yang penting untuk setiap proyek non-sepele.


+1 untuk titik struktur, skalabilitas, dan fleksibilitas dan saya lupa menambahkan manajemen memori
Ray Dey

1

Saya telah menulis tutorial terperinci tentang apa itu mesin game - khususnya dalam konteks platform iPhone dan Android. Saya telah menyertakan deskripsi terperinci dengan contoh-contoh berbagai bagian mesin permainan: UI, Grafik, Suara, Fisika, efek Partikel. Tutorial tersedia di sini: Apa itu mesin game? . Semoga bermanfaat.


0

Setiap mesin permainan memiliki ide yang sedikit berbeda tentang apa yang harus dilakukan mesin permainan.

Tetapi karena sudah terlalu banyak mesin gim, saya sangat merekomendasikan agar Anda membuat GAME bukan ENGINE.

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.