Bagikan melalui


Permainan untuk Persyaratan Teknis Windows: Praktik Terbaik untuk Game di Windows XP, Windows Vista, Windows 7, dan Windows 8

Artikel ini menyediakan persyaratan teknis dan praktik terbaik untuk game yang berjalan di Windows. Kami menulis persyaratan teknis dan praktik terbaik ini terutama untuk mencakup Windows Vista dan Windows 7, serta sistem operasi Windows XP warisan. Praktik terbaik ini umumnya juga berlaku untuk game Win32 desktop di Windows 8.

Artikel ini berisi bagian-bagian berikut:

Perbedaan untuk Windows 8

Berikut adalah ringkasan perbedaan utama saat menerapkan persyaratan teknis dan praktik terbaik ini ke Windows 8.

UI Penjelajah Permainan tidak terlihat

Semua permainan yang Anda daftarkan dengan Games Explorer muncul sebagai petak peta di UI Windows baru, tetapi banyak metadata yang terkait dengan judul tidak lagi terlihat. Anda masih menggunakan alat Games Definition File Maker (GDFMAKER.EXE), yang sekarang tersedia di Windows Software Development Kit (SDK), untuk menulis metadata. Anda juga menggunakan mekanisme yang ada untuk menyebarkan metadata. Lanjutkan untuk menguji pendaftaran Games Explorer Anda dengan menggunakan Windows 7, dan verifikasi bahwa petak peta Windows UI baru muncul saat Anda menginstalnya di Windows 8 (lihat Integrasi Penjelajah Game 1.1).

Untuk mengunduh Windows 8 SDK, lihat Unduhan untuk mengembangkan aplikasi desktop.

Pendaftaran dengan API Game Explorer terus menjadi mekanisme untuk mendaftarkan permainan Anda dengan Kontrol Orang Tua Windows

Kami menyarankan agar Anda menjalankan GDFMAKER versi Windows SDK pada versi Windows 8 yang dirilis untuk memastikan bahwa GDFMAKER dapat mengisi semua sistem peringkat yang saat ini didukung.

Catatan

Versi GDFMAKER ini memerlukan .NET 4.0.

Lihat 1.2 Support Family Brankas ty/ Parental Controls.

Sekarang ada tiga pilihan untuk menggunakan API XINPUT tergantung pada kebutuhan Anda

XINPUT 1.4 dibangun ke dalam Windows 8. Aplikasi Windows Store dan aplikasi Win32 desktop dapat menggunakan XINPUT 1.4. Semua versi Windows dapat menggunakan XINPUT 9.1.0 untuk pengontrol umum yang disederhanakan, tetapi tidak ada paket redistribusi dengan XINPUT 9.1.0. Semua versi Windows juga dapat menggunakan DirectX SDK versi XINPUT 1.3 yang ada, yang memerlukan DirectSetup untuk disebarkan.

Lihat 1.4 Mendukung Pengontrol Umum Xbox 360 untuk Windows.

Hanya sekumpulan aplikasi Win32 desktop terbatas yang didukung di Windows RT

Game yang berjalan di Windows 7 dapat dan harus berjalan dengan benar pada platform Windows 8 x86 dan x64.

Lihat 2.2 Mendukung Versi Windows x64.

Pastikan setiap pemeriksaan OS dilakukan dengan benar

Versi OS Windows 8 adalah 6.2 . Windows 8 melewati pengujian bilah minimum saat ini yang kami rekomendasikan untuk penyebaran game.

Paket Redistribusi Pengguna Akhir DirectX berhasil berjalan pada Windows 8, seperti halnya pada Windows 7, untuk menyebarkan D3DX9, D3DX10, D3DX11, XINPUT 1.3, XAUDIO 2.7, XACTEngine, dan sebagainya

Tetapi, masalah yang diketahui ada dengan DirectSetup pada sistem dengan hanya .NET 4.0 yang diinstal karena penanganan penyebaran rakitan Managed DirectX 1.1 warisan. Masalah ini berlaku untuk Windows 8, yang dilengkapi dengan .NET 4.5 secara default, dan komputer Windows XP segar dengan runtime .NET 4.0 terinstal. Namun, masalah ini tidak berlaku untuk versi .NET apa pun sebelum .NET 4.0. Meskipun Windows 8 memiliki perilaku kompatibilitas aplikasi untuk mengatasi masalah ini secara otomatis (yang memerlukan akses jaringan), kami menyarankan agar game yang terus menyebarkan pembaruan DirectSetup ke versi file REDIST DirectX SDK (Juni 2010) yang disegarkan. Seperti biasa, jika Anda menggunakan DirectSetup untuk judul Anda, pangkas judul Anda ke set minimum CAB yang diperlukan.

Lihat 3.4 Menginstal sumber daya Windows dengan benar.

Game yang memerlukan runtime yang kompatibel dengan .NET 2.0 (2.0, 3.0, 3.5) terus menggunakan mekanisme penyebaran yang ada

Game ini memicu perilaku kompatibilitas aplikasi pada Windows 8 untuk mengaktifkan runtime .NET 3.5 secara otomatis (yang memerlukan akses jaringan). Tetapi, kami menyarankan agar pengembang .NET pindah ke runtime .NET 4.0.

Catatan

Rakitan Managed DirectX 1.1 warisan tidak kompatibel dengan runtime .NET 4.x.

Lihat 3.4 Menginstal sumber daya Windows dengan benar.

Penggunaan autorunner atau teknologi pra-instal lainnya yang bergantung pada .NET tidak disarankan

Anda dapat berasumsi bahwa hanya runtime yang kompatibel .NET 2.0 (2.0, 3.0, 3.5) yang ada di Windows Vista dan Windows 7. Hanya runtime yang kompatibel .NET 4.0 yang ada di Windows 8 secara default.

Lihat 3.7 Autorun Dukungan.

Ada Pemverifikasi Aplikasi yang diperbarui untuk Windows 8

Windows 8 SDK menyertakan Pemverifikasi Aplikasi yang diperbarui ini.

Lihat 4.2 Menghilangkan Kegagalan Pemverifikasi Aplikasi.

Informasi Tambahan

Buku masak kompatibilitas Windows 8 dan Windows Server 2012
Di mana DirectX SDK?

Permainan untuk Windows

Ringkasan Persyaratan Permainan

Keuntungan Pelanggan

Permainan komputer adalah pengalaman hiburan utama di Windows, tetapi masalah kemudahan penggunaan telah menyebabkan frustrasi pelanggan selama bertahun-tahun. Secara tradisional, game dipasang seperti aplikasi, tetapi mereka digunakan lebih seperti media hiburan (film atau lagu, misalnya). Inovasi, seperti Games Explorer, mengekspos game secara konsisten yang berbeda dari aplikasi standar. Inovasi ini juga memberikan permainan status warga kelas satu di Windows, bersama dengan Musik dan Gambar. Persyaratan berikut membantu memastikan bahwa Windows Vista dan Windows 7 memberikan pengalaman bermain yang lebih baik, lebih mudah diakses, dan terpadu. Pada saat yang sama, mereka memastikan kompatibilitas dengan Windows XP.

1.1 Integrasi Games Explorer

Persyaratan

Permainan harus terlihat dalam Games Explorer ( folder Permainan ) pada Windows Vista dan Windows 7. Ketika dipilih, game juga harus menampilkan data meta yang benar, yang mencakup penerbit, pengembang, tanggal rilis, versi, skor Indeks Pengalaman Windows, peringkat (jika berlaku), dan hyperlink terkait.

Jika game didistribusikan secara digital melalui layanan game online, maka penyedia layanan juga harus muncul di Games Explorer. Untuk memastikan penanganan penyedia yang tepat dan untuk mengaktifkan penggunaan umpan RSS, skema versi 2 untuk file definisi game (GDF) harus digunakan. (Untuk informasi selengkapnya tentang GDF, lihat Informasi Tambahan.)

Selain itu, penginstal game harus mengamati aturan berikut ketika berjalan di Windows Vista dan Windows 7:

  • Penginstalan tidak boleh membuat pintasan untuk meluncurkan permainan di desktop, di menu Mulai, atau di lokasi lain.
  • Tugas dan pintasan untuk penghapusan tidak boleh dibuat.
  • Pengguna harus dapat menghapus permainan dengan menggunakan Program dan Fitur dalam Panel Kontrol pada Windows Vista dan Windows 7, atau Menambahkan atau Menghapus Program di Panel Kontrol pada Windows XP.

Pada Windows XP, dan pada versi Windows sebelumnya, alat penginstal game gratis untuk membuat grup program, ikon desktop, atau pintasan sesuai kebutuhan.

Alasan

Windows Games Explorer mirip dalam konsep dengan folder Windows XP Dokumen Saya atau Gambar Saya. Idenya adalah untuk memfokuskan konten serupa di satu tempat dan memungkinkan aktivitas organisasi dan peka konteks yang lebih mudah. Games Explorer memperluas konsep Dokumen Saya atau Gambar Saya dengan mengizinkan organisasi yang lebih kaya dan kontrol atas permainan. Games Explorer memungkinkan gamer untuk melihat, mengatur, dan berinteraksi dengan semua game yang diinstal pada sistem mereka. Ini juga memungkinkan penerbit game untuk mengomunikasikan informasi game penting lebih efektif. Sistem ini berbasis data, memudahkan penerbit game untuk memperbarui informasi game selama masa pakai produk.

Informasi Tambahan

Integrasi dengan Games Explorer mengharuskan Anda menulis file definisi game (GDF), yang merupakan file teks XML yang disematkan dalam file biner (file yang dapat dieksekusi atau DLL) sebagai sumber daya, bersama dengan ikon Windows. Permainan kemudian harus didaftarkan dengan Games Explorer. GDF juga memungkinkan paparan informasi yang disediakan seperti judul game, penerbit, pengembang, tautan ke situs web dan tugas opsional. Perhatikan bahwa tugas dukungan hanya bisa berupa tautan ke situs Web, tetapi tugas putar juga dapat digunakan untuk tugas dukungan opsional.

Games Explorer dapat menggunakan gambar bitmap gambar mini, tetapi disarankan agar, sebagai gantinya, Anda menyediakan sumber daya ikon Windows dengan ikon besar (256 256). Sumber daya ikon harus mencakup ukuran gambar 256 256 48 48, 32 32, dan 16 16 dalam kedalaman warna 24-bit (True Color) dan 8-bit (256). Editor ikon yang disediakan di Visual Studio 2008 dan 2010 mendukung format ikon besar ini, seperti halnya IconWorkshop Lite.

Detail tentang mengintegrasikan dengan Windows Games Explorer disediakan di DirectX SDK. DirectX SDK menyertakan editor file definisi game (GDF), serta contoh GDF yang disertakan dalam GDFExampleBinary, sampel. Sampel lain, GameUxInstallHelper, menyediakan rutinitas untuk mengintegrasikan fungsionalitas yang diperlukan ke dalam sistem penginstalan yang ada. Validator File Definisi Game (gdftrace.exe) menyediakan dukungan debugging untuk mengevaluasi GDF. Lihat juga "Integrasi Windows Games Explorer" di Dokumentasi DirectX SDK untuk C++.

