Windows oyun geliştirme kılavuzu

Windows oyun geliştirme kılavuzuna hoş geldiniz!

Not

UWP çerçevesini temel alan bir oyun geliştirmeye zaman vermeden önce UWP'nin artık etkin geliştirme aşamasında olmadığını lütfen unutmayın. Ayrıca, UWP tabanlı oyunlar artık Xbox Store'da kabul edilmiyor.

Bu kılavuz, Evrensel Windows Platformu (UWP) oyunu geliştirmek için ihtiyaç duyacağınız kaynakların ve bilgilerin uçtan uca bir koleksiyonunu sağlar. Bu kılavuzun İngilizce (ABD) sürümü PDF biçiminde sağlanır.

Evrensel Windows Platformu (UWP) için oyun geliştirmeye giriş

Bu kılavuz, oyununuzu geliştirirken size yardımcı olacak uçtan uca bilgi ve kaynak koleksiyonu sağlar. Bölümler oyun geliştirme aşamalarına göre düzenlenmiştir, böylece ihtiyaç duyduğunuzda bilgileri nerede arayabileceğinizi bilirsiniz.

Windows'da oyun geliştirmeye yeni başladıysanız başlangıç olarak Getting started kılavuzu olabilir. Oyun geliştirme kaynakları bölümü ayrıca, bir oyun oluştururken yararlı olan belgeler, programlar ve diğer kaynakların üst düzey bir anketini sağlar. Bunun yerine bazı UWP kodlarına bakarak başlamak istiyorsanız bkz. oyun örnekleri.

Oyun geliştirme kaynakları

Belgelerden geliştirici programlarına, forumlara, bloglara ve örneklere kadar oyun geliştirme yolculuğunuzda size yardımcı olacak birçok kaynak vardır. İşte, Windows oyununuzu geliştirmeye başladığınızda bilmeniz gereken kaynakların bir kısmı.

Not

Bazı özellikler çeşitli programlar aracılığıyla yönetilir. Bu kılavuz çok çeşitli kaynakları kapsar, bu nedenle bulunduğunuz programa veya belirli geliştirme rolünüze bağlı olarak bazı kaynaklara erişilemez olduğunu fark edebilirsiniz. Microsoft ile iş ortaklığı hakkında bilgi için bkz. Geliştirici programları.

Oyun geliştirme belgeleri

Bu kılavuz boyunca görev, teknoloji ve oyun geliştirme aşamasına göre düzenlenmiş ilgili belgelerin ayrıntılı bağlantılarını bulacaksınız. Sunulan özelliklerin geniş bir görünümünü sunmak için, Windows oyun geliştirmeye yönelik ana belge portallarını burada bulabilirsiniz.

Windows Geliştirme Merkezi ana portalı Windows Geliştirme Merkezi
Windows uygulamaları geliştirme Geldir Windows uygulamaları
Universal Windows Platform için uygulama geliştirme Universal Windows Platform belgeleri
UWP oyunları için nasıl yapılır rehberleri Oyunları ve DirectX
DirectX referanslar ve genel bilgiler DirectX Grafik ve Oyun
Oyun için Azure Azure
Azure PlayFab Canlı oyunlar için eksiksiz arka uç çözümü
Mixer Interactive belgeleri Oyununuza etkileşim ekleme

İş Ortağı Merkezi

İş Ortağı Merkezi'nde geliştirici olarak kaydetme Windows oyununuzu yayımlamanın ilk adımıdır. Geliştirici hesabı, oyununuzun adını ayırmanıza ve tüm Windows cihazlar için Microsoft Store'a ücretsiz veya ücretli oyunlar göndermenize olanak tanır. Oyununuzu ve oyun içi ürünlerinizi yönetmek, ayrıntılı analizler almak ve dünyanın dört bir yanındaki oyuncularınız için harika deneyimler oluşturan hizmetleri etkinleştirmek için geliştirici hesabınızı kullanın.

Microsoft, Windows oyunları geliştirmenize ve yayımlamanıza yardımcı olacak çeşitli geliştirici programları da sunar. İş Ortağı Merkezi hesabına kaydolmadan önce sizin için uygun olup olmadığını görmenizi öneririz. Daha fazla bilgi için Geliştirici programlarına gidin

Geliştirici programları

Microsoft Store'da bir oyun yayımlamak için İş Ortağı Merkezi'nde bir geliştirici hesabı da oluşturmanız gerekir.

Oyun örnekleri

Windows oyun özelliklerini anlamanıza ve oyun geliştirmeye hızlı bir başlangıç yapmaya yardımcı olmak için kullanabileceğiniz birçok Windows oyun ve uygulama örneği vardır. Örnekler düzenli olarak geliştirilip yayımlandığından, yeni özellikleri görmek için zaman zaman örnek portallara tekrar bakmayı unutmayın. Ayrıca GitHub depolarını izleyerek değişikliklerden ve eklemelerden haberdar olabilirsiniz.

Universal Windows Platform örnek uygulamaları Windows-universal-samples
Direct3D 12 grafik örnekleri DirectX-Graphics-Samples
Direct3D 11 grafik örnekleri directx-sdk-samples
Direct3D 11 birinci şahıs oyun örneği DirectX ile basit bir UWP oyunu oluşturma
Direct2D özel görüntü efektleri örneği D2DCustomEffects
Direct2D gradyan ağ örneği D2DGradientMesh
Direct2D fotoğraf ayarlama örneği D2DPhotoAdjustment
Windows oyun örnekleri (MSDN Kod Galerisi) Microsoft Store oyun örneklerini
JavaScript 2D oyun örneği JavaScript'te UWP oyunu oluşturma
JavaScript 3D oyun örneği three.js kullanarak 3B JavaScript oyunu oluşturma

Geliştirici forumları

