Aracılığıyla paylaş


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 Mağazası'nda 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'ta oyun geliştirmeye yeni başladıysanız başlangıç yapmak istediğiniz yer Başlarken 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. Windows oyununuzu geliştirmeye başladığınızda bilmeniz gereken kaynakların bir toparlanma işlemi aşağıdadır.

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ştirme için ana belge portallarını burada bulabilirsiniz.

Windows Dev Center ana portalı Windows Geliştirici Merkezi
Windows uygulamaları geliştirme Windows uygulamaları geliştirme
Evrensel Windows Platformu uygulaması geliştirme Evrensel Windows Platformu 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 kullanarak oyunlarınızı geliştirin ve ölçeklendirin
Azure PlayFab Canlı oyunlar için eksiksiz arka uç çözümü
Mixer Interactive belgeleri Oyununuza etkileşim ekleme

İş Ortağı Merkezi

İş Ortağı Merkezi geliştirici olarak kaydolmak, 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 ayrıca 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şiklikler ve eklemeler ile ilgili bildirim alabilirsiniz.

Evrensel Windows Platformu ö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 Evrensel Windows Platformu uygulamaları 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 iş ortağı 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 Oluşturma
Windows 10 (blog gönderileri) Windows 10 'da Gönderileri
Visual Studio mühendislik ekibi blogu Visual Studio Blog
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 DirectX 12 oyunları için performans ayarlama ve hata ayıklama
Evrensel Windows Uygulama Dağıtımı ekip 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 oyunlarında 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'da daha zengin sahneler, daha fazla nesne, daha karmaşık efektler ve modern GPU donanımlarının tam kullanımına olanak tanır.

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 olan denenmiş ve gerçek bir masaüstü Windows API geliştiricisiyseniz, Windows oyununuz için bu seçeneğe sahip olmaya devam edersiniz.

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. Ui 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, Evrensel Windows Platformu'na erişim 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'taki 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 Çalışma Zamanı bileşenlerini kullanma

Evrensel Windows Platformu ile farklı dillerde yazılmış bileşenleri birleştirmek kolaydır. C++, C# veya Visual Basic'te Windows Çalışma Zamanı bileşenleri oluşturun ve bunları JavaScript, C#, C++ veya Visual Basic'ten ç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 Çalışma Zamanı bileşenlerini nasıl oluşturacağınız C++/WinRT ile Windows Çalışma Zamanı bileşenlerini

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'da daha zengin sahneler, daha fazla nesne, daha karmaşık efektler ve modern GPU donanımlarının tam kullanımına olanak tanır. 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. 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 kod deposu Android, iOS, Windows, Unity ve Unreal gibi çeşitli platformlar için betikleri ve SDK'ları edinin.
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 Kılavuzu / 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şlarken 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 bütünleme başvurularında sorun giderme Unity ve UWP'de eksik .NET API'leri
Unity oyununuzu Evrensel Windows Platformu uygulaması olarak yayımlama (video) Unity oyununuzu UWP uygulaması olarak yayımlama
Windows oyunları ve uygulamaları yapmak için Unity kullanma (video) Unity ile Windows oyunları ve uygulamaları yapma
Visual Studio kullanarak unity oyun geliştirme (video serisi) Visual Studio 2015 ile Unity Kullanma

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 UWP'yi resmi olarak 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ış Gerçek Dışı Altyapı

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 Evrensel Windows Platformu uygulamasıdır, bu nedenle burada başlayacaksınız.

Evrensel Windows Platformu'na (UWP) giriş

Evrensel Windows Platformu (UWP), Windows cihazları arasında 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 cihazlarına 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'ten bazı klasik Windows API'leri dahil) çağırabilir.

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

Evrensel Windows Platformu uygulamalarına giriş Evrensel Windows Platformu uygulaması nedir?

UWP geliştirmeyi kullanmaya başlama

Evrensel Windows Platformu uygulamasını 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ını kullanmaya 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 seçme), mutlak yeni başlayanlar için Windows 10 geliştirmesi 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ı

Evrensel Windows Platformu uygulaması geliştirmeye genel bakış Windows uygulamaları geliştirme
UWP'de ağ programlamaya genel bakış Ağ ve web hizmetleri
Oyunlarda Windows.Web.HTTP ve Windows.Networking.Sockets 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 Çalışma Zamanı API'leri UWP uygulamaları için, Win32 ve COM API'leri
UWP'de desteklenmeyen CRT işlevleri Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri
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ü, Evrensel Windows Platformu 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ü
Microsoft Visual Studio'yu kullanarak uygulama geçişlerini tetikleme Visual Studio'da UWP uygulamaları için askıya alma, sürdürme ve arka plan olaylarını tetikleme

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 'da Rengi

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'ta 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 sorunu) 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 Bildirimleri ö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'ta Oyun Modu'nun avantajlarından yararlanabilirsiniz.

Windows Performans Araç Seti (WPT), Windows işletim sistemlerinin ve uygulamalarını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 Performans Araç Seti, Windows SDK ve Windows ADK'ye dahildir. Bu araç seti iki bağımsız araçdan oluşur: Windows Performans Kaydedicisi (WPR) ve Windows Performans Çözümleyicisi (WPA). Windows Sysinternalsparçası olan ProcDump, CPU ani 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 Performans Araç Seti'ni (WPT) alma Windows Performans Araç Seti
Windows ADK'den Windows Performans Araç Seti (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'da DirectX 12 için performans ayarlama ve hata ayıklama aracı Windows'da PIX'e Giriş
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ünlerinde yerleşik olarak bulunan 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ımlama
İş Ortağı Merkezi hesabınıza kullanıcı eklemek için Azure Active Directory 'yi (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 Uygulama 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 Application Insights

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 bir SDK ekleyerek çalışır ve Azure portalınatelemetri gönderir.

Uygulama performansı ve kullanım analizi Application Insights'a genel bakış
Azure Monitor Azure Monitör'e 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 için Vungle SDK'sını indirin

İç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 Xbox Live varlığı, Puan Tabloları, Cloud Saves, Game Hubs, Kulüpler, Parti Sohbeti, Oyun DVR ve daha fazlası dahil olmak üzere oyun kitlelerini organik olarak büyütebilen Xbox Live özelliklerine erişim elde eder.

Not

Xbox Live özellikli başlıklar geliştirmek istiyorsanız kullanabileceğiniz çeşitli seçenekler vardır. Çeşitli programlar hakkında bilgi için bkz. Xbox Live geliştirici programı seçme.

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'ı kullanmaya başlama
Örnekler Xbox oyun geliştirme örnekleri

Ek kaynaklar

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