Windows 7 memperkenalkan dukungan untuk versi kedua skema untuk file GDF. Versi baru mencakup metode yang disederhanakan untuk membuat tugas bermain dan dukungan untuk pemberitahuan pembaruan, penyedia layanan game, statistik game, dan umpan RSS untuk penyedia layanan game. Versi terbaru GameUxInstallHelper menangani semua pendaftaran dan dukungan warisan yang diperlukan untuk menggunakan file GDF versi 2 dengan Windows Vista. Gunakan alat dan kode sampel dari DirectX SDK mulai Agustus 2009 atau yang lebih baru. Menggunakan file GDF versi 2 disarankan untuk mengaktifkan dukungan untuk umpan RSS, statistik game, dan pemberitahuan pembaruan. Selain itu, lihat sampel ProviderGDFExampleBinary dan GameStatisticsExample.

Pada Windows Vista Business Edition, Windows 7 Professional Edition, dan Enterprise Edition dari Windows Vista dan Windows 7, tautan Permainan pada menu Mulai disembunyikan. Penjelajah Permainan masih tersedia di menu Mulai dengan mengklik Semua Program, lalu mengklik Permainan.

Untuk aplikasi terkait yang diinstal dengan game Anda, tetapi bukan game itu sendiri, Anda bebas membuat grup program, pintasan, dan ikon desktop menu Mulai di semua versi Windows, termasuk Windows Vista dan Windows 7. Aplikasi terkait tersebut harus lulus Game yang berlaku untuk persyaratan Windows; untuk detailnya, lihat Panduan untuk Produk Middleware Game. Layanan game didorong untuk mendaftar dengan Games Explorer sebagai Penyedia Game untuk Windows 7. 1

1.2 Dukungan Keluarga Brankas ty / Kontrol Orang Tua

Persyaratan

Permainan harus sepenuhnya mendukung Windows Family Brankas ty dengan mematuhi aturan berikut:

  • Permainan tidak boleh mengharuskan pengguna memiliki kredensial administratif untuk dimainkan. Penginstalan, patching, dan penghapusan dapat memerlukan kredensial administratif, tunduk pada persyaratan di bagian 3. (Terkait dengan ini adalah persyaratan 2.1, Ikuti Panduan Kontrol Akun Pengguna.)
  • Game yang dinilai oleh papan peringkat yang didukung Windows, seperti ESRB dan PEGI, harus menyertakan informasi peringkat yang ditetapkan dalam file definisi game (GDF) mereka. Semua data peringkat yang tersedia harus disertakan dalam setiap versi GDF yang dilokalkan, serta dalam versi netral bahasa.
  • Game harus mencantumkan executable mereka di GDF untuk memberikan pengalaman pengguna yang baik untuk Pembatasan Aplikasi Umum, kecuali permainan menggunakan teknologi anti-pembajakan yang menciptakan executable bernama acak pada runtime.
  • Game harus memanggil metode VerifyAccess antarmuka Games Explorer selama startup, jika tersedia, dan keluar jika mengembalikan *pfHasAccess sebagai FALSE.

Alasan

Semua permainan harus dijalankan dalam konteks akun Pengguna Standar untuk mengizinkan akun yang dikontrol oleh Kontrol Orang Tua Windows untuk memainkan permainan. Orang tua menginginkan kemampuan untuk memantau dan mengontrol akses anak-anak mereka ke game. Selain itu, banyak industri, pemerintah dan kelompok advokasi menginginkan cara yang lebih baik untuk memungkinkan orang tua memantau dan mengontrol permainan yang diekspos anak-anak mereka. Bersama dengan arsitektur yang ditawarkan oleh Games Explorer, Microsoft menyediakan kemampuan ini kepada orang tua melalui Kontrol Orang Tua Windows.

Bahkan untuk game yang tidak berpartisipasi dalam program papan peringkat, membutuhkan hak istimewa yang ditinggikan menciptakan pengalaman bermain yang buruk untuk sebagian besar akun pengguna. Ini terutama terjadi jika Kontrol Orang Tua diaktifkan, yang akan mengharuskan induk untuk memasukkan kata sandi administrator setiap kali permainan diluncurkan.

Sistem Kontrol Orang Tua Windows memungkinkan orang tua untuk memilih peringkat yang mereka yakini sesuai untuk anak-anak mereka. Kontrol Orang Tua mendukung banyak sistem peringkat di seluruh dunia. Kontrol Orang Tua juga memungkinkan orang tua untuk membatasi akses ke game berdasarkan Deskriptor Konten (jika sistem peringkat yang berlaku mendukungnya) dan untuk mengizinkan atau melarang akses ke permainan individual.

Pilihan default sistem peringkat untuk Kontrol Orang Tua Windows didasarkan pada pengaturan lokal sistem, tetapi dapat dimodifikasi oleh pengguna dalam Opsi Regional dan Bahasa di Panel Kontrol. Oleh karena itu, setiap bahasa yang didukung harus menyediakan semua data peringkat yang tersedia sehingga pengguna memiliki kebebasan untuk memilih papan peringkat apa pun yang mereka inginkan.

Informasi Tambahan

Game tanpa peringkat masih harus memenuhi persyaratan untuk mendukung bermain sebagai Pengguna Standar dan untuk memanggil VerifyAccess. Game tersebut default ke kategori Tidak Berperingkat, menampilkan teks "Tidak Ada Peringkat Yang Disediakan" di Games Explorer, dan tunduk pada pengaturan Pembatasan Permainan di Kontrol Orang Tua untuk permainan yang tidak berperingkat. Pengaturan Pembatasan default adalah Izinkan.

Informasi peringkat dalam GDF akan diabaikan jika biner yang berisi tidak ditandatangani Authenticode dengan benar. Lihat persyaratan 2.3.

Editor File Definisi Game di DirectX SDK mencakup semua sistem peringkat yang didukung dan akan mereplikasi informasi ini dengan benar ke semua versi GDF yang dilokalkan, serta versi netral bahasa. Alat GDFTrace akan mendekode dan memverifikasi semua informasi peringkat yang ada. Gunakan versi Agustus 2009 atau yang lebih baru dari alat-alat ini.

GDF untuk penyedia game biasanya tidak berisi informasi peringkat, dan tunduk pada pengaturan untuk konten yang tidak dinilai.

Sistem Operasi Sistem peringkat yang didukung
Windows Vista
  • CERO (Jepang)
  • ESRB (AS)
  • OFLC (Australia)
  • PEGI (Eropa)
  • PEGI Finlandia (tidak digunakan lagi)
  • PEGI Portugal
  • PEGI/BBFC (Inggris Raya)
  • USK (Jerman)
Windows Vista dengan paket layanan Paket layanan untuk Windows Vista menambahkan dukungan untuk hal berikut:
  • GRB (Korea Selatan)
  • Deskriptor konten varian ESRB "Mild"
Windows 7 Windows 7 mendukung sistem peringkat yang didukung oleh Windows Vista dan menambahkan dukungan untuk hal berikut:
  • CSRR (Taiwan)
Windows 8 Windows 8 mendukung sistem peringkat sebelumnya dan menambahkan dukungan untuk hal berikut:
  • COB-AU (Australia)
  • DJCTQ (Brasil)
  • PFB (Afrika Selatan)
  • OFLC-NZ (Selandia Baru)
Windows 8 menghentikan dukungan untuk sistem berikut ini yang sekarang tidak digunakan lagi:
  • PEGI-FI (Finlandia)
  • OFLC (Australia)

Catatan

Judul apa pun yang menyertakan deskriptor konten ESRB Windows Vista Service Pack 1 (SP1) baru akan ditampilkan sebagai Unrated pada Windows Vista tanpa paket layanan.

Data peringkat yang lebih baru diabaikan pada versi sistem operasi tanpa dukungan untuk mereka. Varian PEGI (Finlandia) kini tidak digunakan lagi untuk mendukung sistem peringkat PEGI standar (Eropa). Sistem OFLC sekarang tidak digunakan lagi untuk mendukung COB-AU untuk Australia.

Untuk informasi selengkapnya tentang membuat game kompatibel dengan hak istimewa pengguna standar, lihat artikel DirectX Kontrol Akun Pengguna untuk Pengembang Game.

Lihat persyaratan 1.1 untuk detail selengkapnya tentang file definisi game (GDF).

1.3 Mendukung Permainan Tersimpan yang Kaya

[Persyaratan ini telah dihentikan]

1.4 Mendukung Pengontrol Umum Xbox 360 untuk Windows [Persyaratan Bersyarat]

Persyaratan

Game yang mendukung pengontrol gamepad harus mendukung Pengontrol Xbox 360 untuk Windows menggunakan XInput API. Jika periferal DirectInput juga didukung, maka DirectInput juga dapat digunakan. Namun, XInput harus menjadi API default jika perangkat yang kompatibel dengan Xbox 360 digunakan.

Semua referensi ke pemicu dan tombol pengontrol umum harus menggunakan nama Xbox 360. Lihat daftar Pengontrol Umum Xbox 360 untuk Terminologi Windows untuk detailnya.

Getaran pengontrol harus dimatikan ketika permainan dalam keadaan dijeda atau ditangguhkan.

Kontrol mouse/keyboard tidak dapat sepenuhnya dinonaktifkan kapan saja. Minimal, opsi untuk kembali ke menu game harus tersedia.

Alasan

Persyaratan ini memberikan kebebasan kepada gamer untuk menggunakan pengontrol Xbox 360 atau keyboard dan mouse, tergantung metode input mana yang lebih alami dan intuitif.

Informasi Tambahan

Persyaratan ini tidak berlaku untuk permainan yang hanya menggunakan mouse dan/atau keyboard.

Sebaiknya navigasi menu diimplementasikan untuk menggunakan tombol pengontrol standar yang diterima secara luas:

  • A - Terima
  • B - Batal
  • Mulai - Terima atau jeda
  • Kembali - Batalkan, kembali satu layar atau ke atas tingkat menu

Untuk informasi selengkapnya, lihat XInput.

Topik XInput dan DirectInput membahas masalah dengan menggunakan kedua API secara bersamaan.

Disarankan agar DirectInput tidak digunakan untuk mengimplementasikan kontrol keyboard atau mouse. Kontrol keyboard dan mouse hanya boleh diimplementasikan menggunakan pesan Windows dan API Win32. Untuk detail tentang mendapatkan informasi gerakan mouse resolusi tinggi tanpa menggunakan DirectInput, lihat Memanfaatkan Gerakan Mouse Definisi Tinggi.

1.5 Mendukung Beberapa Rasio dan Resolusi Aspek

Persyaratan

Gim ini harus mendukung setidaknya rasio aspek berikut dan resolusi layar terkait:

  • 4:3 normal (800 600 atau 1024 768)
  • 16:9 layar lebar (1280 720)
  • Layar lebar 16:10 (1152 720 atau 1680 1050 atau 800 480)