Geliştirici forumları, oyun geliştirme sorularını sormak ve yanıtlamak ve oyun geliştirme topluluğuyla bağlantı kurmak için harika bir yerdir. Forumlar, geliştiricilerin geçmişte karşılaştığı ve çözdüğü zor sorunların mevcut yanıtlarını bulmak için harika kaynaklar da olabilir.

Uygulama ve oyun geliştirici forumları yayımlama Yayımlama ve uygulama içi reklamlar
UWP uygulamaları geliştirici forumu Universal Windows Platform uygulamalarını geliştirme
Masaüstü uygulamaları geliştirici forumları Windows masaüstü uygulamaları forumları
DirectX Microsoft Store oyunları (arşivlenmiş forum gönderileri) DirectX (arşivlenmiş) ile Microsoft Store oyunları oluşturma
Windows 10 yönetilen partner geliştirici forumları XBOX Geliştirici Forumları: Windows 10
PlayFab forumları PlayFab forumları

Geliştirici blogları

Geliştirici blogları, oyun geliştirme hakkında en son bilgiler için harika bir kaynaktır. Yeni özellikler, uygulama ayrıntıları, en iyi yöntemler, mimari arka planı ve daha fazlası hakkında gönderiler bulabilirsiniz.

Windows için uygulama oluşturma (blog) Windows için Uygulama Geliştirme
Windows 10 (blog gönderileri) Windows 10'daki gönderiler
Visual Studio mühendislik ekibi blogu Visual Studio Blogu
Visual Studio geliştirici araçları blogları Geliştirici Araçları Blogları
Somasegar'ın geliştirici araçları blogu Somasegar'ın blogu
DirectX geliştirici blogu DirectX Geliştirici blogu
DirectX 12'ye giriş (blog gönderisi) DirectX 12
Visual C++ araçları ekip blogu Visual C++ takım blogu
PIX ekip blogu Windows ve Xbox
Evrensel Windows App Dağıtım ekibi blogu UWP uygulamaları oluşturma ve dağıtma ekip blogu

Kavram ve planlama

Kavram ve planlama aşamasında, oyununuzun nasıl olacağını ve onu hayata geçirmek için kullanacağınız teknolojilere ve araçlara karar verirsiniz.

Oyun geliştirme teknolojilerine genel bakış

UWP için bir oyun geliştirmeye başladığınızda grafikler, giriş, ses, ağ, yardımcı programlar ve kitaplıklar için birden fazla seçeneğiniz vardır.

Oyununuzda kullanacağın tüm teknolojilere zaten karar verdiyseniz, hazırsınız demektir. Aksi takdirde, UWP uygulamaları için Oyun teknolojileri kılavuzu, mevcut teknolojilerin çoğuna mükemmel bir genel bakıştır ve seçenekleri ve bunların birbirine nasıl uydıklarını anlamanıza yardımcı olmak için okumanız kesinlikle önerilir.

UWP oyun teknolojileri anketi UWP uygulamaları için Oyun teknolojileri

Oyun planlama

Bunlar, oyununuzu planlarken göz önünde bulundurmanız gereken bazı üst düzey kavram ve planlama konularıdır.

Oyununuzu erişilebilir hale getirme Oyunlar için erişilebilirliği
Bulut kullanarak oyun oluşturma Oyunlar için Bulut
Oyununuzdan para kazanma Oyunlar için Para Kazanma

Grafik teknolojinizi ve programlama dilinizi seçme

Windows oyunlarda kullanılabilen çeşitli programlama dilleri ve grafik teknolojileri vardır. Izlediğiniz yol, geliştirdiğiniz oyunun türüne, geliştirme stüdyonuzun deneyimine ve tercihlerine ve oyununuzun belirli özellik gereksinimlerine bağlıdır. C#, C++ veya JavaScript kullanacak mısınız? DirectX, XAML veya HTML5 mi?

DirectX

Microsoft DirectX, en yüksek performanslı 2B ve 3B grafikler ve multimedya için seçimdir.

DirectX 12, önceki sürümlerden daha hızlı ve daha verimlidir. Direct3D 12, Windows bilgisayarlarda ve Xbox One daha zengin sahneler, daha fazla nesne, daha karmaşık efektler ve modern GPU donanımlarının tam kullanımını sağlar.

Direct3D 11'in tanıdık grafik işlem hattını kullanmak istiyorsanız Direct3D 11.3'e eklenen yeni işleme ve iyileştirme özelliklerinden yararlanmaya devam edersiniz. Ayrıca, kökleri Win32'ye dayanan, kendini kanıtlamış bir Windows masaüstü API geliştiricisiyseniz, Windows oyununuz için bu seçeneği kullanmaya devam edebilirsiniz.

DirectX'in kapsamlı özellikleri ve derin platform tümleştirmesi, en zorlu oyunların ihtiyaç duyduğu gücü ve performansı sağlar.

UWP geliştirme için DirectX DirectX programlama
Kılavuz: UWP DirectX oyunu nasıl oluşturulur? DirectX ile basit bir UWP oyunu oluşturma
DirectX'e genel bakışlar ve başvuru DirectX Grafik ve Oyun
Direct3D 12 programlama kılavuzu ve referans Direct3D 12 Grafikleri
Grafik ve DirectX 12 geliştirme videoları (YouTube kanalı) Microsoft DirectX 12 ve Grafik Eğitimi

XAML

XAML, animasyonlar, görsel taslaklar, veri bağlama, ölçeklenebilir vektör tabanlı grafikler, dinamik yeniden boyutlandırma ve sahne grafikleri gibi kullanışlı özelliklere sahip kullanımı kolay bildirim temelli bir kullanıcı arabirimi dilidir. XAML, oyun kullanıcı arabirimi, menüler, sprite'ler ve 2B grafikler için harika çalışır. Kullanıcı arabirimi düzenini kolaylaştırmak için XAML, Expression Blend ve Microsoft Visual Studio gibi tasarım ve geliştirme araçlarıyla uyumludur. XAML genellikle C# ile kullanılır, ancak tercih ettiğiniz dil buysa veya oyununuzun yüksek CPU talepleri varsa C++ da iyi bir seçimdir.

