Mengembangkan Marble Maze—game Platform Windows Universal (UWP) yang dibangun dengan C++ untuk DirectX

Topik ini menjelaskan cara menggunakan DirectX dan C++ untuk membuat game 3D Platform Windows Universal (UWP). Permainan ini, yang disebut Marble Maze, merangkul beberapa faktor bentuk seperti tablet, PC desktop tradisional, dan PC laptop.

Catatan

Untuk mengunduh kode sumber Marble Maze , lihat sampel di GitHub.

Penting

Marble Maze menggambarkan pola desain yang kami anggap sebagai praktik terbaik untuk membuat game UWP. Anda dapat menyesuaikan banyak detail implementasi agar sesuai dengan praktik Anda sendiri dan persyaratan unik dari permainan yang Anda kembangkan. Jangan ragu untuk menggunakan teknik atau pustaka yang berbeda ketika mereka lebih sesuai dengan kebutuhan Anda. (Namun, selalu pastikan bahwa kode Anda melewati Kit Sertifikasi Aplikasi Windows.) Ketika kami menganggap implementasi yang digunakan di sini sangat penting untuk pengembangan game yang sukses, kami menekankannya dalam dokumentasi ini.

Memperkenalkan Labirin Marmer

Kami memilih Marble Maze karena relatif mendasar, tetapi masih menunjukkan luasnya fitur yang ditemukan di sebagian besar game. Ini menunjukkan cara menggunakan grafik, penanganan input, dan audio. Ini juga menunjukkan mekanisme permainan seperti aturan dan tujuan.

Marble Maze menyerupai permainan labirin table-top yang biasanya dibangun dari kotak yang berisi lubang dan marmer baja atau kaca. Tujuan Marble Maze sama dengan versi table-top: memiringkan labirin untuk memandu marmer dari awal hingga akhir labirin dalam waktu sesedikit mungkin, tanpa membiarkan marmer jatuh ke salah satu lubang. Marble Maze menambahkan konsep titik pemeriksaan. Jika marmer jatuh ke lubang, permainan dimulai ulang di lokasi titik pemeriksaan terakhir yang dilewati marmer.

Marble Maze menawarkan beberapa cara bagi pengguna untuk berinteraksi dengan papan permainan. Jika Anda memiliki perangkat yang mendukung sentuhan atau akselerometer, Anda dapat menggunakan perangkat tersebut untuk memindahkan papan permainan. Anda juga dapat menggunakan pengontrol atau mouse untuk mengontrol permainan.

screen shot of the marble maze game.

Prasyarat

  • Pembaruan Windows 10 Creators
  • Microsoft Visual Studio 2017
  • Pengetahuan pemrograman C++
  • Keakraban dengan terminologi DirectX dan DirectX
  • Pengetahuan dasar tentang COM

Siapa yang harus membaca artikel ini?

Jika Anda tertarik untuk membuat game 3D atau aplikasi intensif grafis lainnya untuk Windows 10, ini untuk Anda. Kami harap Anda menggunakan prinsip dan praktik yang diuraikan dokumentasi ini untuk membuat game UWP Anda sendiri. Latar belakang atau minat yang kuat dalam pemrograman C++ dan DirectX akan membantu Anda memaksimalkan dokumentasi ini. Jika Anda tidak memiliki pengalaman dengan DirectX, Anda masih dapat memperoleh manfaat jika Anda memiliki pengalaman dengan lingkungan pemrograman grafis 3D serupa.

Panduan dokumen : membuat game UWP sederhana dengan DirectX menjelaskan sampel lain yang mengimplementasikan game pemotretan 3D dasar dengan menggunakan DirectX dan C++.

Apa yang dibahas dokumentasi ini

Dokumentasi ini mengajarkan cara:

  • Gunakan Windows Runtime API dan DirectX untuk membuat game UWP.
  • Gunakan Direct3D dan Direct2D untuk bekerja dengan konten visual seperti model, tekstur, bayangan vertex dan piksel, dan overlay 2D.
  • Integrasikan mekanisme input seperti sentuhan, akselerometer, dan pengontrol game.
  • Gunakan XAudio2 untuk menggabungkan musik dan efek suara.

Apa yang tidak dibahas dokumentasi ini

Dokumentasi ini tidak mencakup aspek pengembangan game berikut. Aspek-aspek ini diikuti oleh sumber daya tambahan yang mencakupnya.

  • Prinsip desain game 3D.
  • Dasar-dasar pemrograman C++ atau DirectX.
  • Cara merancang sumber daya seperti tekstur, model, atau audio.
  • Cara memecahkan masalah perilaku atau performa dalam game Anda.
  • Cara mempersiapkan permainan Anda untuk digunakan di bagian lain dunia.
  • Cara mensertifikasi dan menerbitkan game Anda ke Microsoft Store.

Marble Maze juga menggunakan pustaka DirectXMath untuk bekerja dengan geometri 3D dan melakukan perhitungan fisika, seperti tabrakan. DirectXMath tidak tercakup secara mendalam di bagian ini. Untuk detail tentang bagaimana Marble Maze menggunakan DirectXMath, lihat kode sumber.

Meskipun Marble Maze menyediakan banyak komponen yang dapat digunakan kembali, ini bukan kerangka kerja pengembangan game yang lengkap. Ketika kami menganggap komponen Marble Maze dapat digunakan kembali dalam permainan Anda, kami menekankannya dalam dokumentasi.

Langkah berikutnya

Kami menyarankan agar Anda mulai dengan dasar-dasar sampel Marble Maze untuk mempelajari tentang struktur Labirin Marmer dan beberapa panduan pengkodean dan gaya yang diikuti kode sumber Labirin Marmer. Tabel berikut menguraikan dokumen di bagian ini sehingga Anda bisa dengan lebih mudah merujuknya.

Di bagian ini

Judul Deskripsi
Dasar-dasar sampel Labirin Marmer Memberikan gambaran umum tentang struktur permainan dan beberapa pedoman kode dan gaya yang diikuti kode sumber.
Struktur aplikasi Marble Maze Menjelaskan bagaimana kode aplikasi Marble Maze disusun dan bagaimana struktur aplikasi DirectX UWP berbeda dari aplikasi desktop tradisional.
Menambahkan konten visual ke sampel Marble Maze Menjelaskan beberapa praktik utama yang perlu diingat saat Anda bekerja dengan Direct3D dan Direct2D. Juga menjelaskan bagaimana Marble Maze menerapkan praktik ini untuk konten visual.
Menambahkan input dan interaktivitas ke sampel Marble Maze Menjelaskan cara kerja Marble Maze dengan input akselerometer, sentuhan, dan pengontrol game untuk memungkinkan pengguna menavigasi menu dan berinteraksi dengan papan permainan. Juga menjelaskan beberapa praktik terbaik yang perlu diingat saat Anda bekerja dengan input.
Menambahkan audio ke sampel Marble Maze Menjelaskan cara kerja Marble Maze dengan audio untuk menambahkan musik dan efek suara ke pengalaman permainan.