Untuk konfigurasi dan deteksi resolusi layar, game harus mematuhi aturan berikut:

  • Game ini menggunakan resolusi desktop perangkat tampilan secara default jika merupakan resolusi yang didukung. Rasio aspek desktop harus digunakan sebagai kriteria pencarian jika game memilih resolusi default yang berbeda.
  • Permainan harus meminta pengguna untuk mengonfirmasi pengaturan tampilan baru ketika perubahan dilakukan. Jika pengguna tidak menerima dalam waktu 15 detik, tampilan harus kembali ke pengaturan sebelumnya.
  • Gim ini tidak boleh meregangkan piksel atau memusatkan jendela render 4:3 untuk mendukung rasio aspek layar lebar. Namun, kotak surat dapat diterima.

Alasan

Dengan desktop Windows 3D, rasio aspek atau resolusi tertentu tidak dapat diasumsikan, karena faktor-faktor berikut:

  • Dukungan untuk tampilan detail tinggi.
  • Peningkatan pangsa pasar monitor layar lebar.
  • Penyebaran HDTV untuk Windows Media Center.
  • Persyaratan aksesibilitas.

Informasi Tambahan

Idealnya, gim ini default ke rasio aspek asli tampilan. Namun, mendapatkan informasi ini dengan andal dapat menjadi tantangan, sehingga sebagai solusi yang lebih umum, game dapat mengasumsikan bahwa desktop berjalan pada rasio aspek asli. Resolusi desktop dapat diperoleh dengan memanggil EnumDisplay Pengaturan dengan ENUM_REGISTRY_SETTINGS.

Untuk detail selengkapnya, lihat bagian Rasio Aspek dan Layar Lebar dari artikel DirectX Pengantar Pengalaman 10 Kaki untuk Pengembang Game Windows.

1.6 Peluncuran Dukungan dari Windows Media Center

[Persyaratan ini telah dihentikan.]

1.7 Dukungan Direct3D

Persyaratan

Jika game menggunakan Direct3D, maka versi minimum yang didukung harus Direct3D 9, dan Direct3D harus menjadi perender default yang dipilih.

Alasan

Arsitektur grafis inti Windows Vista dan Windows 7 dirancang di sekitar Direct3D. Direct3D 8 dan versi yang lebih lama didukung dengan memulihkan antarmuka warisan.

Penggunaan versi Direct3D yang lebih baru dari Direct3D 9 sangat didorong. Lihat Permainan untuk Windows Showcase S.1. Membutuhkan Direct3D 10 atau Direct3D 11 sepenuhnya sesuai dengan persyaratan 1.7.

1.8 Mengaktifkan High-DPI-Aware

Persyaratan

Permainan dan penginstalnya harus berjalan dengan benar tanpa masalah visual ketika penskalaan dots-per-inci (DPI) diaktifkan (diuji dengan 144 DPI untuk penskalaan 150% pada resolusi tampilan 1600 1200) pada Windows Vista dan Windows 7.

Ini biasanya mengharuskan game yang dapat dieksekusi untuk menyatakan sadar akan DPI. Ini dicapai dengan menyematkan elemen manifes: <dpiAware>true<dpiAware> .

Alasan

Monitor LCD berkualitas tinggi adalah hal yang biasa sebagai tampilan komputer, dan terlihat paling baik saat digerakkan pada resolusi aslinya (biasanya 1280 1024, 1600 1200, dan sebagainya). Pelanggan yang mengalami kesulitan membaca teks dan melihat gambar pada resolusi ini sering mengatur desktop komputer mereka ke resolusi yang lebih rendah dan menderita artefak visual dari penskalaan LCD. Sebagai gantinya, pelanggan dapat meninggalkan resolusi pada ukuran asli dan mengubah DPI tampilan Windows, sehingga membuat tampilan item dan teks lebih besar tanpa mengorbankan kualitas gambar.

Meskipun fitur ini telah tersedia dalam beberapa bentuk sejak Windows XP, fitur ini jarang diaktifkan oleh pelanggan atau oleh OEM. Lebih dari setengah dari semua tampilan komputer saat ini diatur ke resolusi yang lebih rendah daripada resolusi asli monitor, berdasarkan umpan balik pelanggan. Windows 7 membuat fitur ini jauh lebih terlihat oleh pelanggan selama penyiapan awal dan saat mengubah pengaturan tampilan, mendorong mereka untuk menggunakan penskalaan DPI daripada mengubah resolusi desktop.

Informasi Tambahan

Fungsi SetProcessDPIAware dapat digunakan sebagai gantinya, jika dipanggil di awal kode startup proses. Menambahkan ke manifes lebih disukai, untuk memastikan tidak ada kondisi balapan dengan elemen perangkat lunak (seperti DLL) yang mungkin diinisialisasi sebelum titik masuk utama dipanggil. Perhatikan bahwa SetProcessDPIAware hanya ada di Windows Vista dan Windows 7.

Menambahkan elemen manifes mudah dilakukan dengan Visual Studio 2005 dan 2008; buat file bernama dpiaware.manifest yang berisi teks berikut:

            <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
            <asmv3:application>
            <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>true</dpiAware>
            </asmv3:windowsSettings>
            </asmv3:application>
            </assembly>

Kemudian, di dalam Visual Studio, tambahkan dpiware.manifest ke proyek. Pastikan Manifes Sematkan diatur ke Ya di properti proyek. Perhatikan bahwa versi lama Alat Manifes (Mt.exe) akan menghasilkan peringatan memacu dengan elemen manifes sadar DPI. Untuk mengatasinya, perbarui Mt.exe ke versi terbaru dari Windows SDK.

Visual Studio 2010 menyertakan pengaturan dalam properti proyek, bernama Aktifkan Kesadaran DPI, yang menghilangkan kebutuhan akan file seperti dpiaware.manifest. Temukan Aktifkan Kesadaran DPI dengan memperluas Properti Konfigurasi dan Alat Manifes, lalu pilih Input &Output.

Di Windows, mode tampilan tradisional default ke 96 DPI, yang umum untuk monitor CRT.

Meskipun aplikasi layar penuh mengubah resolusi tampilan, aplikasi sering menggunakan pesan jendela dan metrik saat menyiapkan buffer dan menampilkan persegi panjang. Virtualisasi DPI menyebabkan mode tampilan layar penuh ini tampak dipotong, dan menyatakan sadar DPI akan mencegah masalah ini. Untuk informasi selengkapnya, lihat Menulis Aplikasi Win32 sadar DPI.

Keamanan dan Kompatibilitas

Ringkasan Persyaratan Keamanan dan Kompatibilitas

Keuntungan Pelanggan

Persyaratan berikut meningkatkan keamanan keseluruhan game dan membantu memastikan bahwa mereka bekerja dengan Windows pada arsitektur yang berbeda, di bawah konfigurasi yang berbeda, dan dalam mode yang berbeda.

2.1 Ikuti Panduan Kontrol Akun Pengguna

Persyaratan

Setiap file yang dapat dieksekusi (yaitu, setiap file yang memiliki ekstensi .exe) harus berisi manifes tersemat yang menentukan tingkat eksekusinya dengan menyertakan tag berikut:

            <requestedExecutionLevel>

Sesuai persyaratan 1.2, game utama dan Autorun executable harus memiliki tingkat eksekusi asInvoker untuk mendukung konteks Pengguna Standar.

File data pengguna yang memiliki asosiasi file yang terdaftar dengan File Explorer harus ditempatkan di subfolder folder yang ditentukan oleh CSIDL_PERSONAL (juga disebut Dokumen atau Dokumen Saya). Semua file data pengguna lainnya harus disimpan dalam subfolder folder yang ditentukan oleh CSIDL_LOCAL_APPDATA atau CSIDL_COMMON_APPDATA. (Direktori ini disembunyikan secara default untuk pengguna individual dan untuk semua pengguna.)

Alasan

Pengalaman Windows pengguna lebih aman jika aplikasi hanya berjalan dengan izin yang diperlukan.

Informasi Tambahan

Jika hanya beberapa fitur dalam aplikasi yang memerlukan hak istimewa administratif (misalnya, aplikasi yang perlu mengonfigurasi firewall), proses utama aplikasi masih harus dijalankan dengan menggunakan hak istimewa pengguna standar. Fitur yang memerlukan hak istimewa administratif harus dipindahkan ke dalam proses terpisah, seperti alat penginstal atau utilitas konfigurasi.

Jika hak istimewa administratif tidak diperlukan, XML manifes yang disematkan harus menyertakan yang berikut ini:

            <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
            <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
            <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
            <ms_asmv2:security>
            <ms_asmv2:requestedPrivileges>
            <ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />
            </ms_asmv2:requestedPrivileges>
            </ms_asmv2:security>
            </ms_asmv2:trustInfo>
            </assembly>

Jika hak istimewa administratif diperlukan, XML manifes yang disematkan harus menyertakan yang berikut ini:

            <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
            <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
            <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
            <ms_asmv2:security>
            <ms_asmv2:requestedPrivileges>
            <ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
            </ms_asmv2:requestedPrivileges>
            </ms_asmv2:security>
            </ms_asmv2:trustInfo>
            </assembly>

Dengan Visual Studio 2005 ini mudah disematkan dengan hanya menambahkan file manifes (.manifest) yang berisi salah satu blok sebelumnya ke proyek, dan memastikan bahwa Manifes Sematkan diatur ke Ya di properti proyek untuk Alat Manifes. Untuk Visual Studio 2008 dan 2010, properti UAC dapat diatur langsung di properti proyek untuk linker di halaman File Manifes. Perhatikan bahwa versi lama Alat Manifes (Mt.exe) menghasilkan peringatan memacu dengan elemen manifes UAC. Untuk mengatasinya, perbarui Mt.exe ke versi terbaru dari Windows SDK.

Lihat persyaratan 3.1 untuk detail tentang kasus khusus penginstalan, patching, dan penghapusan.

Pustaka Tautan Dinamis (DLL) tidak memerlukan manifes tersebut.

Untuk informasi selengkapnya tentang Kontrol Akun Pengguna, lihat Kontrol Akun Pengguna untuk Pengembang Game.

2.2 Mendukung Versi Windows x64

Persyaratan

Untuk menjaga kompatibilitas dengan Windows edisi 64-bit, game harus memenuhi persyaratan berikut.

  • Judul dan penginstal judul tidak boleh berisi kode 16-bit atau mengandalkan komponen 16-bit apa pun.
  • Jika permainan bergantung pada driver mode kernel untuk operasi, versi x64 dari driver ini harus tersedia. Penyetelan permainan harus mendeteksi dan menginstal driver dan komponen yang tepat untuk Windows edisi 64-bit.

Alasan

Banyak pengguna Windows Vista dan Windows 7 akan menjalankan edisi sistem operasi 64-bit selama masa pakai produk, sehingga sangat penting bagi aplikasi untuk kompatibel dengan sistem operasi ini.

Informasi Tambahan