XAML platformuna genel bakış XAML platformu
XAML kullanıcı arabirimi ve denetimleri Kontroller, düzenler ve metin

HTML 5

Köprü Metni Biçimlendirme Dili (HTML), web sayfaları, uygulamalar ve zengin istemcilerde kullanılan yaygın bir kullanıcı arabirimi markup dilidir. Windows oyunlar HTML'nin tanıdık özellikleri, Universal Windows Platform erişimi ve AppCache, Web Çalışanları, tuval, sürükleyip bırakma, zaman uyumsuz programlama ve SVG gibi modern web özellikleri için destek sunan tam özellikli bir sunu katmanı olarak HTML5'i kullanabilir. Arka planda, HTML işleme DirectX donanım hızlandırmanın gücünden yararlanır, böylece fazladan kod yazmadan DirectX'in performans avantajlarını elde edebilirsiniz. Web geliştirme, bir web oyunu taşıma konusunda yetkinseniz veya diğer seçeneklere kıyasla daha kolay yaklaşım gösterebilecek dil ve grafik katmanları kullanmak istiyorsanız HTML5 iyi bir seçimdir. HTML5, JavaScript ile kullanılır, ancak C# veya C++/CX ile oluşturulan bileşenlere de çağrı yapabilir.

HTML5 ve Belge Nesne Modeli bilgileri HTML ve DOM başvuru
HTML5 W3C Önerisi HTML5

Sunu teknolojilerini birleştirme

Microsoft DirectX Grafik Altyapısı (DXGI), birden çok grafik teknolojisinde birlikte çalışabilirlik ve uyumluluk sağlar. Yüksek performanslı grafikler için XAML ve DirectX'i birleştirebilirsiniz; menüler ve diğer basit kullanıcı arabirimi için XAML ve karmaşık 2B ve 3B sahneleri işlemek için DirectX kullanma. DXGI ayrıca Direct2D, Direct3D, DirectWrite, DirectCompute ve Microsoft Media Foundation arasında uyumluluk sağlar.

DirectX Grafik Altyapısı programlama kılavuzu ve referansı DXGI
DirectX ve XAML'yi birleştirme DirectX ve XAML birlikte çalışma

C++

C++/WinRT, hız, uyumluluk ve platform erişiminin güçlü birleşimini sağlayan yüksek performanslı, düşük ek yüklü bir dildir. C++/WinRT, DirectX ve Xbox Live dahil olmak üzere Windows'daki tüm harika oyun özelliklerini kullanmayı kolaylaştırır. Ayrıca mevcut C++ kodunu ve kitaplıklarını da yeniden kullanabilirsiniz. C++/WinRT, çöp toplama ek yüküne neden olmayan hızlı, yerel kod oluşturur, böylece oyununuzun performansı ve düşük güç tüketimi daha uzun pil ömrüne yol açabilir. DirectX veya XAML ile C++/WinRT kullanın veya her ikisinin birleşimini kullanan bir oyun oluşturun.

C#

C# ("C sharp" olarak okunur), basit, güçlü, tür açısından güvenli ve nesne odaklı modern, yenilikçi bir dildir. C#, C stili dillerin aşinalığını ve ifadesini korurken hızlı geliştirme sağlar. Kullanımı kolay olsa da C# çok biçimlilik, temsilciler, lambdalar, kapanışlar, yineleyici yöntemler, kovaryans ve Language-Integrated Query (LINQ) ifadeleri gibi çok sayıda gelişmiş dil özelliğine sahiptir. XAML'yi hedeflediyseniz, oyununuzu geliştirmeye hızlı bir başlangıç yapmak istiyorsanız veya önceki C# deneyimine sahipseniz C# mükemmel bir seçimdir. C# öncelikli olarak XAML ile kullanıldığından, DirectX kullanmak istiyorsanız bunun yerine C++ öğesini seçin veya oyununuzun bir bölümünü DirectX ile etkileşim kuran bir C++ bileşeni olarak yazın. Veya Win2D'i göz önünde bulundurun: C# ve C++ için immediate mode Direct2D grafik kitaplığı.

C# programlama kılavuzu ve referansı C# dil referansı

Dilleri birleştirmek için Windows Runtime bileşenleri kullanma

Universal Windows Platform, farklı dillerde yazılmış bileşenleri birleştirmek kolaydır. C++, C# veya Visual Basic'da Windows Runtime bileşenleri oluşturun ve sonra bunları JavaScript, C#, C++ veya Visual Basic'dan çağırın. Bu, oyununuzun bölümlerini istediğiniz dilde programlamak için harika bir yoldur. Bileşenler ayrıca yalnızca belirli bir dilde kullanılabilen dış kitaplıkları kullanmanıza ve önceden yazdığınız eski kodu kullanmanıza olanak sağlar.

Windows Runtime bileşenleri oluşturma C++/WinRT ile Windows Runtime bileşenleri

Oyununuz hangi DirectX sürümünü kullanmalıdır?

Oyununuz için DirectX'i seçerseniz hangi sürümü kullanacağınıza karar vermeniz gerekir: Microsoft Direct3D 12 veya Microsoft Direct3D 11.

