Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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ı |