Windows pada Windows 64 (WOW64) memungkinkan kode 32-bit berjalan pada Windows edisi 64-bit, sehingga tidak perlu bahwa aplikasi menjadi kode 64-bit asli pada Windows edisi 64-bit. Kode sixteen-bit tidak berjalan pada Windows edisi 64-bit.

Mempertahankan kompatibilitas dengan Windows XP Professional x64 Edition tidak diperlukan, tetapi sangat didorong.

Untuk detailnya, lihat Pemrograman 64-bit untuk Pengembang Game.

2.3 Menandatangani File

Persyaratan

Semua file kode yang dapat dieksekusi (biasanya, file dengan ekstensi .exe atau .dll) harus ditandatangani dengan sertifikat Authenticode yang valid secara publik, dan harus memiliki URL server tanda waktu yang valid untuk penandatanganan produksi.

Jika permainan Anda menggunakan Penginstal Windows, file paket alat penginstal (file.msi) harus ditandatangani.

Alasan

Menandatangani file membantu pengguna memutuskan apakah akan mempercayai aplikasi, dan memastikan pengguna bahwa file belum dirusak. Ini juga memungkinkan aplikasi untuk berjalan dengan benar di lingkungan terkunci.

Informasi Tambahan

Untuk detailnya, lihat Penandatanganan Authenticode untuk Pengembang Game.

Jika game Anda menggunakan Windows Installer, kami sarankan Anda mengaktifkan patching UAC/LUA, dengan menyertakan tabel MsiPatchCertificate. Untuk informasi selengkapnya, lihat Patching Kontrol Akun Pengguna (UAC).

Kami tidak merekomendasikan penandatanganan file kabinet (.cab), kecuali file tersebut relatif kecil (kurang dari 100 MB).

2.4 Menandatangani Driver

Persyaratan

Setiap driver mode kernel yang diinstal oleh permainan harus ditandatangani dengan sertifikat Authenticode yang valid untuk umum.

Setiap driver perangkat keras mode kernel yang diinstal oleh permainan harus memiliki tanda tangan Microsoft, yang dapat diperoleh dari Windows Hardware Quality Labs (WHQL) atau dari program Tanda Tangan Keandalan Driver (DRS).

Alasan

Driver yang ditulis dengan buruk atau malware dapat sangat memengaruhi stabilitas dan keamanan sistem. Pada Windows Vista dan Windows 7 edisi 64-bit, driver yang tidak ditandatangani tidak dimuat. Kebijakan ini juga dapat diaktifkan untuk Windows Vista dan Windows 7 edisi 32-bit.

Informasi Tambahan

Versi asli 32-bit dan 64-bit dari semua driver mode kernel diperlukan per persyaratan 2.2.

Informasi selengkapnya tentang program penandatanganan driver Microsoft dapat ditemukan di Windows Hardware Dev Center.

2.5 Melakukan Pemeriksaan Versi yang Tepat

Persyaratan

Permainan tidak boleh gagal dijalankan pada sistem operasi di masa mendatang seperti yang ditunjukkan oleh perubahan nomor versi Windows, kecuali Perjanjian Lisensi Pengguna Akhir melarang penggunaan pada sistem operasi di masa mendatang. Jika game seharusnya gagal, game harus melakukannya dengan anggun dengan menampilkan pesan yang sesuai kepada pengguna.

Jika pemeriksaan versi Windows dilakukan, API pemeriksaan versi (GetVersionEx atau VerifyVersionInfo) harus digunakan untuk memeriksa versi sistem operasi. Kunci registri tidak boleh dibaca untuk menentukan versi.

Pemeriksaan versi eksplisit untuk runtime DirectX tidak boleh ada dalam game. Pemeriksaan versi ini tidak boleh ada dalam penginstalan yang meluncurkan penyiapan runtime DirectX (DirectSetup).

Alasan

Ketika pengguna Windows meningkatkan sistem operasi mereka, mereka tidak boleh diblokir untuk memainkan permainan saat ini hanya karena nomor versi Windows telah meningkat. Pemeriksa versi yang ditulis dengan buruk terus membuat masalah untuk perangkat lunak yang, jika tidak, berfungsi dengan baik pada versi Windows yang lebih baru atau hanya dengan penambahan paket layanan Windows.

Logika perbandingan pemeriksaan versi yang rapuh untuk runtime DirectX telah membuat banyak penginstalan yang gagal ketika dijalankan pada versi Windows yang berbeda. Nomor versi DirectX hanya berlaku untuk komponen sistem operasi inti. Ini tidak berlaku untuk komponen DirectX SDK berdampingan yang digunakan oleh banyak game.

Informasi Tambahan

Sangat umum untuk melihat alat penginstal memeriksa versi OS minimum. Namun, pemeriksaan ini perlu dilakukan dengan hati-hati untuk memastikan bahwa itu menguji lebih dari atau sama dengan, daripada kesetaraan sederhana, sehingga mengunci ke versi tertentu dari sistem operasi. Menggunakan pengujian HighVersionLie Application Verifier adalah cara cepat dan mudah untuk menentukan bagaimana alat penginstal Anda akan bereaksi terhadap perubahan signifikan dalam nomor versi OS.

Penggunaan paket redistribusi runtime DirectX yang tepat (Penyiapan DirectX) melibatkan selalu meluncurkannya selama penginstalan, sebaiknya dalam mode senyap. Ini memungkinkan kode yang disediakan oleh Microsoft untuk melakukan pembaruan versi yang diperlukan. Ini juga memungkinkan penginstalan komponen DirectX SDK berdampingan opsional, seperti D3DX, XACT, MDX, atau XInput.

Untuk praktik terbaik untuk menyebarkan runtime DirectX, lihat Penginstalan DirectX untuk Pengembang Game.

Disarankan agar game yang mendukung pemeriksaan Windows XP untuk tingkat paket layanan 2 atau lebih tinggi, karena Paket Layanan 2 (SP2) dan Paket Layanan 3 (SP3) memberikan peningkatan keamanan yang signifikan, persyaratan Redistribusi Runtime DirectX yang disederhanakan, dan penyebaran yang sangat luas. Sebagian besar teknologi Microsoft modern yang mendukung Windows XP memerlukan SP2 atau SP3 (XAudio2, Game untuk Windows - LANGSUNG, dan sebagainya).

2.6 Mendukung Sesi Pengguna Bersamaan

Persyaratan

Game yang mengandalkan grafik 3D tidak diperlukan untuk bekerja melalui koneksi desktop jarak jauh, tetapi pengguna harus diberi tahu ketika permainan gagal.

Game harus mendukung skenario multitugas Windows standar dengan mematuhi aturan berikut:

  • Permainan tidak boleh memblokir penggunaan sesi pengguna bersamaan.
  • Permainan harus berjalan dalam sesi pengguna baru ketika sudah berjalan di sesi lain.
  • Suara game dalam satu sesi pengguna tidak boleh didengar ketika pengguna lain aktif dalam sesi yang berbeda.
  • Game harus mendukung Peralihan Pengguna Cepat.
  • Permainan tidak boleh mencoba menonaktifkan pengalihan tugas standar. Permainan tidak boleh menonaktifkan pintasan keyboard ALT+TAB. Permainan diizinkan untuk menonaktifkan pintasan keyboard aksesibilitas, seperti yang dijelaskan dalam Menonaktifkan Tombol Pintasan dalam Game.

Alasan

Pengguna Windows harus dapat menjalankan sesi bersamaan tanpa konflik atau gangguan. Ini adalah skenario umum untuk komputer Windows yang dibagikan oleh keluarga, teman sekamar, atau lainnya.

Informasi Tambahan

Untuk menguji apakah game diluncurkan dalam sesi jarak jauh, panggil GetSystemMetrics(SM_REMOTESESSION). Nilai bukan nol menunjukkan bahwa sesi bersifat jarak jauh.

Untuk informasi selengkapnya, lihat Pengalihan Pengguna Cepat. Perhatikan bahwa Peralihan Pengguna Cepat terjadi jika pembatasan waktu Kontrol Orang Tua diaktifkan saat waktu pengguna habis. Lihat persyaratan 1.2 untuk detail selengkapnya.

2.7 Mendukung Nama Panjang

Persyaratan

Jika permainan mendukung penyimpanan file, game harus dapat menyimpan file yang memiliki nama dan jalur panjang. Permainan harus menangani karakter sistem file khusus dengan benar, seperti \ / : * ? " <>, di bidang input pengguna apa pun yang digunakan untuk membuat nama atau jalur file.

Game harus berfungsi dengan baik ketika pengguna memiliki nama pengguna yang panjang.

Alasan

Pemain terbiasa menggunakan nama panjang pada jalur mendalam yang didukung oleh sistem operasi yang mendasar.

Informasi Tambahan

Nama panjang didefinisikan sebagai yang berisi nilai maksimum yang ditentukan dalam Windows SDK.

Penginstalan

Ringkasan Persyaratan Keamanan dan Kompatibilitas

Keuntungan Pelanggan

Pelanggan dapat yakin bahwa aplikasi akan diinstal pada Windows tanpa menurunkan sistem operasi atau aplikasi lain jika aplikasi menggunakan metode distribusi komponen sistem resmi. Pengalaman penginstalan yang efisien memberikan pengalaman out-of-box yang lebih mudah diakses dan bebas masalah untuk game.

3.1 Mendukung Penginstalan Mudah

Persyaratan

Game harus menyediakan jalur yang disederhanakan di antarmuka pengguna penyiapan dengan menerapkan hal berikut:

  • Tampilkan maksimum satu permintaan EULA.
  • Jalur penginstalan default harus melewati semua pilihan untuk penginstalan (seperti folder penginstalan atau pilihan komponen), asumsikan pilihan default, lalu jalankan game atau peluncur setelah penginstalan berhasil, tanpa perintah tambahan. Jika diinginkan, opsi penginstalan kustom dapat disediakan untuk opsi konfigurasi tingkat lanjut.
  • Instal komponen sistem operasi yang diperlukan (seperti runtime DirectX dan Visual C) menggunakan paket redistribusi Microsoft yang benar. Penginstalan harus dilakukan secara diam-diam, tanpa meminta dan tanpa dijaga oleh pemeriksaan versi komponen.
  • Berikan penghapusan melalui Program dan Fitur dalam Panel Kontrol untuk aplikasi game dan file kerja yang dihasilkan. Opsi untuk menghapus file data apa pun yang dibuat oleh pengguna disarankan. Proses penghapusan harus memastikan bahwa semua file yang diinstal dihapus dan semua pengaturan (misalnya, entri daftar pengecualian firewall dan kunci registri) dibersihkan. Komponen sistem operasi yang didistribusikan ulang tidak boleh dihapus.
  • Jika permainan memerlukan pengecualian untuk ditambahkan ke Windows Firewall, proses penyiapan dapat meminta untuk memberi tahu pengguna bahwa perubahan ini diperlukan. Perintah ini akan muncul sebelum penginstalan dimulai.