DirectX 12, önceki sürümlerden daha hızlı ve daha verimlidir. Direct3D 12, Windows bilgisayarlarda ve Xbox One daha zengin sahneler, daha fazla nesne, daha karmaşık efektler ve modern GPU donanımlarının tam kullanımını sağlar. Direct3D 12 çok düşük bir düzeyde çalıştığından, uzman bir grafik geliştirme ekibine veya deneyimli bir DirectX 11 geliştirme ekibine grafik iyileştirmeyi en üst düzeye çıkarmak için ihtiyaç duydukları tüm denetimi verebilir.

Direct3D 11.3, bilindik Direct3D programlama modelini kullanan ve GPU işlemeyle ilgili karmaşıklığı sizin için daha fazla işleyen düşük düzeyli bir grafik API'sidir. ayrıca Windows ve Xbox One'da da desteklenir. Direct3D 11'de yazılmış bir altyapınız varsa ve Direct3D 12'ye atlamak için hazır değilseniz, bazı performans iyileştirmeleri elde etmek için 12'de Direct3D 11'i kullanabilirsiniz. Sürüm 11.3+, Direct3D 12'de de etkinleştirilen yeni işleme ve iyileştirme özelliklerini içerir.

Direct3D 12 veya Direct3D 11'i seçme Direct3D 12 nedir?
Direct3D 11'e Genel Bakış Direct3D 11 Grafikler
12 üzerinde Direct3D 11'e genel bakış 12 üzerinde Direct3D 11'i

Köprüler, oyun motorları ve ara yazılım

Oyununuzun gereksinimlerine bağlı olarak, köprüleri, oyun motorlarını veya ara yazılımları kullanmak geliştirme ve test süresinden ve kaynaklarından tasarruf edebilir. Köprüler, oyun motorları ve ara yazılım için bazı genel bakış bilgileri ve kaynaklar aşağıdadır.

Azure PlayFab

Artık Microsoft ailesinin bir parçası olan Azure PlayFab, canlı oyunlar için eksiksiz bir arka uç platformu ve bağımsız stüdyoların kullanmaya başlaması için güçlü bir yoldur. Oyun hizmetleri, gerçek zamanlı analiz ve LiveOps ile geliri, katılımı ve elde tutmayı artırın ve maliyetleri düşürün.

PlayFab Araçlara ve hizmetlere genel bakış
Başlangıç PlayFab nedir?
Eğitim videosu serisi PlayFab'ın temel sistemleri hakkında tanıtım videoları serisi
Tarifler Yemek Tarifleri
GitHub deposu Android, iOS, Windows, Unity ve Unreal.
API belgeleri REST API'ye genel bakış
Forumlar PlayFab forumları

Birlik

Unity, güzel ve ilgi çekici 2B, 3D, VR ve AR oyunları ve uygulamaları oluşturmaya yönelik bir platform sunar. Yaratıcı vizyonunuzu hızlı bir şekilde gerçekleştirmenizi sağlar ve içeriğinizi neredeyse tüm medya veya cihazlara sunar.

Unity 5.4 sürümünden itibaren Unity, Direct3D 12 geliştirmesini destekler.

Unity oyun motoru Unity - Oyun Motoru
Unity'i edinin Unity
Windows için Unity belgeleri Unity Manual / Windows
PlayFab kullanarak LiveOps ekleme Hızlı Başlangıç: Unity'da C# için PlayFab İstemci kitaplığı
Mixer Interactive kullanarak oyununuza etkileşim ekleme Başlangıç kılavuzu
Unity için Mixer SDK'sı Mixer Unity eklentisi
Unity için Mixer SDK başvuru belgeleri Mixer Unity eklentisi için API başvurusu
.NET API'leriyle ilgili eksik derleme referanslarını çözme sorunları Eksik .NET API'leri Unity ve UWP'de
Unity oyununuzu Universal Windows Platform uygulaması olarak yayımlama (video) Unity oyununuzu UWP uygulaması olarak yayımlama
Windows oyunlar ve uygulamalar oluşturmak için Unity kullanma (video) Unity ile Windows oyunlar ve uygulamalar oluşturma
Visual Studio kullanarak unity oyun geliştirme (video serisi) Visual Studio 2015

Havok

Havok'un modüler araç ve teknoloji paketi, oyun oluşturucuların yeni etkileşim ve daldırma düzeylerine ulaşmasına yardımcı olur. Havok son derece gerçekçi fizik, etkileşimli simülasyonlar ve çarpıcı sinematik olanak sağlar. Sürüm 2015.1 veya üzeri x86, 64 bit ve Arm üzerinde Visual Studio 2015'te resmi olarak UWP'yi destekler.

Havok web sitesi Havok

Unreal Engine

Unreal Engine, her tür oyun ve geliştirici için eksiksiz bir oyun geliştirme araçları paketidir. En zorlu konsol ve bilgisayar oyunları için, Unreal Engine dünya çapında oyun geliştiricileri tarafından kullanılır.

Unreal Engine'e genel bakış Unreal Engine

BabylonJS

BabylonJS, HTML5, WebGL, WebVR ve Web Audio ile 3B oyunlar oluşturmaya yönelik eksiksiz bir JavaScript çerçevesidir.

BabylonJS BabylonJS
BabylonJS ile platformlar arası bir WebGL oyunu oluşturma Platformlar arası bir oyun geliştirmek için BabylonJS kullanma

Prototip ve tasarım

Oluşturmak istediğiniz oyun türüne ve bunu oluşturmak için kullanacağınız araçlara ve grafik teknolojisine karar verdiniz. Artık tasarım ve prototipi kullanmaya başlamaya hazırsınız. Temel olarak, oyununuz bir Universal Windows Platform uygulamasıdır, bu nedenle burada başlayacaksınız.

Evrensel Windows Platformu'na (UWP) giriş

