Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Selamat datang di panduan pengembangan game Windows!
Catatan
Sebelum menginvestasikan waktu mengembangkan game berdasarkan kerangka kerja UWP, harap dicatat bahwa UWP tidak lagi dalam pengembangan aktif. Selanjutnya, game berbasis UWP tidak lagi diterima di Xbox Store.
Panduan ini menyediakan kumpulan sumber daya dan informasi end-to-end yang Anda perlukan untuk mengembangkan game Platform Windows Universal (UWP). Versi bahasa Inggris (AS) dari panduan ini tersedia dalam format PDF .
Pengantar pengembangan game untuk Platform Windows Universal (UWP)
Panduan ini menyediakan kumpulan informasi dan sumber daya end-to-end yang akan membantu Anda saat anda mengembangkan game. Bagian diatur sesuai dengan tahap pengembangan game, jadi Anda akan tahu di mana mencari informasi ketika Anda membutuhkannya.
Jika Anda baru mengembangkan game di Windows, panduan Memulai mungkin tempat Anda ingin memulai. Bagian Sumber daya pengembangan Game juga menyediakan survei tingkat tinggi dokumentasi, program, dan sumber daya lain yang berguna saat membuat game. Jika Anda ingin memulai dengan melihat beberapa kode UWP sebagai gantinya, lihat Sampel game.
Sumber daya pengembangan game
Dari dokumentasi hingga program pengembang, forum, blog, dan sampel, ada banyak sumber daya yang tersedia untuk membantu Anda dalam perjalanan pengembangan game Anda. Berikut adalah kumpulan sumber daya yang perlu diketahui saat Anda mulai mengembangkan game Windows Anda.
Catatan
Beberapa fitur dikelola melalui berbagai program. Panduan ini mencakup berbagai sumber daya, sehingga Anda mungkin menemukan bahwa beberapa sumber daya tidak dapat diakses tergantung pada program tempat Anda berada, atau peran pengembangan spesifik Anda. Untuk informasi tentang bermitra dengan Microsoft, lihat Program pengembang.
Dokumentasi pengembangan game
Di seluruh panduan ini, Anda akan menemukan tautan mendalam ke dokumentasi yang relevan—yang diatur berdasarkan tugas, teknologi, dan tahap pengembangan game. Untuk memberi Anda tampilan luas tentang apa yang tersedia, berikut adalah portal dokumentasi utama untuk pengembangan game Windows.
| Portal utama Windows Dev Center | Windows Dev Center |
| Mengembangkan aplikasi Windows | Mengembangkan aplikasi Windows |
| pengembangan aplikasi Platform Windows Universal | dokumentasi Platform Universal Windows |
| Panduan cara untuk permainan UWP | Game dan DirectX |
| Referensi dan gambaran umum DirectX | Grafis dan Game DirectX |
| Azure untuk permainan | Membangun dan menskalakan game Anda menggunakan Azure |
| Azure PlayFab | Solusi backend lengkap untuk game langsung |
| Dokumentasi Interaktif Mixer | Menambahkan interaktivitas ke permainan Anda |
Pusat Mitra
Mendaftar sebagai pengembang di Partner Center adalah langkah pertama untuk menerbitkan game Windows Anda. Akun pengembang memungkinkan Anda memesan nama game Anda, dan mengirimkan game gratis atau berbayar ke Microsoft Store untuk semua perangkat Windows. Gunakan akun pengembang Anda untuk mengelola game dan produk dalam game Anda, mendapatkan analitik terperinci, dan mengaktifkan layanan yang menciptakan pengalaman hebat bagi pemain Anda di seluruh dunia.
Microsoft juga menawarkan beberapa program pengembang untuk membantu Anda mengembangkan dan menerbitkan game Windows. Sebaiknya lihat apakah ada yang tepat untuk Anda sebelum mendaftar untuk akun Pusat Mitra. Untuk informasi selengkapnya, buka Program pengembang
Program pengembang
Untuk menerbitkan game di Microsoft Store, Anda juga harus membuat akun pengembang di Pusat Mitra .
Sampel permainan
Ada banyak sampel game dan aplikasi Windows yang tersedia untuk membantu Anda memahami fitur game Windows, dan memulai pengembangan game dengan cepat. Sampel dikembangkan dan diterbitkan secara teratur, jadi jangan lupa untuk sesekali memeriksa kembali portal sampel untuk melihat apa yang baru. Anda juga dapat menonton repositori GitHub untuk diberi tahu tentang perubahan dan penambahan.
| Aplikasi Contoh Platform Windows Universal | Windows-universal-samples |
| Sampel grafis Direct3D 12 | DirectX-Graphics-Samples |
| Sampel grafis Direct3D 11 | directx-sdk-samples |
| Sampel permainan orang pertama Direct3D 11 | Membuat game UWP sederhana dengan DirectX |
| Sampel efek gambar kustom Direct2D | D2DCustomEffects |
| Sampel mesh gradien Direct2D | D2DGradientMesh |
| Sampel penyesuaian foto Direct2D | D2DPhotoAdjustment |
| Sampel permainan Windows (Galeri Kode MSDN) | Sampel game Microsoft Store |
| Sampel permainan 2D JavaScript | Membuat game UWP di JavaScript |
| Contoh permainan 3D JavaScript | Membuat game JavaScript 3D menggunakan three.js |
Forum pengembang
Forum pengembang adalah tempat yang bagus untuk mengajukan dan menjawab pertanyaan pengembangan game, dan terhubung dengan komunitas pengembangan game. Forum juga dapat menjadi sumber daya yang fantastis untuk menemukan jawaban yang ada atas masalah sulit yang telah dihadapi dan diselesaikan pengembang di masa lalu.
| Menerbitkan aplikasi dan forum pengembang game | Penerbitan dan iklan dalam aplikasi |
| Forum pengembang aplikasi UWP | Mengembangkan aplikasi Platform Windows Universal |
| Forum pengembang aplikasi desktop | Forum aplikasi desktop Windows |
| Game-game DirectX di Microsoft Store (postingan forum yang telah diarsipkan) | Membangun game Microsoft Store dengan DirectX (diarsipkan) |
| Forum pengembang mitra terkelola Windows 10 | Forum Pengembang XBOX: Windows 10 |
| Forum PlayFab | Forum PlayFab |
Blog pengembang
Blog pengembang adalah sumber daya hebat lainnya untuk informasi terbaru tentang pengembangan game. Anda akan menemukan postingan tentang fitur baru, detail implementasi, praktik terbaik, latar belakang arsitektur, dan banyak lagi.
| Membangun aplikasi untuk Windows (blog) | Membangun Aplikasi untuk Windows |
| Windows 10 (postingan blog) | Postingan di Windows 10 |
| Blog tim rekayasa Visual Studio | The Visual Studio Blog |
| Blog alat pengembang Visual Studio | Blog Alat Pengembang |
| Blog alat pengembang Somasegar | Blog Somasegar |
| Blog pengembang DirectX | Blog Pengembang DirectX |
| Pengantar DirectX 12 (postingan blog) | DirectX 12 |
| Blog tim alat Visual C++ | Blog tim Visual C++ |
| Blog tim PIX | Pengoptimalan dan debugging performa untuk game DirectX 12 di Windows dan Xbox |
| Blog tim Penyebaran Aplikasi Windows Universal | Membangun dan menyebarkan blog tim aplikasi UWP |
Konsep dan perencanaan
Dalam tahap konsep dan perencanaan, Anda memutuskan seperti apa permainan Anda nantinya dan teknologi serta alat yang akan Anda gunakan untuk menghidupkannya.
Gambaran umum teknologi pengembangan game
Ketika Anda mulai mengembangkan game untuk UWP, Anda memiliki beberapa opsi yang tersedia untuk grafis, input, audio, jaringan, utilitas, dan pustaka.
Jika Anda sudah memutuskan semua teknologi yang akan Anda gunakan dalam game Anda, maka Anda sudah siap. Jika tidak, panduan Teknologi game untuk aplikasi UWP adalah gambaran umum yang sangat baik tentang banyak teknologi yang tersedia, dan sangat disarankan membaca untuk membantu Anda memahami opsi dan bagaimana mereka cocok bersama.
| Survei teknologi game UWP | Teknologi game untuk aplikasi UWP |
Perencanaan permainan
Ini adalah beberapa konsep tingkat tinggi dan topik perencanaan untuk dipertimbangkan saat merencanakan permainan Anda.
| Membuat game Anda dapat diakses | Aksesibilitas untuk game |
| Membangun game menggunakan cloud | Cloud untuk Permainan |
| Memonetisasi game Anda | Monetisasi untuk game |
Memilih teknologi grafis dan bahasa pemrograman Anda
Ada beberapa bahasa pemrograman dan teknologi grafis yang tersedia untuk digunakan dalam game Windows. Jalur yang Anda ambil tergantung pada jenis permainan yang Anda kembangkan, pengalaman dan preferensi studio pengembangan Anda, dan persyaratan fitur tertentu dari game Anda. Apakah Anda akan menggunakan C#, C++, atau JavaScript? DirectX, XAML, atau HTML5?
DirectX
Microsoft DirectX adalah pilihan untuk membuat grafis dan multimedia 2D dan 3D berkinerja tinggi.
DirectX 12 lebih cepat dan lebih efisien daripada versi sebelumnya. Direct3D 12 memungkinkan adegan yang lebih kaya, lebih banyak objek, efek yang lebih kompleks, dan pemanfaatan penuh perangkat keras GPU modern pada PC Windows dan Xbox One.
Jika Anda ingin menggunakan alur grafis Direct3D 11 yang sudah dikenal, Anda masih akan mendapat manfaat dari fitur penyajian dan pengoptimalan baru yang ditambahkan ke Direct3D 11.3. Dan, jika Anda adalah pengembang Windows API desktop yang teruji dan terpercaya dengan berakar pada Win32, maka Anda masih akan memiliki opsi tersebut untuk game Windows Anda.
Fitur ekstensif dan integrasi platform mendalam DirectX memberikan kekuatan dan performa yang diperlukan oleh game yang paling menuntut.
| DirectX untuk pengembangan UWP | Pemrograman DirectX |
| Tutorial: Cara membuat game UWP DirectX | Membuat game UWP sederhana dengan DirectX |
| Gambaran umum dan referensi DirectX | Grafis dan Game DirectX |
| Panduan dan referensi pemrograman Direct3D 12 | Grafik Direct3D 12 |
| Video pengembangan Grafis dan DirectX 12 (saluran YouTube) | Microsoft DirectX 12 dan Pendidikan Grafis |
XAML
XAML adalah bahasa UI deklaratif yang mudah digunakan dengan fitur yang nyaman seperti animasi, papan cerita, pengikatan data, grafik berbasis vektor yang dapat diskalakan, mengubah ukuran dinamis, dan grafik adegan. XAML berfungsi dengan baik untuk UI game, menu, sprite, dan grafis 2D. Agar tata letak UI mudah, XAML kompatibel dengan alat desain dan pengembangan seperti Expression Blend dan Microsoft Visual Studio. XAML biasanya digunakan dengan C#, tetapi C++ juga merupakan pilihan yang baik jika itu bahasa pilihan Anda atau jika game Anda memiliki tuntutan CPU yang tinggi.
| Gambaran umum platform XAML | Platform XAML |
| UI dan kontrol XAML | Kontrol, tata letak, dan teks |
HTML 5
HyperText Markup Language (HTML) adalah bahasa markup UI umum yang digunakan untuk halaman web, aplikasi, dan klien kaya. Permainan Windows dapat menggunakan HTML5 sebagai lapisan presentasi berfitur lengkap dengan fitur HTML yang familier, akses ke Platform Windows Universal, dan dukungan untuk fitur web modern seperti AppCache, Pekerja Web, kanvas, seret dan letakkan, pemrograman asinkron, dan SVG. Di balik layar, penyajian HTML memanfaatkan kekuatan akselerasi perangkat keras DirectX, sehingga Anda masih bisa mendapatkan manfaat performa DirectX tanpa menulis kode tambahan apa pun. HTML5 adalah pilihan yang baik jika Anda mahir dengan pengembangan web, porting game web, atau Anda ingin menggunakan lapisan bahasa dan grafis yang bisa lebih mudah didekati daripada pilihan lainnya. HTML5 digunakan dengan JavaScript, tetapi juga dapat memanggil komponen yang dibuat dengan C# atau C++/CX.
| Informasi HTML5 dan Model Objek Dokumen | Referensi HTML dan DOM |
| Rekomendasi HTML5 W3C | HTML5 |
Menggabungkan teknologi presentasi
Microsoft DirectX Graphics Infrastructure (DXGI) menyediakan interoperabilitas dan kompatibilitas di beberapa teknologi grafis. Untuk grafis berkinerja tinggi, Anda dapat menggabungkan XAML dan DirectX; menggunakan XAML untuk menu dan UI sederhana lainnya, dan DirectX untuk merender adegan 2D dan 3D yang kompleks. DXGI juga menyediakan kompatibilitas antara Direct2D, Direct3D, DirectWrite, DirectCompute, dan Microsoft Media Foundation.
| Panduan dan referensi pemrograman Infrastruktur Grafis DirectX | DXGI |
| Menggabungkan DirectX dan XAML | Interop antara DirectX dan XAML |
C++
C++/WinRT adalah bahasa overhead rendah berkinerja tinggi yang menyediakan kombinasi kecepatan, kompatibilitas, dan akses platform yang kuat. C++/WinRT memudahkan penggunaan semua fitur game hebat di Windows, termasuk DirectX dan Xbox Live. Anda juga dapat menggunakan kembali kode dan pustaka C++ yang ada. C++/WinRT menciptakan kode asli yang cepat yang tidak menimbulkan overhead pengumpulan sampah, sehingga game Anda dapat memiliki performa yang bagus dan konsumsi daya rendah, yang menyebabkan masa pakai baterai yang lebih lama. Gunakan C++/WinRT dengan DirectX atau XAML, atau buat game yang menggunakan kombinasi keduanya.
C#
C# (diucapkan "C sharp") adalah bahasa modern dan inovatif yang sederhana, kuat, aman tipe, dan berorientasi objek. C# memungkinkan pengembangan yang cepat sambil mempertahankan keakraban dan ekspresif bahasa gaya C. Meskipun mudah digunakan, C# memiliki banyak fitur bahasa canggih seperti polimorfisme, delegasi, lambda, penutupan, metode iterator, kovarian, dan ekspresi Language-Integrated Query (LINQ). C# adalah pilihan yang sangat baik jika Anda menargetkan XAML, ingin mulai cepat mengembangkan permainan Anda, atau memiliki pengalaman C# sebelumnya. C# digunakan terutama dengan XAML, jadi jika Anda ingin menggunakan DirectX, pilih C++ sebagai gantinya, atau tulis bagian dari game Anda sebagai komponen C++ yang berinteraksi dengan DirectX. Atau, pertimbangkan Win2D: pustaka grafis Direct2D mode langsung untuk C# dan C++.
| Panduan dan referensi pemrograman C# | Referensi bahasa C# |
Menggunakan komponen Windows Runtime untuk menggabungkan bahasa
Dengan Platform Windows Universal, mudah untuk menggabungkan komponen yang ditulis dalam bahasa yang berbeda. Buat komponen Windows Runtime di C++, C#, atau Visual Basic, lalu panggil dari JavaScript, C#, C++, atau Visual Basic. Ini adalah cara yang bagus untuk memprogram bagian dari permainan Anda dalam bahasa pilihan Anda. Komponen juga memungkinkan Anda menggunakan pustaka eksternal yang hanya tersedia dalam bahasa tertentu, serta menggunakan kode warisan yang telah Anda tulis.
| Cara membuat komponen Windows Runtime | Komponen Windows Runtime dengan C++/WinRT |
Versi DirectX mana yang harus digunakan game Anda?
Jika Anda memilih DirectX untuk game Anda, maka Anda harus memutuskan versi mana yang akan digunakan: Microsoft Direct3D 12 atau Microsoft Direct3D 11.
DirectX 12 lebih cepat dan lebih efisien daripada versi sebelumnya. Direct3D 12 memungkinkan adegan yang lebih kaya, lebih banyak objek, efek yang lebih kompleks, dan pemanfaatan penuh perangkat keras GPU modern pada PC Windows dan Xbox One. Karena Direct3D 12 bekerja pada tingkat yang sangat rendah, ia dapat memberikan tim pengembangan grafis ahli atau tim pengembangan DirectX 11 berpengalaman semua kontrol yang mereka butuhkan untuk memaksimalkan pengoptimalan grafis.
Direct3D 11.3 adalah API grafis tingkat rendah yang menggunakan model pemrograman Direct3D yang akrab dan menangani untuk Anda lebih banyak kompleksitas yang terlibat dalam penyajian GPU. Ini juga didukung di Windows dan Xbox One. Jika Anda memiliki mesin yang ada yang ditulis dalam Direct3D 11, dan Anda belum siap untuk melakukan lompatan ke Direct3D 12, Anda dapat menggunakan Direct3D 11 pada 12 untuk mencapai beberapa peningkatan performa. Versi 11.3+ berisi fitur penyajian dan pengoptimalan baru yang diaktifkan juga di Direct3D 12.
| Memilih Direct3D 12 atau Direct3D 11 | Apa itu Direct3D 12? |
| Ikhtisar Direct3D 11 | Grafik Direct3D 11 |
| Tinjauan Direct3D 11 di atas Direct3D 12 | Direct3D 11 di 12 |
Bridges, mesin game, dan perangkat lunak perantara
Tergantung pada kebutuhan permainan Anda, menggunakan jembatan, mesin game, atau middleware dapat menghemat waktu dan sumber daya pengembangan dan pengujian. Berikut adalah beberapa gambaran umum dan sumber daya untuk jembatan, mesin game, dan middleware.
Azure PlayFab
Sekarang bagian dari keluarga Microsoft, Azure PlayFab adalah platform back-end lengkap untuk game langsung dan cara yang kuat bagi studio independen untuk memulai. Tingkatkan pendapatan, keterlibatan, dan retensi—sambil memotong biaya—dengan layanan game, analitik real time, dan LiveOps.
| PlayFab | Gambaran umum alat dan layanan |
| Memulai | Apa itu PlayFab? |
| Seri tutorial video | Serangkaian video demo tentang sistem inti PlayFab |
| Resep | Resep |
| Repo GitHub | Dapatkan skrip dan SDK untuk berbagai platform termasuk Android, iOS, Windows, Unity, dan Unreal. |
| Dokumentasi API | Gambaran umum REST API |
| Forum | Forum PlayFab |
Unity
Unity menawarkan platform untuk menciptakan game dan aplikasi 2D, 3D, VR, dan AR yang indah dan menarik. Ini memungkinkan Anda untuk mewujudkan visi kreatif Anda dengan cepat, dan mengirimkan konten Anda ke hampir semua media atau perangkat.
Dimulai dengan Unity 5.4, Unity mendukung pengembangan Direct3D 12.
| Mesin game Unity | Unity - Mesin Permainan |
| Dapatkan Unity | Dapatkan Unity |
| Dokumentasi Unity untuk Windows | Unity Manual / Windows |
| Menambahkan LiveOps menggunakan PlayFab | Panduan Cepat: Pustaka Klien PlayFab untuk C# di Unity |
| Cara menambahkan interaktivitas ke game Anda menggunakan Mixer Interactive | Panduan memulai |
| Mixer SDK untuk Unity | Plugin Mixer Unity |
| Dokumentasi referensi Mixer SDK untuk Unity | Referensi API untuk plugin Mixer Unity |
| Pemecahan masalah referensi rakitan yang hilang terkait dengan API .NET | API .NET hilang di Unity dan UWP |
| Menerbitkan game Unity Anda sebagai aplikasi Platform Windows Universal (video) | Cara menerbitkan game Unity Anda sebagai aplikasi UWP |
| Gunakan Unity untuk membuat permainan dan aplikasi Windows (video) | Membuat permainan dan aplikasi Windows dengan Unity |
| Pengembangan game Unity menggunakan Visual Studio (seri video) | Menggunakan Unity dengan Visual Studio 2015 |
Havok
Rangkaian alat dan teknologi modular Havok membantu pembuat game mencapai tingkat interaktivitas dan perendaman baru. Havok memungkinkan fisika yang sangat realistis, simulasi interaktif, dan sinematik yang menakjubkan. Versi 2015.1 atau yang lebih baru secara resmi mendukung UWP di Visual Studio 2015 pada x86, 64-bit, dan Arm.
| Situs web Havok | Havok |
Unreal Engine
Unreal Engine adalah rangkaian lengkap alat pengembangan game untuk semua jenis game dan pengembang. Untuk konsol dan game PC yang paling menuntut, Unreal Engine digunakan oleh pengembang game di seluruh dunia.
| Gambaran umum Unreal Engine | Unreal Engine |
Babylonjs
BabylonJS adalah kerangka kerja JavaScript lengkap untuk membangun game 3D dengan HTML5, WebGL, WebVR, dan Web Audio.
| Babylonjs | Babylonjs |
| Membangun game WebGL lintas platform dengan BabylonJS | Menggunakan BabylonJS untuk mengembangkan game lintas platform |
Prototipe dan desain
Sekarang setelah Anda memutuskan jenis permainan yang ingin Anda buat, dan alat dan teknologi grafis yang akan Anda gunakan untuk membangunnya, Anda siap untuk memulai dengan desain dan prototipe. Pada intinya, game Anda adalah aplikasi Platform Windows Universal, jadi di situlah Anda akan mulai.
Pengantar Platform Windows Universal (UWP)
Platform Windows Universal (UWP) menyediakan platform API umum di seluruh perangkat Windows. Game yang menargetkan UWP dapat memanggil API WinRT yang umum untuk semua perangkat. Karena UWP menyediakan lapisan API yang dijamin, Anda dapat memilih untuk membuat satu paket aplikasi yang akan diinstal di seluruh perangkat Windows. Dan jika mau, game Anda masih dapat memanggil API (termasuk beberapa API Windows klasik dari Win32 dan .NET) yang khusus untuk perangkat yang dijalankan game Anda.
Berikut ini adalah panduan luar biasa yang membahas aplikasi Platform Windows Universal secara rinci, dan disarankan membaca untuk membantu Anda memahami platform.
| Pengantar aplikasi Platform Windows Universal | Apa itu aplikasi Platform Windows Universal? |
Mulai menggunakan pengembangan UWP
Menyiapkan dan siap mengembangkan aplikasi Platform Windows Universal cepat dan mudah. Panduan berikut membawa Anda melalui proses langkah demi langkah.
| Mulai menggunakan pengembangan UWP | Mulai menggunakan aplikasi Windows |
| Persiapan untuk pengembangan UWP | Menyiapkan |
Jika Anda seorang pemula absolut untuk pemrograman UWP, dan sedang mempertimbangkan untuk menggunakan XAML dalam game Anda (lihat Memilih teknologi grafis dan bahasa pemrograman Anda), pengembangan Windows 10 untuk seri video pemula absolut adalah tempat yang baik untuk memulai.
| Pengumuman tentang seri bagi pemula tingkat dasar Windows 10 menggunakan XAML (posting blog) | Pengembangan Windows 10 untuk pemula absolut |
Konsep pengembangan UWP
| Gambaran umum pengembangan aplikasi Platform Windows Universal | Mengembangkan aplikasi Windows |
| Gambaran umum pemrograman jaringan di UWP | Layanan jaringan dan web |
| Menggunakan Windows.Web.HTTP dan Windows.Networking.Sockets dalam permainan | Jaringan untuk permainan |
| Konsep pemrograman asinkron di UWP | Pemrograman asinkron |
API Desktop Windows dan UWP
Ini adalah beberapa tautan untuk membantu Anda berinteroperasi antara kode desktop dan kode UWP.
| Gunakan kode C++ yang ada untuk pengembangan game UWP | Cara: Menggunakan kode C++ yang ada di aplikasi UWP |
| API Runtime Windows untuk API Win32 dan COM | API Win32 dan COM untuk aplikasi UWP |
| Fungsi CRT yang tidak didukung di UWP | Fungsi CRT tidak didukung di aplikasi Platform Windows Universal |
| Alternatif untuk Windows API | Alternatif untuk Windows API di aplikasi Platform Windows Universal (UWP) |
Manajemen masa pakai proses
Manajemen masa pakai proses, atau siklus hidup aplikasi, menjelaskan berbagai status aktivasi yang dapat ditransisikan oleh aplikasi Platform Windows Universal. Game Anda dapat diaktifkan, ditangguhkan, dilanjutkan, atau dihentikan, dan dapat bertransisi melalui status tersebut dengan berbagai cara.
| Menangani transisi siklus hidup aplikasi | Siklus hidup aplikasi |
| Menggunakan Microsoft Visual Studio untuk memicu transisi aplikasi | Cara memicu peristiwa penangguhan, lanjutkan, dan latar belakang untuk aplikasi UWP di Visual Studio |
Merancang UX game
Permulaan permainan yang hebat adalah desain yang terinspirasi.
Game berbagi beberapa elemen antarmuka pengguna umum dan prinsip desain dengan aplikasi; tetapi game sering memiliki tampilan, nuansa, dan tujuan desain yang unik untuk pengalaman pengguna mereka. Game berhasil ketika desain yang bijaksana diterapkan pada kedua aspek — kapan permainan Anda harus menggunakan UX yang diuji, dan kapan harus menyimpang dan berinovasi? Teknologi presentasi yang Anda pilih untuk game Anda—DirectX, XAML, HTML5, atau beberapa kombinasi dari ketiganya—akan memengaruhi detail implementasi, tetapi prinsip desain yang Anda terapkan sebagian besar tidak bergantung pada pilihan tersebut.
Secara terpisah dari desain UX, desain gameplay seperti desain tingkat, mondar-mandir, desain dunia, dan aspek lainnya adalah bentuk seninya sendiri—yang terserah Anda dan tim Anda, dan tidak tercakup dalam panduan pengembangan ini.
| Dasar-dasar dan panduan desain UWP | Merancang aplikasi UWP |
| Merancang untuk status siklus hidup aplikasi | Panduan UX untuk peluncuran, penangguhan, dan melanjutkan |
Pedoman warna dan palet
Mengikuti pedoman warna yang konsisten dalam game Anda meningkatkan estetika, membantu navigasi, dan merupakan alat yang kuat untuk menginformasikan pemain menu dan fungsionalitas HUD. Pewarnaan elemen game yang konsisten seperti peringatan, kerusakan, XP, dan pencapaian dapat menyebabkan UI yang lebih bersih, dan mengurangi kebutuhan akan label eksplisit.
| Panduan warna | Warna di Windows 11 |
Tipografi
Penggunaan tipografi yang sesuai meningkatkan banyak aspek permainan Anda, termasuk tata letak UI, navigasi, keterbacaan, suasana, merek, dan perendaman pemain.
| Panduan tipografi | Praktik Terbaik: Tipografi |
Peta UI
Peta UI adalah tata letak navigasi permainan dan menu yang dinyatakan sebagai diagram alur. Peta UI membantu semua pemangku kepentingan yang terlibat memahami antarmuka permainan dan jalur navigasi, dan dapat mengekspos potensi hambatan jalan dan jalan buntu di awal siklus pengembangan.
| Panduan peta UI | Praktik Terbaik: Peta UI |
Audio gim
Berikut adalah panduan dan referensi untuk menerapkan audio dalam game menggunakan XAudio2, XAPO, dan Windows Sonic. XAudio2 adalah API audio tingkat rendah yang menyediakan fondasi pemrosesan dan pencampuran sinyal untuk mengembangkan mesin audio berkinerja tinggi. XAPO API memungkinkan pembuatan objek pemrosesan audio lintas platform (XAPO) untuk digunakan di XAudio2 pada Windows dan Xbox. Dukungan audio Windows Sonic memungkinkan Anda menambahkan Dolby Atmos untuk Home Theater, Dolby Atmos untuk Headphone, dan dukungan Windows HRTF ke aplikasi media game atau streaming Anda.
| API XAudio2 | Panduan pemrograman dan referensi API untuk XAudio2 |
| Membuat objek pemrosesan audio lintas platform | Gambaran Umum XAPO |
| Pengertian konsep audio | Audio untuk permainan |
| Gambaran umum Windows Sonic | Suara spasial |
Direct3D 12
Pelajari apa yang baru dan berbeda di Direct3D 12 (dibandingkan dengan Direct3D 11), dan cara memulai pemrograman menggunakan Direct3D 12.
| Panduan dan referensi pemrograman Direct3D 12 | Grafik Direct3D 12 |
| Menyiapkan lingkungan pemrograman | Penyiapan lingkungan pemrograman Direct3D 12 |
| Cara membuat komponen dasar | Membuat komponen Direct3D 12 dasar |
| Perubahan Direct3D 12 | Perubahan penting yang bermigrasi dari Direct3D 11 ke Direct3D 12 |
| Cara port dari Direct3D 11 ke Direct3D 12 | Porting dari Direct3D 11 ke Direct3D 12 |
| Konsep pengikatan sumber daya (mencakup deskriptor, tabel deskriptor, tumpukan deskriptor, dan tanda tangan akar) | Pengikatan sumber daya di Direct3D 12 |
| Mengelola memori | Manajemen memori di Direct3D 12 |
Pengembangan DirectX
Panduan dan referensi untuk pengembangan game DirectX.
| DirectX untuk pengembangan UWP | Pemrograman DirectX |
| Tutorial: Cara membuat game UWP DirectX | Membuat game UWP sederhana dengan DirectX |
| Interaksi DirectX dengan model aplikasi UWP | Objek aplikasi dan DirectX |
| Gambaran umum dan referensi DirectX | Grafis dan Game DirectX |
| Dasar-dasar DirectX 12 (video) | Daya yang Lebih Baik, Performa Lebih Baik: Game Anda di DirectX 12 |
DirectX Tool Kit dan pustaka
DirectX Tool Kit, pustaka pemrosesan tekstur DirectX, pustaka pemrosesan geometri DirectXMesh, pustaka UVAtlas, dan pustaka DirectXMath menyediakan tekstur, jala, sprite, dan fungsionalitas utilitas dan kelas pembantu lainnya untuk pengembangan DirectX. Pustaka ini dapat membantu menghemat waktu dan upaya pengembangan Anda.
| Dapatkan DirectX Tool Kit untuk DirectX 12 | DirectXTK 12 |
| Dapatkan DirectX Tool Kit untuk DirectX 11 | DirectXTK |
| Mendapatkan pustaka pemrosesan tekstur DirectX | DirectXTex |
| Mendapatkan pustaka pemrosesan geometri DirectXMesh | DirectXMesh |
| Dapatkan UVAtlas untuk membuat dan mengemas atlas tekstur isochart | UVAtlas |
| Mendapatkan pustaka DirectXMath | DirectXMath |
| Dukungan Direct3D 12 dalam DirectXTK (masalah GitHub) | Dukungan untuk DirectX 12 |
Sumber daya DirectX dari mitra
Berikut adalah beberapa dokumentasi DirectX tambahan yang dibuat oleh mitra eksternal.
| Nvidia: DX12 Do's and Don'ts (blog) | DX12 Hal-hal yang Harus dan Tidak Harus Dilakukan, Diperbarui! |
| Intel: Pemrosesan Paralel dengan DirectX 3D 12 | Pemrosesan Paralel dengan DirectX 3D 12 |
| Intel: Cara menerapkan aplikasi multi-adaptor eksplisit menggunakan DirectX 12 | Dukungan Multi-Adapter di DirectX 12 |
| Intel: Laporan resmi kolaboratif oleh Intel, Suzhou Snail, dan Microsoft | Tutorial: Memigrasikan Aplikasi Anda ke DirectX 12 – Bagian 1 |
Produksi
Pada tahap ini, studio Anda sepenuhnya terlibat dan beralih ke siklus produksi, dengan pekerjaan yang didistribusikan ke seluruh tim Anda. Anda memoles, merefaktor, dan memperluas prototipe untuk membuatnya menjadi game lengkap.
Pemberitahuan dan ubin aktif
Petak peta adalah representasi permainan Anda di Menu Mulai. Tile dan pemberitahuan dapat mendorong minat pemain bahkan ketika mereka tidak sedang memainkan game Anda.
| Mengembangkan ubin dan lencana | Ubin, lencana, dan pemberitahuan |
| Sampel yang mengilustrasikan petak peta langsung dan pemberitahuan | Sampel pemberitahuan |
| Templat petak adaptif (post blog) | Templat Petak Peta Adaptif - Skema dan Dokumentasi |
| Merancang ubin dan lencana | Panduan untuk ubin dan lencana |
| Aplikasi Windows 10 untuk secara interaktif merancang template tile hidup | Visualisasi Pemberitahuan |
| Ekstensi UWP Tile Generator untuk Visual Studio | Alat untuk membuat semua petak peta yang diperlukan menggunakan satu gambar |
| Ekstensi UWP Tile Generator untuk Visual Studio (blog post) | Tips menggunakan alat Generator UWP Tile |
Mengaktifkan pembelian produk dalam aplikasi (tambahan)
Add-on (produk dalam aplikasi) adalah item tambahan yang dapat dibeli pemain dalam game. Add-on dapat berupa level permainan, item, atau apa pun yang mungkin dinikmati pemain Anda. Digunakan dengan tepat, add-on dapat memberikan pendapatan sekaligus meningkatkan pengalaman permainan. Anda menentukan dan menerbitkan add-on game Anda melalui Pusat Mitra, serta mengaktifkan pembelian dalam aplikasi di dalam kode permainan Anda.
| Tambahan yang tahan lama | Mengaktifkan pembelian produk dalam aplikasi |
| Tambahan yang dapat dikonsumsi | Mengaktifkan pembelian produk dalam aplikasi yang dapat dikonsumsi |
| Detail dan pengiriman tambahan | Pengajuan add-on |
| Memantau penjualan add-on dan demografi untuk game Anda | Laporan akuisisi add-on |
Penelusuran kesalahan, pengoptimalan performa, dan pemantauan
Untuk mengoptimalkan performa, Anda dapat memanfaatkan Mode Game di Windows untuk memberikan pengalaman bermain terbaik kepada gamer Anda dengan sepenuhnya memanfaatkan kapasitas perangkat keras mereka saat ini.
Windows Performance Toolkit (WPT) terdiri dari alat pemantauan performa yang menghasilkan profil performa mendalam sistem operasi dan aplikasi Windows. Ini sangat berguna untuk memantau penggunaan memori, dan meningkatkan performa game. Toolkit Performa Windows disertakan dalam Windows SDK dan Windows ADK. Toolkit ini terdiri dari dua alat independen: Windows Performance Recorder (WPR) dan Windows Penganalisis Kinerja (WPA). ProcDump, yang merupakan bagian dari Windows Sysinternals, adalah utilitas baris perintah yang memantau lonjakan CPU dan menghasilkan file cadangan selama crash game.
| Uji performa kode Anda | Paket Pengujian Azure |
| Meningkatkan performa dengan mendapatkan akses eksklusif atau prioritas ke sumber daya perangkat keras menggunakan API Mode Game | Mode Permainan |
| Dapatkan Windows Performance Toolkit (WPT) | Windows Performa Toolkit |
| Dapatkan Windows Performance Toolkit (WPT) dari Windows ADK | Windows ADK |
| Dapatkan ProcDump | ProcDump |
Teknik dan konsep DirectX Tingkat Lanjut
Beberapa bagian pengembangan DirectX dapat bernuansa dan kompleks. Ketika Anda sampai ke titik produksi di mana Anda perlu menggali detail mesin DirectX Anda, atau men-debug masalah performa yang sulit, sumber daya dan informasi di bagian ini dapat membantu.
| Alat pengoptimalkan dan pelacakan bug performa untuk DirectX 12 di Windows | Memperkenalkan PIX di Windows |
| Panduan pemrograman Direct3D 12 | Grafik Direct3D 12 |
| Menggabungkan DirectX dan XAML | Interop antara DirectX dan XAML |
Pengembangan konten rentang dinamis tinggi (HDR)
Bangun konten game yang menggunakan kemampuan warna penuh HDR.
| Pelajari cara merender konten HDR dan mendeteksi apakah tampilan saat ini mendukungnya | Sampel HDR Direct3D 12 |
| Membuat dan mengonfigurasi warna tingkat lanjut menggunakan DirectX | Sampel penyajian gambar warna tingkat lanjut Direct2D |
Globalisasi dan lokalisasi
Kembangkan game siap mendunia untuk platform Windows, dan pelajari tentang fitur internasional yang dibangun ke dalam produk-produk top Microsoft.
| Mempersiapkan game Anda untuk pasar global | Globalisasi dan pelokalan |
Mengirimkan dan menerbitkan permainan Anda
Panduan dan informasi berikut membantu membuat proses penerbitan dan pengiriman berjalan semulus mungkin.
Menerbitkan
Anda akan menggunakan Pusat Mitra untuk menerbitkan dan mengelola paket game Anda.
| Penerbitan aplikasi Pusat Mitra | Menerbitkan aplikasi Windows |
| Menggunakan Azure Active Directory (AAD) untuk menambahkan pengguna ke akun Pusat Mitra Anda | Membuat grup pelanggan |
| Memberi peringkat game Anda (entri blog) | Sekarang Tersedia: Sistem peringkat usia tunggal untuk menyederhanakan pengiriman aplikasi |
Pengemasan dan pengunggahan
| Membagi dan mengelompokkan konten untuk mengaktifkan penginstalan streaming | Penginstalan Streaming Aplikasi UWP |
| Membuat paket opsional seperti konten game DLC | Paket opsional dan penulisan set terkait |
| Mengemas game UWP Anda | Aplikasi pengemasan |
| Mengemas gim UWP DirectX Anda | Mengemas game UWP DirectX Anda |
| Mengemas game Anda sebagai pengembang pihak ketiga (entri blog) | Membuat paket yang dapat diunggah tanpa akses akun penyimpanan penerbit |
| Membuat paket aplikasi dan bundel paket aplikasi menggunakan MakeAppx | Membuat paket menggunakan alat paket aplikasi MakeAppx.exe |
| Menandatangani file Anda secara digital menggunakan SignTool | Menandatangani file dan memverifikasi tanda tangan dalam file menggunakan SignTool |
| Mengunggah dan membuat versi game Anda | Mengunggah paket aplikasi |
Kebijakan dan sertifikasi
Jangan biarkan masalah sertifikasi menunda rilis game Anda. Berikut adalah kebijakan dan masalah sertifikasi umum yang perlu diperhatikan.
| Perjanjian Pengembang Aplikasi Microsoft Store | Perjanjian Pengembang Aplikasi |
| Kebijakan untuk menerbitkan aplikasi di Microsoft Store | Kebijakan Microsoft Store |
| Cara menghindari beberapa masalah sertifikasi aplikasi umum | Hindari kegagalan sertifikasi umum |
Manifes penyimpanan (StoreManifest.xml)
Manifes penyimpanan (StoreManifest.xml) adalah file konfigurasi opsional yang dapat Anda sertakan dalam paket aplikasi Anda. Manifest toko menyediakan fitur tambahan yang bukan bagian dari AppxManifest.xml file. Misalnya, Anda dapat menggunakan manifes penyimpanan untuk memblokir penginstalan game Anda jika perangkat target tidak memiliki tingkat fitur DirectX minimum yang ditentukan atau memori sistem minimum yang ditentukan.
| Menyimpan skema manifes | Skema StoreManifest (Windows 10) |
Manajemen siklus hidup game
Setelah Anda selesai mengembangkan dan mengirimkan game Anda, itu belum "game over". Anda mungkin sudah selesai dengan pengembangan pada versi 1, tetapi perjalanan game Anda di marketplace baru saja dimulai. Anda mungkin ingin memantau penggunaan dan pelaporan kesalahan, menanggapi umpan balik pengguna, dan menerbitkan pembaruan untuk game Anda.
Analitik dan promosi di Partner Center
| Pusat Mitra Analitik | Menganalisis performa aplikasi |
| Menanggapi ulasan pelanggan | Menanggapi ulasan pelanggan |
| Cara untuk mempromosikan game Anda | Menarik pelanggan dan mempromosikan aplikasi Anda |
Visual Studio Application Insights
Visual Studio Application Insights menyediakan analitik performa, telemetri, dan penggunaan untuk game yang anda terbitkan. Application Insights membantu Anda mendeteksi dan menyelesaikan masalah setelah game dirilis, terus memantau dan meningkatkan penggunaan, serta memahami bagaimana pemain terus berinteraksi dengan game Anda. Application Insights berfungsi dengan menambahkan SDK ke aplikasi Anda, yang mengirim telemetri ke portal Azure.
| Performa aplikasi dan analitik penggunaan | Ringkasan Application Insights |
| Azure Monitor | Gambaran Umum Azure Monitor |
Solusi pihak ketiga untuk analitik dan promosi
| Memahami perilaku pemain menggunakan GameAnalytics | GameAnalytics |
| Hubungkan game UWP Anda ke Google Analytics | Mendapatkan Windows SDK untuk Google Analytics |
| Menggunakan Iklan Penginstalan Aplikasi Facebook untuk mempromosikan game Anda kepada pengguna Facebook | Mendapatkan Windows SDK untuk Facebook |
| Menggunakan Vungle untuk menambahkan iklan video ke dalam game Anda | Unduh Vungle SDK untuk Windows |
Membuat dan mengelola pembaruan konten
Untuk memperbarui game yang diterbitkan, Anda mengirimkan paket aplikasi baru dengan nomor versi yang lebih tinggi. Setelah paket berjalan melalui pengiriman dan sertifikasi, paket akan secara otomatis tersedia untuk pelanggan sebagai pembaruan.
| Memperbarui dan menversi game Anda | Penomoran versi paket |
| Panduan manajemen paket game | Panduan untuk manajemen paket aplikasi |
Menambahkan Xbox Live ke game Anda
Xbox Live adalah jaringan game utama yang menghubungkan jutaan gamer di seluruh dunia. Pengembang mendapatkan akses ke fitur Xbox Live yang dapat secara organik menumbuhkan audiens game mereka, termasuk kehadiran Xbox Live, Leaderboards, Cloud Saves, Game Hubs, Clubs, Party Chat, Game DVR, dan banyak lagi.
Catatan
Jika Anda ingin mengembangkan judul yang diaktifkan Xbox Live, ada beberapa opsi yang tersedia untuk Anda. Untuk informasi tentang berbagai program, lihat Memilih program pengembang Xbox Live.
| Gambaran umum Xbox Live | Dokumentasi Xbox Live |
Untuk pengembang di Program Kreator Langsung Xbox
| Gambaran Umum | Bergabung dengan Program Pembuat |
Untuk mitra dan pengembang terkelola dalam program ID@Xbox
| Gambaran Umum | Mulai menggunakan Xbox Live, untuk Mitra Terkelola |
| Sampel | Sampel pengembangan game Xbox |
Sumber Daya Tambahan:
| Video dari konferensi utama seperti GDC dan //build | Video pengembangan game |