Penginstalan dan penghapusan dapat memerlukan hak administratif. Patching dapat memerlukan permintaan kredensial administratif, tergantung pada frekuensi pembaruan. Permainan normal tidak boleh memerlukan hak administratif, sesuai persyaratan 2.1 Ikuti Panduan Kontrol Akun Pengguna.

Alasan

Penginstalan yang mudah adalah filosofi pengembangan game yang berpusat pada Windows yang dirancang untuk menyederhanakan dan menyederhanakan proses pemasangan game yang terkadang melelahkan dan membingungkan pada komputer yang menjalankan sistem operasi Windows. Penginstalan yang mudah diaktifkan dengan menggunakan serangkaian teknologi dan praktik terbaik yang mengurangi kompleksitas yang tidak perlu dan risiko pemasangan game di komputer Windows.

Tujuan utamanya adalah untuk:

  • Kurangi jumlah waktu untuk masuk ke dalam permainan dan mulai bermain.
  • Kurangi jumlah kotak dialog dan pilihan menjadi sangat sedikit, atau tidak ada, untuk menyederhanakan pengalaman penginstalan game.

Beberapa penginstalan tradisional memiliki perintah yang memungkinkan penginstalan non-fungsional, meskipun aplikasi tampaknya berhasil diinstal. Misalnya, game dapat mengharuskan pengguna untuk menerima EULA. Game kemudian diinstal, dan kemudian DirectX EULA muncul. EULA ini memungkinkan pengguna untuk menolak, dan dengan demikian melewati penginstalan runtime DirectX. Skenario ini dapat mengakibatkan permainan yang gagal dijalankan karena komponen yang hilang.

Informasi Tambahan

Untuk informasi selengkapnya tentang penginstalan game, teknik penginstalan game non-tradisional, solusi patching yang kompatibel dengan UAC, dan penanganan patching yang sering, lihat artikel DirectX berikut:

Catatan

Menghapus file data khusus pengguna yang dihasilkan harus dilakukan hanya untuk pengguna saat ini dan untuk lokasi pengguna bersama umum. Tidak ada cara yang kuat untuk memindai sistem untuk menghapus file khusus pengguna untuk pengguna lain, bahkan jika penghapusan memerlukan kredensial administratif.

3.2 Mendukung Kontrol Akun Pengguna untuk Penginstalan

Persyaratan

Alat penginstal game tidak boleh berasumsi bahwa game berjalan dalam konteks yang sama dengan pengguna. Lokasi khusus pengguna akan berbeda dari alat penginstal dan pemutar bahkan untuk sistem pengguna tunggal karena elevasi kredensial administrator. Oleh karena itu, ketika game berjalan untuk pertama kalinya, game harus melakukan tugas khusus pengguna, secara terpisah dari proses penginstalan.

Kotak dialog pengecualian Windows Firewall tidak boleh muncul ketika pengguna menghosting atau bergabung dengan permainan multipemain. Konfigurasi apa pun yang diperlukan harus dilakukan pada waktu penginstalan. Instruksi penyiapan harus memberi tahu pengguna bahwa operasi ini akan terjadi sebagai bagian dari penyiapan.

Penginstal game harus memberikan manifes tersemat yang menunjuk tingkat eksekusi yang diperlukan, sesuai persyaratan 2.1 Ikuti Panduan Kontrol Akun Pengguna.

Jika game diluncurkan oleh alat penginstal setelah penginstalan selesai, game harus diluncurkan dalam konteks pengguna asli.

Alasan

Salah satu perubahan terbesar pada sistem operasi Windows di Windows Vista adalah penambahan Kontrol Akun Pengguna (UAC), yang menjalankan aplikasi dengan hak istimewa yang dikurangi secara default. Akibatnya, alat penginstal perlu mengelola tingkat hak istimewa yang sesuai. Windows 7 juga memanfaatkan UAC secara ekstensif. Meskipun Windows 7 meningkatkan pengalaman pengguna UAC, penginstal masih harus memenuhi persyaratan yang sama seperti pada Windows Vista agar berfungsi dengan baik, tanpa mengandalkan perilaku virtualisasi yang berpotensi membingungkan.

UAC aktif secara default pada Windows Vista dan Windows 7, dan sebagian besar pelanggan (88% atau lebih, berdasarkan umpan balik) biarkan fitur ini diaktifkan.

Informasi Tambahan

Untuk detail selengkapnya tentang mengonfigurasi Windows Firewall, lihat artikel DirectX Windows Firewall untuk Pengembang Game dan sampel FirewallInstallHelper.

Peluncuran standar game di akhir proses penginstalan gagal memenuhi aspek terakhir dari persyaratan ini jika penginstalan diluncurkan oleh pengguna standar, dan jika proses penyiapan memerlukan hak istimewa administratif (yaitu, meminta kredensial administrator). Ini juga mewarisi hak istimewa administratif, yang merupakan potensi risiko keamanan. Sebagai gantinya, pemuat bootstrap penyiapan harus meluncurkan game setelah kembali dari pemanggilan alat penginstal yang berhasil. Untuk informasi selengkapnya, lihat artikel Majalah MSDN Mengajarkan Aplikasi Anda untuk Bermain Dengan Baik dengan Kontrol Akun Pengguna Windows Vista.

3.3 Menginstal ke Folder yang Benar

Persyaratan

Permainan yang diinstal untuk semua pengguna harus diinstal ke folder File Program secara default. Data pengguna harus ditulis ketika game berjalan untuk pertama kalinya, bukan selama penginstalan.

Alasan

Pengguna harus memiliki fleksibilitas untuk menginstal aplikasi di mana mereka membutuhkannya. Mereka juga harus memiliki pengalaman yang konsisten dan aman dengan lokasi default file.

Informasi Tambahan

Game dapat menggunakan berbagai lokasi folder yang diketahui (seperti yang ditentukan oleh CSIDL_LOCAL_APPDATA dan CSIDL_COMMON_APPDATA) untuk menyimpan sejumlah besar data game dan mendukung file yang dapat dieksekusi untuk menerapkan skenario penginstalan sesuai permintaan dan patching tingkat lanjut.

Karena penginstalan dapat memerlukan elevasi ke akun pengguna yang berbeda selama proses penginstalan semua pengguna, tidak ada lokasi pengguna yang benar untuk menyimpan data pada waktu penginstalan. Selain itu, jika enkripsi file diaktifkan, file terenkripsi hanya dapat diakses oleh akun pengguna yang membuatnya.

3.4 Memasang Sumber Daya Windows dengan Benar

Persyaratan

Aplikasi tidak boleh mencoba menginstal file atau kunci registri yang dilindungi oleh Windows Resource Protection (WRP). Jika aplikasi memerlukan versi komponen sistem yang lebih baru, aplikasi harus memperbarui komponen ini dengan menggunakan Paket Layanan Microsoft atau paket penginstalan yang disetujui Microsoft yang berisi komponen sistem. Komponen sistem tidak boleh dikemas ulang.

Alasan

Perlindungan Sumber Daya Windows (WRP) dirancang untuk memastikan bahwa sumber daya sistem yang dilindungi hanya diperbarui dengan menggunakan mekanisme penginstalan atau pembaruan yang disetujui Microsoft. WRP meningkatkan keandalan sistem dengan memastikan bahwa hasil instalasi dapat diprediksi.

Informasi Tambahan

WRP adalah penerus Windows File Protection, yang melindungi sebagian besar komponen sistem yang diinstal di folder Windows. WRP melindungi sebagian besar kunci registri yang menyimpan pengaturan untuk pembuatan objek COM. Ini juga mencadangkan folder tertentu untuk digunakan secara eksklusif oleh sistem operasi. Upaya untuk mengakses sumber daya yang dilindungi biasanya mengakibatkan kesalahan penolakan akses.

Untuk detail praktik terbaik saat runtime DirectX disebarkan dengan game, lihat artikel DirectX Penginstalan DirectX untuk Pengembang Game.

3.5 Hindari Reboot Selama Penginstalan

Persyaratan

Penginstal game tidak boleh mengasumsikan bahwa penginstalan komponen Windows dari paket redistribusi memerlukan boot ulang, kecuali reboot ditunjukkan oleh hasil pengembalian atau oleh dokumentasi Microsoft.

Jika alat penginstal game selalu memaksa reboot, ini harus disetujui oleh Microsoft.

Kotak dialog files-in-use yang disertakan dalam paket Windows Installer harus berisi opsi untuk menutup aplikasi secara otomatis dan mencoba memulai ulang setelah penyiapan selesai.

Alasan

Me-reboot sistem setelah penginstalan adalah gangguan yang tidak nyaman bagi pengguna dan biasanya tidak perlu.

Informasi Tambahan

Untuk informasi selengkapnya, lihat Menggunakan Penginstal Windows dengan Restart Manager.

3.6 Gunakan Penerapan Versi File dengan Benar

Persyaratan

Program penginstalan permainan harus diperiksa dengan benar untuk memastikan bahwa versi file terbaru telah diinstal. Menginstal game tidak boleh meregresi file apa pun yang tidak Anda hasilkan atau yang dibagikan oleh aplikasi yang tidak Anda hasilkan.

Alasan

Komponen bersama dan komponen sistem sering diperbarui untuk perbaikan keamanan dan fungsionalitas yang diperluas. Penginstalan yang mencakup versi komponen yang diperbarui yang lebih lama tidak boleh mengakibatkan hilangnya pembaruan dan perbaikan yang sudah diterapkan.

3.7 Dukungan Autorun [Persyaratan Bersyarat]

Persyaratan

Untuk game yang didistribusikan pada CD, DVD, atau media lain yang dapat dilepas yang mendukung Autorun, ketika disk dimasukkan untuk pertama kalinya, aplikasi harus secara otomatis menjalankan atau meminta pengguna untuk menginstal game, kecuali pengguna telah menonaktifkan fitur Autorun.

Setelah aplikasi berhasil diinstal, memasukkan kembali cakram dalam drive tidak boleh menyebabkan penginstalan dimulai lagi secara otomatis. Dapat diterima untuk bertanya kepada pengguna apakah mereka ingin memperbarui atau mengubah pilihan penginstalan mereka.