Evrensel Windows Platformu (UWP), Windows cihazlarda ortak bir API platformu sağlar. UWP'yi hedefleyen oyunlar, tüm cihazlarda ortak olan WinRT API'lerini çağırabilir. UWP garantili API katmanları sağladığından, Windows cihazlara yüklenecek tek bir uygulama paketi oluşturmayı seçebilirsiniz. İsterseniz, oyununuz yine de oyununuzun üzerinde çalıştığı cihazlara özgü API'leri (Win32 ve .NET bazı klasik Windows API'leri dahil) çağırabilir.

Aşağıda, Universal Windows Platform uygulamalarını ayrıntılı olarak ele alan mükemmel kılavuzlar ve platformu anlamanıza yardımcı olmak için okumanız önerilir.

Universal Windows Platform uygulamalarına giriş Universal Windows Platform uygulaması nedir?

UWP geliştirmeyi kullanmaya başlama

Universal Windows Platform uygulaması kurmak ve geliştirmeye hazırlanmak hızlı ve kolaydır. Aşağıdaki kılavuzlar sizi sürecin adım adım içerisinden geçirir.

UWP geliştirmeyi kullanmaya başlama Windows uygulamalarıyla çalışmaya başlama
UWP geliştirme için hazırlık Kurulumu başlat

UWP programlamaya tamamen yeni başladıysanız ve oyununuzda XAML kullanmayı düşünüyorsanız (bkz. Grafik teknolojinizi ve programlama dilinizi öğrenmek), mutlak yeni başlayanlar için Windows 10 geliştirme video serisi başlamak için iyi bir yerdir.

XAML kullanarak Windows 10 mutlak yeni başlayanlar serisini duyurma (blog gönderisi) Yeni başlayanlar için Windows 10 geliştirme

UWP geliştirme kavramları

Universal Windows Platform uygulama geliştirmeye genel bakış Geldir Windows uygulamaları
UWP'de ağ programlamaya genel bakış Ağ ve web hizmetleri
Windows.Web.HTTP ve Windows.Networking.Sockets'i oyunlarda kullanma Oyunlar için Ağ
UWP'de zaman uyumsuz programlama kavramları Asenkron programlama

Windows Masaüstü API'leri ve UWP

Bunlar, masaüstü ve UWP kodu arasında birlikte çalışmanıza yardımcı olan bazı bağlantılardır.

UWP oyun geliştirme için mevcut C++ kodunu kullanma Nasıl yapılır: UWP uygulamasında mevcut C++ kodunu kullanma
Win32 ve COM API'leri için Windows Runtime API'leri UWP uygulamaları için, Win32 ve COM API'leri
UWP'de desteklenmeyen CRT işlevleri CRT işlevleri Universal Windows Platform uygulamalarında desteklenmez
Windows API'leri için alternatifler Evrensel Windows Platformu (UWP) uygulamalarında Windows API'lerine alternatifler

Süreç ömrü yönetimi

İşlem ömrü yönetimi veya uygulama yaşam döngüsü, bir Universal Windows Platform uygulamasının geçirebileceği çeşitli etkinleştirme durumlarını açıklar. Oyununuz etkinleştirilebilir, askıya alınabilir, sürdürülebilir veya sonlandırılabilir ve bu durumlardan çeşitli yollarla geçiş yapabilir.

Uygulama yaşam döngüsü geçişlerini yönetme Uygulama yaşam döngüsü
Uygulama geçişlerini tetikleme amacıyla Microsoft Visual Studio kullanma Visual Studio'da UWP uygulamaları için askıya alma, sürdürme ve arka plan olaylarını nasıl tetikleyebilirsiniz?

Oyun UX'i tasarlama

Harika bir oyunun doğuşu ilham verici bir tasarımdır.

Oyunlar bazı yaygın kullanıcı arabirimi öğelerini ve tasarım ilkelerini uygulamalarla paylaşır; ancak oyunlar genellikle kullanıcı deneyimi için benzersiz bir görünüm, his ve tasarım hedefine sahiptir. Her iki açıdan da düşünceli tasarım uygulandığında oyunlar başarılı olur; oyununuz ne zaman test edilmiş UX kullanmalıdır ve ne zaman ayrışıp yenilik yapmalıdır? Oyununuz için seçtiğiniz sunu teknolojisi (DirectX, XAML, HTML5 veya üçünün bir bileşimi) uygulama ayrıntılarını etkiler, ancak uyguladığınız tasarım ilkeleri bu seçimden büyük ölçüde bağımsızdır.

UX tasarımından ayrı olarak, düzey tasarımı, ilerleme, dünya tasarımı ve diğer yönleri gibi oyun tasarımı, size ve ekibinize ait olan ve bu geliştirme kılavuzunda yer almayan kendi sanat biçimidir.

UWP tasarımıyla ilgili temel bilgiler ve yönergeler UWP uygulamaları tasarlama
Uygulama yaşam döngüsü durumları için tasarlama Başlatma, askıya alma ve sürdürme için UX yönergeleri

Renk kılavuzu ve paleti

Oyununuzda tutarlı bir renk yönergelerini takip etmek estetiği geliştirir, gezinmeye yardımcı olur ve oyuncuyu menü ve HUD işlevselliği hakkında bilgilendirmek için güçlü bir araçtır. Uyarılar, hasarlar, XP ve başarılar gibi oyun öğelerinin tutarlı bir şekilde renklendirilmesi daha temiz bir kullanıcı arabirimine yol açabilir ve açık etiketlere olan ihtiyacı azaltabilir.

Renk kılavuzu Windows 11'de Renk

Tipografi

Tipografinin uygun kullanımı kullanıcı arabirimi düzeni, gezinti, okunabilirlik, atmosfer, marka ve oyuncu daldırma dahil olmak üzere oyununuzun birçok yönünü geliştirir.

Tipografi kılavuzu En İyi Yöntemler: Tipografi

Kullanıcı Arayüzü Haritası

