Membuat game Platform Windows Universal sederhana (UWP) dengan DirectX

Dalam serangkaian tutorial ini, Anda akan mempelajari cara menggunakan DirectX dan C++/WinRT untuk membuat contoh game dasar Platform Windows Universal (UWP) bernama Simple3DGameDX. Gameplay ini berlangsung di galeri pemotretan 3D orang pertama yang sederhana.

Catatan

Tautan dari mana Anda dapat mengunduh game sampel Simple3DGameDX itu sendiri adalah game sampel Direct3D. Kode sumber C++/WinRT ada di folder bernama cppwinrt. Untuk informasi tentang aplikasi sampel UWP lainnya, lihat Aplikasi sampel untuk pengembangan Windows.

Tutorial ini mencakup semua bagian utama permainan, termasuk proses untuk memuat aset seperti seni dan jala, membuat perulangan game utama, mengimplementasikan alur penyajian sederhana, dan menambahkan suara dan kontrol.

Anda juga akan melihat teknik dan pertimbangan pengembangan game UWP. Kami akan fokus pada konsep pengembangan game UWP DirectX utama, dan memanggil pertimbangan khusus Windows-Runtime sekeliling konsep tersebut.

Tujuan

Untuk mempelajari tentang konsep dasar dan komponen dari game UWP DirectX, dan untuk menjadi lebih nyaman merancang game UWP dengan DirectX.

Apa yang perlu Anda ketahui

Untuk tutorial ini, Anda harus terbiasa dengan subjek ini.

  • C++/WinRT. C++/WinRT adalah proyeksi bahasa C++17 modern standar untuk API Windows, yang diimplementasikan sebagai pustaka berbasis file header, dan dirancang untuk memberi Anda akses kelas satu ke API Windows modern.
  • Aljabar linier dasar dan konsep fisika Newtonia.
  • Terminologi pemrograman grafis dasar.
  • Konsep pemrograman Windows dasar.
  • Pemahaman dasar tentang API Direct2D dan Direct3D 11 .

Permainan sampel Simple3DGameDX mengimplementasikan galeri menembak 3D orang pertama sederhana, di mana pemain menembak bola pada target bergerak. Mencapai setiap target memberikan sejumlah poin, dan pemain dapat maju melalui 6 level tantangan yang meningkat. Pada akhir level, poin diikat, dan pemain diberi skor akhir.

Sampel menunjukkan konsep permainan ini.

  • Interoperatasi antara DirectX 11.1 dan Windows Runtime
  • Perspektif dan kamera 3D orang pertama
  • Efek 3D stereoskopis
  • Deteksi tabrakan antara objek dalam 3D
  • Menangani input pemutar untuk kontrol pengontrol mouse, sentuhan, dan Xbox
  • Pencampuran dan pemutaran audio
  • Mesin status game dasar

contoh permainan dalam tindakan

Topik Deskripsi
Menyiapkan proyek game Langkah pertama dalam mengembangkan game Anda adalah menyiapkan proyek di Microsoft Visual Studio. Setelah mengonfigurasi proyek khusus untuk pengembangan game, Anda nantinya dapat menggunakannya kembali sebagai semacam templat.
Tentukan kerangka kerja aplikasi UWP game Langkah pertama dalam mengkoding game Platform Windows Universal (UWP) adalah membangun kerangka kerja yang memungkinkan objek aplikasi berinteraksi dengan Windows.
Manajemen alur game Tentukan mesin status tingkat tinggi untuk mengaktifkan interaksi pemutar dan sistem. Pelajari bagaimana UI berinteraksi dengan mesin status game secara keseluruhan dan cara membuat penanganan aktivitas untuk game UWP.
Tentukan objek permainan utama Sekarang, kita melihat detail objek utama game sampel dan bagaimana aturan yang diterapkannya diterjemahkan ke dalam interaksi dengan dunia game.
Merender kerangka kerja I: Pengandalan penyajian Pelajari cara mengembangkan alur penyajian untuk menampilkan grafik. Pengandalan untuk penyajian.
Kerangka kerja penyajian II: Penyajian game Pelajari cara merakit alur penyajian untuk menampilkan grafik. Penyajian game, menyiapkan, dan menyiapkan data.
Menambahkan antarmuka pengguna Pelajari cara menambahkan overlay antarmuka pengguna 2D ke game DirectX UWP.
Menambahkan kontrol Sekarang, kita lihat bagaimana permainan sampel mengimplementasikan kontrol tampilan bergerak dalam game 3-D, dan cara mengembangkan kontrol sentuhan dasar, mouse, dan pengontrol game.
Tambahkan suara Kembangkan mesin suara sederhana menggunakan API XAudio2 untuk memutar musik game dan efek suara.
Memperluas permainan sampel Pelajari cara mengimplementasikan overlay XAML untuk game UWP DirectX.