Aplikasi autorun tidak boleh meminta elevasi (yaitu, aplikasi harus memiliki asInvoker dalam manifes, per persyaratan 2.1, meskipun dapat meluncurkan program penyiapan atau utilitas lain yang memerlukan hak administratif. Elevasi harus terjadi hanya jika game tidak diinstal, atau jika pengguna secara khusus memilihnya.

Alasan

Autorun menyederhanakan pengalaman menggunakan aplikasi yang didistribusikan media, seperti game yang biasanya mengharuskan disk hadir di drive untuk memainkan game.

Informasi Tambahan

Tidak dapat diterima untuk mengharuskan pengguna menavigasi di File Explorer untuk meluncurkan penginstalan dari CD atau DVD.

Untuk game yang didistribusikan pada beberapa disk, disk berikutnya idealnya harus menggunakan fitur Autorun atau melanjutkan penginstalan tanpa meminta pengguna untuk menekan tombol atau mengambil tindakan lain.

Saat menulis program Autorun, pastikan semua komponen yang diperlukan ada pada penginstalan Windows baru. Aplikasi umum mengandalkan teknologi yang diinstal oleh penyiapan, tetapi Autorun itu sendiri dijalankan sebelum pengaturan tersebut terjadi. Salah satu contoh umumnya adalah kegagalan Menjalankan otomatis program karena DLL Runtime Visual C tidak disertakan sebagai bagian dari penyiapan Windows. Oleh karena itu, program Autorun harus menggunakan penyebaran CRT lokal aplikasi atau harus secara statis menautkan CRT.

Menjalankan otomatis program yang ditulis untuk digunakan pada versi Windows sebelum Windows Vista tidak boleh menggunakan runtime .NET karena teknologi ini tidak disertakan dengan Windows XP atau versi Windows yang lebih lama. Windows Server 2003 dan Windows Vista adalah versi pertama Windows yang menyertakan runtime .NET sebagai bagian dari sistem operasi mereka.

Untuk alasan serupa, program Autorun tidak dapat memerlukan kehadiran komponen berdampingan opsional DirectX SDK seperti D3DX9, D3DX10, D3DX11, XAudio2, X3DAudio, XACT, XINPUT, dan MDX 1.1.

Untuk contoh penggunaan Autorun, lihat AutoRun Sample.

Keandalan

Ringkasan Persyaratan Keamanan dan Kompatibilitas

Keuntungan Pelanggan

Persyaratan ini membuat aplikasi lebih dapat diandalkan dengan meminimalkan jumlah crash, hang, dan boot ulang. Persyaratan keandalan dapat membantu memastikan bahwa perangkat lunak lebih mudah diprediksi, dapat dipertahankan, tangguh, dan dapat dipulihkan.

4.1 Hilangkan Boot Ulang yang Tidak Perlu

Persyaratan

Semua penginstal aplikasi harus memanfaatkan API restart manager untuk menghindari reboot sistem (lihat persyaratan 3.5).

Permainan tidak boleh memblokir matikan.

Semua aplikasi harus merespons manajer hidupkan ulang dengan mendengarkan dan merespons pesan matikan berikut:

WM_QUERYENDSESSION dengan LPARAM = ENDSESSION_CLOSEAPP (0x1)

Aplikasi GUI harus segera merespons (TRUE) sebagai persiapan untuk menghidupkan ulang.

WM_ENDSESSION dengan LPARAM = ENDSESSION_CLOSEAPP (0x1)

Aplikasi harus mengembalikan nilai 0 dalam waktu 5 detik, lalu ditutup.

CTRL+C

Aplikasi konsol yang menerima pesan ini harus segera ditutup.

Alasan

Reboot sistem adalah gangguan besar. Mereka mengarah pada pengalaman pengguna yang buruk, dan harus diminimalkan. Beberapa operasi, seperti pembaruan sistem penting dapat memerlukan boot ulang. Dengan mendengarkan pesan matikan, game dan aplikasi lain dapat segera bereaksi terhadap permintaan dari restart manager. Dengan cara ini, mereka dapat menghindari keterlambatan yang tidak perlu dalam permintaan reboot yang valid.

Informasi Tambahan

Jika alat penginstal game menggunakan teknologi Penginstal Windows (MSI) tanpa tindakan kustom apa pun, fungsionalitas ini disediakan secara otomatis. Paket redistribusi Microsoft juga mendukung Restart Manager.

Untuk informasi selengkapnya tentang Restart Manager, lihat artikel MSDN Tentang Restart Manager.

4.2 Menghilangkan Kegagalan Pemverifikasi Aplikasi

Persyaratan

Game ini tidak boleh menghasilkan kegagalan yang berjalan di bawah Microsoft Application Verifier (AppVerifier), versi 4.0 atau yang lebih baru, dalam pengujian berikut:

  • Dasar-dasar: Handles, Heaps, Locks, Memory, TLS
  • Lain-lain: DangerousAPIs, DirtyStacks

Alasan

AppVerifier menguji banyak masalah umum yang menyebabkan crash dan macet di aplikasi Windows, serta kerentanan keamanan yang diketahui.

Informasi Tambahan

Untuk informasi selengkapnya tentang Pemverifikasi Aplikasi, lihat Pemverifikasi Aplikasi dan Menggunakan Pemverifikasi Aplikasi Dalam Siklus Hidup Pengembangan Perangkat Lunak Anda.

Persyaratan ini tidak berlaku untuk aplikasi terkelola murni tanpa interop asli.

Pengujian ini harus dijalankan pada build rilis. Build penelusuran kesalahan dapat menghasilkan kegagalan palsu. Beberapa teknologi anti-pembajakan dan anti-curang dapat mengganggu eksekusi AppVerifier. Oleh karena itu, pengujian ini harus dilakukan tanpa teknologi anti-pembajakan dan anti-cheat diaktifkan.

Mungkin perlu untuk mengatur properti Lengkap dari tes Dasar:Timbunan ke FALSE, karena PageHeap penuh sangat meningkatkan tekanan memori aplikasi yang sedang berjalan. Kegagalan masih akan terdeteksi, tetapi mungkin lebih sulit untuk dilacak jika Anda hanya menggunakan PageHeap parsial.

Jika Anda menggunakan pengujian terkait UAC/LUA di Pemverifikasi Aplikasi untuk memenuhi persyaratan Kontrol Akun Pengguna 2.1 dan 3.2, Anda harus menggunakan Penganalisis Pengguna Standar untuk meninjau hasilnya. Ada juga banyak pengujian berguna lainnya yang disediakan oleh Pemverifikasi Aplikasi yang sangat Anda dorong untuk digunakan dalam pengembangan dan pengujian untuk memastikan tingkat kompatibilitas yang tinggi dengan versi Windows saat ini dan di masa mendatang. Pengujian HighVersionLie digunakan untuk memverifikasi kepatuhan dengan persyaratan 2.5.

Visual Studio Team System menyertakan subset fungsionalitas AppVerifier yang diintegrasikan ke dalam lingkungan penelusuran kesalahan. Ini mungkin terbukti berguna untuk melacak dan menyelesaikan masalah dengan Tes Dasar: Heaps, Handles, dan Locks.

4.3 Dukungan Pelaporan Galat Windows dan Informasi Versi File

Persyaratan

Untuk mengaktifkan dukungan Pelaporan Galat Windows, game harus memenuhi persyaratan berikut:

  • Game hanya boleh menangani pengecualian yang diketahui dan diharapkan. Pelaporan Galat Windows tidak boleh dinonaktifkan. Jika kesalahan seperti Pelanggaran Akses muncul dalam game, itu harus memungkinkan Pelaporan Galat Windows melaporkan crash.
  • Semua file yang dapat dieksekusi (misalnya, file .exe atau DLL) harus berisi nama produk, nama perusahaan, dan versi file yang akurat.
  • Keluar normal dari permainan tidak boleh mengakibatkan kesalahan pengecualian yang tidak diketahui.

Alasan

API Pelaporan Galat Windows memberikan umpan balik penting kepada Microsoft untuk mendeteksi crash yang meluas dan macet dalam aplikasi. Ini memungkinkan Microsoft dan mitranya untuk dengan cepat mendeteksi dan menyelesaikan masalah sistem dan driver yang menyebabkan kegagalan aplikasi dengan cepat.

Informasi Tambahan

Game dapat mencakup handler pengecualian kustom yang tidak tertangani untuk melakukan fungsionalitas dukungan dan pelaporan kustom, tetapi mereka harus meneruskan kesalahan apa pun ke fungsi ReportFault atau WerReportSubmit .

Informasi versi file yang tepat dapat diverifikasi dengan melihat properti file di UI desktop Windows dan memeriksa halaman properti Versi.

Untuk informasi selengkapnya tentang API Pelaporan Galat Windows, dan cara menganalisis crash dump yang dihasilkan saat Anda menggunakan layanan ini, lihat artikel DirectX Analisis Crash Dump.

Pengontrol Umum Xbox 360 untuk Terminologi Windows

Nama Deskripsi
A Tombol A.
B Tombol B.
KEMBALI Tombol Kembali.
Bumper (kanan/kiri) Tombol di tepi kanan atas dan kiri pengontrol. Setara dengan tombol shoulder.
tombol arah Pad arah pengontrol.
D-pad Menerima singkatan dari pad arah.
DP Singkatan pad arah dan label pengontrol.
RB, LB Singkatan bumper kanan dan kiri dan label pengontrol.
RS, LS Singkatan tongkat kanan dan kiri dan label pengontrol.
RT, LT Singkatan pemicu kanan dan kiri dan label pengontrol.
RSB, LSB Singkatan tongkat kanan dan kiri dan label pengontrol.
MULAI Tombol Mulai.
(kanan/kiri) tongkat Tongkat pengontrol. Sebelumnya thumbstick.
Tombol stick (kanan/kiri) Tombol tongkat pengontrol. Sebelumnya tombol thumbstick.
Pemicu (kanan/kiri) Pemicu pengontrol.
Getaran Umpan balik gameplay yang dihasilkan oleh motor pengontrol. Jangan gunakan rumble.
X Tombol X.
Y Tombol Y.
Pengontrol Xbox 360 untuk Windows Gamepad Xbox 360 dijual sebagai SKU perangkat keras PC, termasuk disk driver perangkat Windows.
Pengontrol Nirkabel Xbox 360 untuk Windows Gamepad nirkabel Xbox 360 dijual sebagai SKU perangkat keras PC, termasuk disk driver perangkat Windows.

Panduan untuk Produk Middleware Game

Pendahuluan

Agar game memenuhi syarat untuk program Games for Windows, mereka harus memenuhi daftar persyaratan teknis. Setiap komponen pihak ketiga yang dikirim dengan judul (file yang dapat dieksekusi, DLL, driver, dan sebagainya) juga harus memenuhi persyaratan ini agar game memenuhi syarat. Dokumen ini menyoroti persyaratan paling umum yang juga harus dipenuhi oleh komponen pihak ketiga agar game lulus tes kepatuhan. Alat penginstal dan paket mesin/produksi game lengkap harus meninjau dokumen lengkap Game untuk persyaratan teknis Windows, karena banyak dari persyaratan ini dipengaruhi oleh alat-alat ini.

Rekomendasi tambahan

Selain memastikan bahwa komponen Anda mendukung pembuatan judul yang sesuai dengan persyaratan untuk Game untuk Windows, ada sejumlah pertimbangan lain yang harus Anda perhitungkan saat merancang dan menyebarkan pustaka atau utilitas dukungan untuk game Windows.

  • Untuk mendukung pengembang yang bekerja pada aplikasi x64 asli 64-bit, berikan versi asli 32-bit dan 64-bit pustaka Anda. Versi 32-bit harus kompatibel dengan 64-bit per 2.2. Pustaka untuk aplikasi 32-bit tidak boleh berasumsi bahwa bit tinggi dari alamat 32-bit apa pun tidak digunakan untuk mendukung penggunaan dalam aplikasi LARGEADDRESSAWARE x86.

  • Jika Anda menyediakan header kode asli (C/C++), gunakan sintaks atribut Standard Annotation Language (SAL) untuk menghias rutinitas API publik Anda. Ini akan memungkinkan pengguna pustaka Anda untuk mendapatkan manfaat maksimum menggunakan Analisis Kode Statis (/analisis), yang merupakan bagian dari Visual Studio Team System 2005, Visual Studio Team System 2008, Visual Studio 2010 Premium, dan Visual Studio 2010 Ultimate, serta alat kompiler Windows SDK yang tersedia untuk umum.

  • Jika produk Anda membuat utas dalam proses pengguna, pastikan untuk memberi nama setiap utas sehingga alat penelusuran kesalahan dapat membuat anotasi utas yang berjalan dengan benar.

  • Jika Anda menulis rutinitas yang dimaksudkan untuk dipanggil dalam perulangan utama game, gunakan rutinitas D3DX D3DPERF_BeginEvent/EndEvent dan D3DPERF_SetMarker untuk membuat anotasi operasi tingkat tinggi untuk identifikasi hambatan yang lebih mudah menggunakan PIX untuk Windows.

    Catatan

    Untuk fungsionalitas diagnostik grafis Visual Studio 2012, rutinitas D3DX dan PIX ini digantikan oleh antarmuka ID3DUserDefinedAnnotation.

  • Untuk pustaka jaringan, berikan implementasi NETRAL IP dan hindari rutinitas IPv4 yang tidak digunakan lagi untuk mendukung teknologi IPv6 dan Teredo di Windows XP dengan Paket Layanan 2, Windows Vista, dan Windows 7.

  • Penyedia layanan game harus mendaftarkan diri mereka ke Games Explorer menggunakan skema GDF versi 2, dan memanfaatkan fitur RSS untuk memberikan berita terkait layanan.

Permainan untuk Windows Showcases

Pendahuluan

Game untuk showcases Windows melampaui memberikan pengalaman bermain game yang solid di PC Windows. Dengan menerapkan fitur-fitur ini, game dapat menambah kegembiraan pada pengalaman pengguna pada platform Windows terbaru.

Game untuk judul Windows harus memenuhi semua persyaratan teknis yang tercantum dalam artikel ini, tetapi fitur showcase bersifat opsional. Judul-judul ini gratis untuk mengimplementasikan beberapa, tidak ada, atau semua showcases ini.

S.1 Mengeksploitasi Direct3D 11

Persyaratan

Direct3D 11 adalah API rendering generasi berikutnya untuk Windows Vista dan Windows 7. Game yang mengeksploitasi Direct3D 11 menggunakan konten yang dioptimalkan, teknik penyajian tingkat lanjut, dan fitur perangkat keras baru untuk menciptakan pengalaman menarik pada perangkat keras yang mendukung 10, 10.1, dan 11.

Jika gim ini juga mengimplementasikan Direct3D 9, perbandingan berdampingan harus menunjukkan peningkatan kualitas konten yang terlihat, keakuratan visual, performa, kompleksitas adegan, dan area keakuratan grafis lainnya untuk Direct3D 11. Dukungan ini tunduk pada Permainan untuk Persyaratan Teknis Windows 1.7.

Teknologi Direct3D 10level9 dapat digunakan untuk mendukung perangkat keras video kelas Shader Model 2.0/3.0 Direct3D 9 pada Windows Vista dan Windows 7, daripada menggunakan implementasi Direct3D 9 berdampingan untuk dukungan perangkat keras yang luas. Namun, ini tidak cukup untuk menunjukkan showcase ini.

Pada komputer yang menjalankan Windows Vista atau Windows 7 dengan Direct3D 11 terinstal, permainan harus default menggunakan Direct3D 11.

Alasan

API Direct3D 11 dibangun pada infrastruktur Windows Display Driver Model (WDDM) dan Direct3D 10.1 untuk mendukung kemampuan baru: tesselasi perangkat keras, shader komputasi, rendering multithreaded dan pembuatan sumber daya, format kompresi tekstur baru, dan bahasa shader yang lebih fleksibel. Direct3D 11 menyediakan dukungan perangkat keras terpadu untuk kartu video modern, termasuk bagian Direct3D 11 generasi terbaru, semua kartu video Direct3D 10 dan 10.1, dan banyak kartu video Shader Model 2.0/3.0 Direct3D 9, yang merupakan perangkat keras video minimum yang diperlukan untuk desktop Aero 3D.

Informasi Tambahan

Memigrasikan mesin penyajian Direct3D 9 untuk menggunakan antarmuka Direct3D 11 baru adalah tugas yang terdefinisi dengan baik:

  • Hilangkan semua operasi fungsi tetap demi shader yang dapat diprogram.
  • Perbarui semua shader yang ada ke sintaks baru Model Shader 4.x/5.
  • Perbarui manajemen sumber daya untuk mendukung model tampilan baru.
  • Konversikan semua aset untuk menggunakan daftar baru format yang tersedia.
  • Perbarui penanganan status render untuk menggunakan blok status yang tidak dapat diubah, dan pengerjaan ulang konstanta shader menjadi buffer konstanta.

Konversi ini penting untuk mengaktifkan showcase Direct3D 11, meskipun hasilnya tidak memenuhi persyaratan showcase untuk mengeksploitasi API baru.

API baru dan model pemrograman HLSL terkait menawarkan banyak peluang untuk konten yang ditingkatkan:

  • Memanfaatkan fitur perangkat keras Direct3D 10 yang ada, seperti Geometry Shader, Stream Out, array tekstur, dan format tekstur terkompresi BC4/BC5.
  • Memanfaatkan fitur perangkat keras Direct3D 10.1 yang ada, seperti mode campuran per target render independen, read back kedalaman MSAA, akses shader per sampel MSAA, array peta kubus, dan penyajian ke format block-compressed (BC).
  • Menerapkan algoritma GPU tingkat lanjut menggunakan Compute Shader dengan CS4.x pada kartu video Direct3D 10/10.1 yang ada (diaktifkan oleh driver video yang diperbarui) atau CS 5.0 pada kartu video Direct3D 11 generasi berikutnya.
  • Penyajian pada beberapa utas menggunakan pembuatan sumber daya utas bebas dan beberapa konteks perangkat untuk meningkatkan performa pada sistem multikore (dengan driver video yang diperbarui). Untuk informasi selengkapnya, lihat Game untuk Windows Showcase S.3.
  • Memanfaatkan fitur baru perangkat keras video kelas Direct3D 11, seperti tesselulasi perangkat keras dengan lambung dan shader domain, fitur perangkat keras shader Model 5.0 HLSL shader BC6HBC7 format tekstur terkompresi, dan Dynamic Shader Linkage.

Teknik yang dapat diimplementasikan dengan Direct3D 9 (sebagian besar melalui biaya CPU tinggi) dapat dimuat ke GPU dengan cara yang efisien, sehingga membebaskan sumber daya CPU untuk mendukung tuntutan game lainnya.

API Direct3D 11, alat pendukung, dan sampel tersedia di DirectX SDK. Lihat juga API Grafis di Windows.

S.2 Mengeksploitasi x64 Asli

Persyaratan

Gim ini mencakup executable asli 64-bit yang memberikan pengalaman baru yang menarik yang diaktifkan oleh Windows edisi x64 yang berjalan pada perangkat keras berkemampuan x64. Perbandingan berdampingan dengan versi permainan 32-bit harus menunjukkan peningkatan kompleksitas konten yang terlihat, mengurangi waktu muat keseluruhan, dan performa.

Pada Windows edisi 64-bit, penginstalan harus selalu menyiapkan versi asli permainan 64-bit sebagai default untuk pintasan di Games Explorer dan Windows XP Professional x64 Edition. Jika penginstalan ganda diinginkan, maka tugas putar tambahan dapat ditentukan untuk Games Explorer di Windows Vista dan Windows 7 yang menunjuk ke versi 32-bit, tetapi defaultnya harus tetap menjadi versi asli 64-bit.

Perhatikan bahwa game harus mendukung Windows Vista dan Windows 7 edisi 64-bit untuk memenuhi rekomendasi showcase ini. Dukungan untuk Windows XP Professional x64 Edition didorong, tetapi tidak diperlukan.

Alasan

Teknologi x64 menyediakan kemampuan pengalamatan 64-bit untuk pasar konsumen dan server yang mencakup kompatibel mundur 32-bit berkecepatan penuh untuk aplikasi yang ada. x64 adalah bagian penting dari peta jalan untuk AMD (AMD64) dan Intel (EMT64), dan, dengan pengecualian CPU ultra-mobile, mendukung teknologi untuk semua prosesor generasi saat ini dan di masa mendatang.

Windows XP Professional x64 Edition adalah sistem operasi (OS) Windows pertama yang berorientasi konsumen yang mendukung teknologi x64, dan Windows Vista dan Windows 7 sangat memperluas ketersediaan pengaktifan OS untuk komputasi konsumen 64-bit. Dengan RAM 2 GB sebagai standar pada banyak komputer baru, peningkatan lebih lanjut dalam penskalaan memori tidak akan menguntungkan aplikasi individu 32-bit yang tidak dapat mengatasi LEBIH dari 2 GB RAM fisik. Banyak game saat ini menghadapi tantangan yang sesuai dengan semua konten yang tersedia ke dalam batasan ruang alamat virtual 2 GB, terutama jika dikombinasikan dengan memori video besar yang tersedia pada GPU kelas atas, dan pindah ke teknologi x64 sangat meningkatkan tingkat detail yang mendukung.

Kompatibilitas x64 untuk game 32-bit adalah game untuk persyaratan teknis Windows (2.2), tetapi memanfaatkan sepenuhnya teknologi baru membutuhkan implementasi asli 64-bit.

Informasi Tambahan

Manfaat utama dari alamat 64-bit adalah kemampuan untuk langsung mengakses lebih dari 2 GB memori fisik dan virtual. Ruang alamat memori virtual yang besar memungkinkan penggunaan ekstensif I/O yang dipetakan memori tanpa kekhawatiran untuk masalah kelelahan ruang alamat VM yang lazim dalam pemrograman 32-bit. Game dapat memanfaatkan ruang baru untuk sangat meningkatkan waktu pemuatan atau, dalam beberapa kasus, untuk menghilangkan jeda untuk memuat konten.

Aplikasi 32-bit yang ada dapat memperoleh manfaat dari edisi x64 dengan memiliki kemampuan untuk memproses alamat dengan data 32-bit penuh saat dibangun dengan opsi tautan Aktifkan Alamat Besar (/LARGEADDRESSAWARE). Pada Windows XP versi 32-bit, mode boot khusus memungkinkan aplikasi tersebut untuk mengatasi RAM hingga 3 GB, dan edisi x64 menyediakan akses hingga 4 GB RAM untuk aplikasi Large Address Aware (LAA). Meskipun penggunaan LAA dalam aplikasi 32-bit tidak memenuhi persyaratan showcase ini, teknologi bridge ini adalah cara yang sangat berguna untuk memberikan manfaat penskalaan tambahan pada Windows versi x64 bagi mereka yang tidak sepenuhnya menerapkan persyaratan showcase ini.

Untuk informasi selengkapnya, lihat pemrograman 64-bit untuk Pengembang Game dan RAM, VRAM, dan LEBIH BANYAK RAM: Game 64-Bit Ada di situs web Pengembang Game.

Catatan

Tantangan utama untuk showcase ini adalah memastikan pustaka atau komponen pihak ketiga yang diandalkan game Anda tersedia untuk pengembangan asli 64-bit. Banyak API Microsoft warisan juga telah dihilangkan dari lingkungan asli 64-bit, yang dapat membuktikan tantangan untuk basis kode mesin yang berisi implementasi sistem kunci yang lebih lama.

S.3 Mengeksploitasi Prosesor Banyak Inti

Persyaratan

Gim ini mengimplementasikan fitur yang memanfaatkan prosesor multicore, penskalaan ke 3, 4, atau lebih inti, jika tersedia.

Jika game mendukung sistem prosesor tunggal atau dual-core, perbandingan berdampingan dengan sistem quad-core harus menunjukkan fitur baru yang terlihat, efek menarik tambahan, peningkatan kualitas konten, dan/atau peningkatan performa.

Karena penskalaan dual-core sudah banyak didukung oleh game, serta secara otomatis digunakan oleh berbagai peningkatan driver Direct3D, penskalaan inti ganda tidak cukup untuk menunjukkan showcase ini.

Alasan

Pertumbuhan performa yang berkelanjutan untuk CPU telah beralih dari peningkatan laju jam ke penambahan inti komputasi. Peta jalan AMD dan Intel didasarkan pada desain multicore yang dapat diskalakan. Semua platform game generasi berikutnya memiliki CPU multikore karena pergeseran mendasar ini dalam evolusi prosesor. Aplikasi utas tunggal tidak lagi akan melihat keuntungan signifikan dari CPU generasi berikutnya. Multithreading sederhana juga akan gagal diskalakan karena jumlah inti CPU yang umum digunakan tumbuh menjadi tiga atau lebih.

Informasi Tambahan

Perhatikan bahwa jumlah inti tidak perlu menjadi kekuatan dua, sehingga game harus menskalakan secara linier dan menangani jumlah inti 3, 4, 5, 6, 7, 8, dan sebagainya.

Penskalaan dengan meningkatkan jumlah utas dalam aplikasi hanya memberikan pengembalian jika biaya komunikasi dan sinkronisasi utas tetap dicek. Penskalaan berbasis fitur dapat membuktikan solusi yang lebih mudah dalam jangka pendek, memungkinkan permainan beroperasi secara normal tanpa utas tambahan pada sistem inti tunggal dan memungkinkannya ketika daya CPU tambahan tersedia.

Untuk informasi selengkapnya, lihat Pengodean Untuk Beberapa Core di Xbox 360 dan Microsoft Windows dan Pertimbangan Pemrograman Tanpa Kunci untuk Xbox 360 dan Microsoft Windows di artikel DirectX, serta utilitas DXUTLockFreePipe dan sampel CoreDetection.

Memanfaatkan pembuatan sumber daya alur bebas Direct3D 11 dan konteks perangkat berguna dalam mencapai skalabilitas banyak inti dalam merender dan memuat sumber daya grafis. Lihat Game untuk Windows Showcase S.1.

Perhatikan bahwa menggunakan instruksi CPU rdtsc secara langsung, alih-alih menggunakan API Windows untuk menghitung waktu pada sistem multicore, dapat menyebabkan masalah pada beberapa konfigurasi perangkat keras dan OS; lihat Pengaturan Waktu Game dan Prosesor Multicore di artikel DirectX.

S.4 Game Dukungan untuk Windows - LIVE

Game untuk Windows - LIVE tidak lagi didukung oleh Microsoft.

S.5 Mendukung Windows Touch

Persyaratan

Permainan berkemampu sentuhan Windows dapat dimainkan menggunakan sentuhan dan/atau gerakan pada komputer yang menjalankan Windows 7 dengan layar sentuh. Input keyboard juga dapat digunakan, tetapi antarmuka pemutaran utama harus berbasis sentuhan.

Mengaktifkan sentuhan tidak boleh mencegah penggunaan mouse atau pengontrol umum, tunduk pada Persyaratan Teknis 1.4.

Alat penginstal permainan tidak diharapkan mendukung fungsionalitas Windows Touch.

Alasan

Layar berkemampuan multi-sentuhan untuk komputer tersedia untuk laptop dan desktop, dan mewakili fitur perangkat keras utama yang dipromosikan dengan rilis Windows 7. Windows 7 mendukung Windows Touch di seluruh desktop dan antarmuka kontrol umum.

Informasi Tambahan

Aplikasi kode asli dapat mengakses multi-sentuhan melalui pesan WM_TOUCH, dalam kombinasi dengan fungsi RegisterTouchWindow. Lihat juga Manipulasi dan API Inertia.

Windows Presentation Foundation (WPF) 4.0 menyediakan solusi terkelola untuk antarmuka multi-sentuh.

Untuk informasi selengkapnya, lihat Windows Touch SDK.

S.6 Mendukung Warna Tinggi

Persyaratan

Game yang mendukung Warna Tinggi menggunakan format 10:10:10:2 (DXGI_FORMAT_R10G10B10A2, D3DFMT_A2B10G10R10) atau format 16:16:16:16 (DXGI_FORMAT_R16G16B16A16, D3DFMT_A16B16G16R16) untuk mode tampilan penyajian belakang dan layar penuh.

Dengan menggunakan target render Warna Tinggi, konten Rentang Dinamis Tinggi (HDR) dapat dirender dengan gamut yang diperluas atau lebar saat melakukan pemetaan nada ke rentang 10-bit atau 16-bit.

Alasan

Monitor telah mampu menampilkan lebih dari 256 tingkat warna per saluran selama bertahun-tahun, bahkan ketika tampilan CRT lazim. Pemindaian perangkat keras pada kartu video telah menjadi faktor pembatas. GPU modern, termasuk sebagian besar perangkat keras kelas Direct3D 9 dan semua perangkat keras direct3D 10 dan perangkat keras yang lebih baik, memiliki perangkat keras pemindaian yang mampu setidaknya 10-bit per saluran, dan kemampuan perangkat keras diatur untuk tumbuh menjadi 16-bit per saluran warna di masa depan. Sistem interkoneksi HD TV (HDMI, DisplayPort) telah dirancang untuk menangani lebih dari 8-bit per saluran juga, dan VGA analog sudah akan membawa sinyal tersebut.

Informasi Tambahan

Perhatikan bahwa Warna Tinggi, atau Warna Hi, secara historis mengacu pada perpindahan dari tampilan warna 256 (8-bit) ke tampilan warna 15 atau 16-bit. Sebagian besar sistem tampilan telah lama berpindah ke True Color yang berwarna 24-bit, atau 8-bit per saluran warna untuk merah, hijau, dan biru. Dengan Warna Tinggi di sini, kami berarti generasi baru menampilkan sistem yang dapat beroperasi dengan lebih dari 8-bit per saluran warna individu. ini juga disebut sebagai Warna Dalam.

Pendahuluan

Selain memenuhi Persyaratan Teknis dan mengadopsi satu atau beberapa Showcase dalam judul Anda, ada sejumlah praktik terbaik yang harus diikuti untuk semua game Windows. Meskipun rekomendasi ini berada di luar cakupan Persyaratan Teknis inti, Anda sangat dianjurkan untuk menggunakannya untuk semua Game untuk judul Windows.

Rekomendasi tambahan

  • Gunakan pengkompilasi dan runtime Visual Studio terbaru. Versi pengkompilasi yang lebih baru menerapkan peningkatan signifikan untuk kualitas kode yang dihasilkan dan untuk masalah keamanan, dan mereka menggunakan strategi pengoptimalan prosesor modern. Memperbarui pengkompilasi dan menggunakan C Runtime terbaru adalah cara mudah untuk bermigrasi ke praktik pengodean modern.
  • Gunakan versi pustaka tautan dinamis (DLL) dari Runtime C, bukan penautan statis, dan gunakan Secure CRT. (Pengecualian dapat dibuat dalam kasus pra-instalasi khusus, seperti untuk program Autorun atau untuk alat penginstal itu sendiri).
  • Untuk audio game, gunakan XAudio2, X3DAudio, dan/atau XACT, bukan DirectSound. Untuk mesin audio yang melakukan semua pencampuran dan konversi laju sumber dan hanya memerlukan solusi latensi rendah untuk output audio, gunakan DirectSound pada Windows XP (hanya) dan WASAPI di Windows Vista dan Windows 7.
  • Hindari menggunakan API warisan dan tidak digunakan lagi: DirectDraw, DirectSound, DirectPlay, lapisan performa DirectMusic, Suara DirectPlay, dan Mode Yang Dipertahankan Direct3D. Perhatikan bahwa Suara DirectPlay dan Mode Yang Dipertahankan Direct3D tidak tersedia sama sekali di Windows Vista atau Windows 7. Lapisan performa DirectPlay dan DirectMusic tidak tersedia untuk aplikasi asli x64.
  • Optimalkan menggunakan set instruksi SIMD SSE/SSE2. Lihat DIRECTXMath API di Windows SDK sebagai solusi lintas platform untuk operasi matematika yang dioptimalkan SIMD.
  • Gunakan praktik terbaik modern untuk keamanan Windows (termasuk opsi pengkompilasi dan linker seperti /NXCOMPAT, /GS, /SAFESEH, /DYNAMICBASE, /SDL, dan sebagainya). Untuk informasi selengkapnya, lihat Praktik Keamanan Terbaik dalam Pengembangan Game.
  • Gunakan komponen dan pustaka Windows SDK terbaru. Hapus dependensi pada komponen out-of-band yang disebarkan DirectSetup warisan seperti D3DX9, D3DX10, dan D3DX11. Pertimbangkan untuk menggunakan DirectXTex atau DirectXTK atau keduanya.
  • Hindari menggunakan kompilator HLSL yang lebih lama, dan sebagai gantinya, gunakan pengkompilasi HLSL modern. Jika dukungan untuk Pixel Shader 1.x diperlukan oleh aplikasi Anda, gunakan perakitan shader daripada HLSL, atau batasi penggunaan pengkompilasi yang lebih lama hanya untuk skenario tersebut.

Sumber daya

Persyaratan Deskripsi
Game untuk Windows: Kasus Pengujian
Praktik Terbaik untuk Permainan di Windows XP, Windows Vista, dan Windows 7
Windows SDK
Windows SDK
Panduan Kontrol Akun Pengguna
Persyaratan Pengembangan Aplikasi Windows Vista untuk Kompatibilitas Kontrol Akun Pengguna
Portal Pengembang DirectX
Pusat Pengembang Directx
Game untuk Blog Windows dan DirectX SDK
Game untuk Windows dan DirectX SDK
Artikel DirectX Tambahan
Artikel Teknis DirectX