Kullanıcı arabirimi haritası, oyun gezintisi ve akış çizelgesi olarak ifade edilen menülerin düzenidir. Kullanıcı arabirimi haritası, ilgili tüm paydaşların oyunun arabirimini ve gezinti yollarını anlamasına yardımcı olur ve geliştirme döngüsünün başlarında olası engelleri ve çıkmazları ortaya çıkarabilir.

KULLANıCı arabirimi harita kılavuzu En İyi Uygulamalar: Kullanıcı Arayüzü Haritası

Oyun sesi

XAudio2, XAPO ve Windows Sonic kullanarak oyunlarda ses uygulamaya yönelik kılavuzlar ve başvurular aşağıdadır. XAudio2, yüksek performanslı ses motorları geliştirmek için sinyal işleme ve karıştırma temeli sağlayan düşük düzeyli bir ses API'sidir. XAPO API'si, hem Windows hem de Xbox XAudio2'de kullanılmak üzere platformlar arası ses işleme nesnelerinin (XAPO) oluşturulmasına olanak tanır. Windows Sonic ses desteği, Oyun veya akış medya uygulamanıza Dolby Atmos for Home Theater, Dolby Atmos for Headphones ve Windows HRTF desteği eklemenize olanak tanır.

XAudio2 API'leri XAudio2 için Programlama kılavuzu ve API başvurusu
Platformlar arası ses işleme nesneleri oluşturma XAPO'ya Genel Bakış
Ses kavramlarına giriş Oyunlar için ses
Windows Sonic'e genel bakış uzamsal ses

Direct3D 12

Direct3D 12'deki yeni ve farklı özellikler (Direct3D 11 ile karşılaştırıldığında) ve Direct3D 12 kullanarak programlamaya nasıl başlayacağınızı öğrenin.

Direct3D 12 programlama kılavuzu ve referans Direct3D 12 grafik
Programlama ortamını ayarlama Direct3D 12 programlama ortamı kurulumu
Temel bileşen oluşturma Temel bir Direct3D 12 bileşeni oluşturma
Direct3D 12'deki değişiklikler Direct3D 11'den Direct3D 12'ye geçirilen önemli değişiklikler
Direct3D 11'den Direct3D 12'ye taşıma Direct3D 11'den Direct3D 12'ye taşıma
Kaynak bağlama kavramları (tanımlayıcı, tanımlayıcı tablosu, tanımlayıcı yığını ve kök imzayı kapsayan) Direct3D 12'de Kaynak Bağlama
Belleği yönetme Direct3D 12 'de Bellek yönetimi

DirectX geliştirme

DirectX oyun geliştirme kılavuzları ve başvurular.

UWP geliştirme için DirectX DirectX programlama
Kılavuz: UWP DirectX oyunu nasıl oluşturulur? DirectX ile basit bir UWP oyunu oluşturma
UWP uygulama modeliyle DirectX etkileşimi Uygulama nesnesi ve DirectX
DirectX'e genel bakışlar ve başvuru DirectX Grafik ve Oyun
DirectX 12 ile ilgili temel bilgiler (video) Daha İyi Güç, Daha İyi Performans: DirectX 12'de Oyununuz

DirectX Araç Seti ve kitaplıkları

DirectX Araç Seti, DirectX doku işleme kitaplığı, DirectXMesh geometri işleme kitaplığı, UVAtlas kitaplığı ve DirectXMath kitaplığı, DirectX geliştirme için doku, mesh, sprite ve diğer yardımcı işlev ve yardımcı sınıfları sağlar. Bu kitaplıklar, geliştirme süresinden ve çabasından tasarruf etmenize yardımcı olabilir.

DirectX 12 için DirectX Tool Kit'i edinin DirectXTK 12
DirectX 11 için DirectX Tool Kit'i edinin DirectXTK
DirectX doku işleme kitaplığını alma DirectXTex
DirectXMesh geometri işleme kitaplığını alma DirectXMesh
Isochart doku haritası oluşturmak ve paketlemek için UVAtlas alın. UVAtlas
DirectXMath kitaplığını alma DirectXMath
DirectXTK'de Direct3D 12 desteği (GitHub sorun) DirectX 12 için Desteği

İş ortaklarından DirectX kaynakları

Aşağıda, dış iş ortakları tarafından oluşturulan bazı ek DirectX belgeleri yer alır.

Nvidia: DX12 Do's and Don'ts (blog gönderisi) DX12 Yapılması ve Yapılmaması Gerekenler, Güncellendi!
Intel: DirectX 3D 12 ile Paralel İşleme DirectX 3D 12 ile paralel işleme
Intel: DirectX 12 kullanarak belirgin bir çoklu bağdaştırıcı uygulaması geliştirme DirectX 12 'da Çoklu Bağdaştırıcı Desteği
Intel: Intel, Suzhou Snail ve Microsoft tarafından yapılan işbirliğine dayalı teknik inceleme Öğreticisi: Uygulamalarınızı DirectX 12'ye Geçirme – 1. Bölüm

Üretim

Bu aşamada, stüdyonuz tamamen devreye girer ve ekibinizin tamamına dağıtılan çalışmalarla üretim döngüsüne geçer. Prototipi tam bir oyuna dönüştürecek şekilde parlatıyor, yeniden düzenleyiyorsun ve genişletiyorsun.

Bildirimler ve canlı kutucuklar

Kutucuk, oyununuzun Başlat Menüsündeki gösterimidir. Kutucuklar ve bildirimler, şu anda oyununuzu oynamadığında bile oyuncunun ilgisini çekebilir.

Kutucuklar ve rozetlerin geliştirilmesi Kutucuklar, rozetler ve bildirimler
Canlı kutucukları ve bildirimleri gösteren örnek Bildirimler örneği
Uyarlamalı kutucuk şablonları (blog gönderisi) Uyarlamalı Kutucuk Şablonları - Şema ve Belgeler
Kutucuklar ve rozetler tasarlama Kutucuklar ve Rozetler için Yönergeler
Canlı kutucuk şablonlarını etkileşimli olarak geliştirmeye yönelik Windows 10 uygulaması Bildirimler Görselleştiricisi
Visual Studio için UWP Kutucuk Oluşturucu uzantısı Tek görüntü kullanarak gerekli tüm kutucukları oluşturmaya yönelik Aracı
Visual Studio için UWP Kutucuk Oluşturucu uzantısı (blog gönderisi) UWP Kutucuk Oluşturucu aracını kullanma ipuçları

Uygulama içi ürün (eklenti) satın almalarını etkinleştirme

Eklenti (uygulama içi ürün), oyuncuların oyun içi satın alabildiği ek bir öğedir. Eklentiler oyun düzeyleri, öğeler veya oyuncularınızın keyif alabileceği başka herhangi bir şey olabilir. Uygun şekilde kullanılan eklentiler, oyun deneyimini geliştirirken gelir sağlayabilir. oyununuzun eklentilerini İş Ortağı Merkezi aracılığıyla tanımlayıp yayımlar ve oyununuzun kodunda uygulama içi satın almaları etkinleştirirsiniz.

Dayanıklı eklentiler Uygulama içi ürün satın almalarını etkinleştirme
Kullanılabilir eklentiler Kullanılabilir uygulama içi ürün satın almalarını etkinleştirme
Eklenti ayrıntıları ve gönderimi Eklenti gönderimleri
Oyununuz için eklenti satışlarını ve demografik bilgileri izleme Eklenti alımları raporu

Hata ayıklama, performans iyileştirme ve izleme

Performansı iyileştirmek için, mevcut donanımlarının kapasitesini tam olarak kullanarak oyunculara mümkün olan en iyi oyun deneyimini sunmak için Windows Oyun Modu'nun avantajlarından yararlanabilirsiniz.

Windows Performance Toolkit (WPT), Windows işletim sistemleri ve uygulamaların ayrıntılı performans profillerini üreten performans izleme araçlarından oluşur. Bu özellikle bellek kullanımını izlemek ve oyun performansını geliştirmek için kullanışlıdır. Windows Performance Toolkit, Windows SDK'ye ve Windows ADK'ye dahildir. Bu araç seti iki bağımsız araçdan oluşur: Windows Performans Kaydedicisi (WPR) ve Windows Performance Analyzer (WPA). Windows Sysinternals parçası olan ProcDump, CPU artışlarını izleyen ve oyun kilitlenmeleri sırasında döküm dosyaları oluşturan bir komut satırı yardımcı programıdır.

Kodunuzun performans testini yapın Azure Test Planları
Oyun Modu API'lerini kullanarak donanım kaynaklarına özel erişim veya öncelikli erişim elde ederek performansı geliştirme Oyun Modu
Windows Performance Toolkit (WPT)'i Edin Windows Performans Araç Seti
Windows ADK'dan Windows Performance Toolkit (WPT) alma Windows ADK
ProcDump'ı edinin ProcDump

Gelişmiş DirectX teknikleri ve kavramları

DirectX geliştirmesinin bazı bölümleri ince ve karmaşık olabilir. Üretimde DirectX altyapınızın ayrıntılarını incelemeniz veya zor performans sorunlarını ayıklamanız gereken noktaya geldiğinde, bu bölümdeki kaynaklar ve bilgiler yardımcı olabilir.

Windows üzerinde DirectX 12 için performans ayarlama ve hata ayıklama aracı Windows'ta PIX Tanıtımı
Direct3D 12 programlama kılavuzu Direct3D 12 grafik
DirectX ve XAML'yi birleştirme DirectX ve XAML birlikte çalışma

Yüksek dinamik aralık (HDR) içerik geliştirme

HDR'nin tam renk özelliklerini kullanan oyun içeriği oluşturun.

HDR içeriğini işlemeyi ve geçerli ekranın bunu destekleyip desteklemediğini algılamayı öğrenin Direct3D 12 HDR örnek
DirectX kullanarak gelişmiş renk oluşturma ve yapılandırma Direct2D gelişmiş renkli görüntü işleme örneği

Genelleştirme ve yerelleştirme

Windows platformu için dünya çapında kullanıma hazır oyunlar geliştirin ve Microsoft'un en önemli ürünlerine yerleşik uluslararası özellikler hakkında bilgi edinin.

Oyununuzu küresel pazara hazırlama Genelleştirme ve yerelleştirme

Oyununuzu gönderme ve yayımlama

Aşağıdaki kılavuzlar ve bilgiler yayımlama ve gönderme işleminin mümkün olduğunca sorunsuz ilerlemesine yardımcı olur.

Yayımcılık

Oyun paketlerinizi yayımlamak ve yönetmek için İş Ortağı Merkezi kullanacaksınız.

İş Ortağı Merkezi uygulama yayımlama Windows uygulamalarını yayımlayın
İş Ortağı Merkezi hesabınıza kullanıcı eklemek için Azure Active Directory (AAD) kullanma Müşteri grupları oluşturma
Oyununuzu derecelendirme (blog gönderisi) Artık Kullanılabilir: Uygulama gönderimlerini basitleştirmek için tek yaş derecelendirme sistemi

Paketleme ve yükleme

Akış yüklemesini etkinleştirmek için içeriği bölme ve gruplandırma UWP Uygulama Akışı yükleme
DLC oyun içeriği gibi isteğe bağlı paketler oluşturma İsteğe bağlı paketler ve ilgili küme yazma
UWP oyununuzu paketleme Uygulamaları paketleme
UWP DirectX oyununuzu paketleme UWP DirectX oyununuzu paketleme
Oyununuzu üçüncü taraf geliştirici olarak paketleme (blog gönderisi) Yayımcının mağaza hesabı erişimi olmadan karşıya yüklenebilir paketler oluşturma
MakeAppx kullanarak uygulama paketleri ve uygulama paket demetleri oluşturma Uygulama paketleyici aracını kullanarak paket oluşturma MakeAppx.exe
SignTool kullanarak dosyalarınızı dijital olarak imzalama SignTool kullanarak dosyaları imzalama ve dosyalardaki imzaları doğrulama
Oyununuzu karşıya yükleme ve sürüm oluşturma Uygulama paketlerini karşıya yükleme

İlkeler ve sertifikasyon

Sertifikasyon sorunlarının oyununuzun yayınlanmasını geciktirmesine izin vermeyin. İşte dikkat etmeniz gereken ilkeler ve yaygın sertifika sorunları.

Microsoft Store Uygulama Geliştirici Sözleşmesi Uygulama Geliştirici Sözleşmesi
Microsoft Store'da uygulama yayımlama ilkeleri Microsoft Store İlkeleri
Bazı yaygın uygulama sertifikasyon sorunlarını önleme Yaygın sertifika hatalarından kaçınma

Mağaza beyannamesi (StoreManifest.xml)

Mağaza bildirimi (StoreManifest.xml), uygulama paketinize ekleyebileceğiniz isteğe bağlı bir yapılandırma dosyasıdır. Depo bildirimi, AppxManifest.xml dosyasının parçası olmayan ek özellikler sağlar. Örneğin, hedef cihaz belirtilen en düşük DirectX özellik düzeyine veya belirtilen minimum sistem belleğine sahip değilse oyununuzun yüklenmesini engellemek için mağaza bildirimini kullanabilirsiniz.

Bildirim şemasını depolama StoreManifest şeması (Windows 10)

Oyun yaşam döngüsü yönetimi

Geliştirmeyi tamamladıktan ve oyununuzu gönderdikten sonra, oyun bitmiş değildir. Sürüm 1'de geliştirmeyi tamamlayabilirsiniz, ancak oyununuzun marketteki yolculuğu daha yeni başladı. Kullanımı ve hata bildirimini izlemek, kullanıcı geri bildirimlerini yanıtlamak ve güncelleştirmeleri oyununuzda yayımlamak isteyeceksiniz.

İş Ortağı Merkezi analizi ve promosyonu

Partner Merkezi analitikleri Uygulama performansı analiz etme
Müşteri incelemelerine yanıt verme Müşteri incelemelerini yanıtlama
Oyununuzu tanıtmanın yolları Müşterileri çekme ve uygulamalarınızı tanıtma

Visual Studio Uygulama İçgörüleri

Visual Studio Application Insights, yayımlanmış oyununuz için performans, telemetri ve kullanım analizi sağlar. Application Insights, oyununuz yayınlandıktan sonra sorunları tespit etmenize ve çözmenize, kullanımı sürekli izlemenize ve geliştirmenize ve oyuncuların oyununuzla etkileşime nasıl devam ettiğini anlamanıza yardımcı olur. Application Insights, uygulamanıza Azure portalına telemetri gönderen bir SDK ekleyerek çalışır.

Uygulama performansı ve kullanım analizi Application Insights'a genel bakış
Azure Monitor Azure Monitor genel bakış

Analiz ve promosyon için üçüncü taraf çözümleri

GameAnalytics kullanarak oyuncu davranışını anlama GameAnalytics
UWP oyununuzu Google Analytics'e bağlama Google Analytics için Windows SDK'sını edinin
Oyununuzu Facebook kullanıcılarına tanıtmak için Facebook Uygulaması Yüklemeleri Reklamlarını kullanma Facebook için Windows SDK'sını edinin
Oyunlarınıza video reklamları eklemek için Vungle kullanma Windows

İçerik güncelleştirmelerini oluşturma ve yönetme

Yayımlanan oyununuzu güncelleştirmek için daha yüksek sürüm numarasına sahip yeni bir uygulama paketi gönderirsiniz. Paket, gönderim ve sertifikasyon adımlarını tamamladıktan sonra otomatik olarak güncelleştirme olarak müşterilerin kullanımına sunulacaktır.

Oyununuzu güncelleştirme ve sürüm oluşturma Paketi sürüm numaralandırma
Oyun paketi yönetimi kılavuzu Uygulama paketi yönetimi için Kılavuzu

Xbox Live'ı oyununuza ekleme

Xbox Live, dünya çapında milyonlarca oyuncuyu birbirine bağlayan birinci sınıf bir oyun ağıdır. Geliştiriciler, oyun kitlelerini organik olarak büyütebilen Xbox Live iletişim durumu, Lider Tabloları, Bulut Kayıtları, Oyun Merkezleri, Kulüpler, Parti Sohbeti, Oyun DVR ve daha fazlası gibi Xbox Live özelliklerine erişim sağlar.

Not

Xbox Live özellikli oyunlar geliştirmek isterseniz, kullanabileceğiniz çeşitli seçenekler vardır. Çeşitli programlar hakkında bilgi için bkz. Xbox Live geliştirici programı oluşturma.

Xbox Live'a genel bakış Xbox Live belgeleri

Xbox Live Creators Programı'ndaki geliştiriciler için

Genel bakış Yaratıcılar Programı'na Katılma

ID@Xbox programındaki yönetilen iş ortakları ve geliştiriciler için

Genel bakış Yönetilen İş Ortakları için Xbox Live ile çalışmaya başlama
Örnekler Xbox oyun geliştirme örnekleri

Ek kaynaklar

GDC ve //build gibi büyük konferanslardan videolar Oyun geliştirme videoları