Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Üdvözöljük a Windows játékfejlesztési útmutatójában!
Megjegyzés:
Az UWP-keretrendszeren alapuló játék fejlesztése előtt vegye figyelembe, hogy az UWP már nincs aktív fejlesztés alatt. Továbbá az UWP-alapú játékokat már nem fogadjuk el az Xbox Store-ban.
Ez az útmutató az univerzális Windows-platform (UWP) játék fejlesztéséhez szükséges erőforrások és információk átfogó gyűjteményét tartalmazza. Az útmutató angol (AMERIKAI) verziója PDF formátumban érhető el.
Bevezetés az univerzális Windows Platform (UWP) játékfejlesztésbe
Ez az útmutató olyan információk és erőforrások végpontok közötti gyűjteményét nyújtja, amelyek segítenek a játék fejlesztése során. A szakaszok a játékfejlesztés szakaszai szerint vannak rendszerezve, így tudni fogja, hol keresse az információkat, amikor szüksége van rá.
Ha még nem fejleszt játékokat Windows rendszeren, az első lépések útmutatója lehet, hogy itt szeretné elkezdeni. A Játékfejlesztési erőforrások szakasz emellett magas szintű felmérést nyújt a játékok létrehozásakor hasznos dokumentációkról, programokról és egyéb erőforrásokról. Ha inkább egy UWP-kódot szeretne megnézni, tekintse meg a játékmintákat.
Játékfejlesztési erőforrások
A dokumentációtól kezdve a fejlesztői programokig, fórumokig, blogokig és mintákig számos forrás áll rendelkezésre a játékfejlesztéshez. Íme egy olyan erőforrás-kerekítés, amelyről a Windows-játék fejlesztésének megkezdésekor tájékozódhat.
Megjegyzés:
Egyes funkciók kezelése különböző programokon keresztül történik. Ez az útmutató az erőforrások széles körét ismerteti, így előfordulhat, hogy egyes erőforrások nem érhetők el a programtól vagy az adott fejlesztési szerepkörtől függően. A Microsofttal való partneri kapcsolatról további információt a Fejlesztői programok című témakörben talál.
Játékfejlesztési dokumentáció
Ebben az útmutatóban részletes hivatkozásokat talál a releváns dokumentációra – feladat, technológia és a játékfejlesztés fázisa szerint rendezve. A rendelkezésre álló lehetőségek széles körű áttekintéséhez íme a Windows-játékfejlesztés fő dokumentációs portáljai.
| A Windows Dev Center fő portálja | Windows Fejlesztői központ |
| Windows-alkalmazások fejlesztése | Windows-alkalmazások fejlesztése |
| Univerzális Windows Platform alkalmazásfejlesztés | Univerzális Windows Platform dokumentációja |
| Útmutatók UWP-játékokhoz | Játékok és DirectX |
| DirectX-referencia és áttekintések | DirectX-ábrák és játékok |
| Azure játékhoz | Játékok létrehozása és skálázása az Azure-zal |
| Azure PlayFab | Teljes háttérmegoldás élő játékokhoz |
| A Mixer interaktív dokumentációja | Interaktivitás hozzáadása a játékhoz |
Partnerközpont
A Windows-játék közzétételének első lépése, hogy fejlesztőként regisztráljon a Partnerközpontban. A fejlesztői fiók lehetővé teszi, hogy fenntartsa a játék nevét, és ingyenes vagy fizetős játékokat küldjön a Microsoft Store-ba minden Windows-eszközre. A fejlesztői fiókjával kezelheti játékait és játékon belüli termékeit, részletes elemzéseket kaphat, és olyan szolgáltatásokat engedélyezhet, amelyek nagyszerű élményt biztosítanak a játékosok számára világszerte.
A Microsoft számos fejlesztői programot is kínál a Windows-játékok fejlesztéséhez és közzétételéhez. Javasoljuk, hogy mielőtt regisztrál egy Partnerközpont-fiókot, nézze meg, hogy valamelyik megfelelő-e Önnek. További információ: Fejlesztői programok
Fejlesztői programok
Ha közzé szeretne tenni egy játékot a Microsoft Store-ban, létre kell hoznia egy fejlesztői fiókot is a Partnerközpontban .
Játékminták
Számos Windows-játék- és alkalmazásminta áll rendelkezésre a Windows játékfunkcióinak megismeréséhez és a játékfejlesztés gyors megkezdéséhez. A minták fejlesztése és közzététele rendszeresen történik, ezért ne felejtsen el időnként visszalátogatni a mintaportálokra, hogy megismerje az újdonságokat. A GitHub-adattárakat követheti, hogy értesítéseket kapjon a módosításokról és a kiegészítésekről.
| Univerzális Windows Platform-mintaalkalmazások | Univerzális Windows-minták |
| Direct3D 12 grafikus példák | DirectX-Graphics-Samples |
| Direct3D 11 grafikai minták | directx-sdk-samples |
| Direct3D 11 első személyű játékminta | Egyszerű UWP-játék létrehozása a DirectX használatával |
| Direct2D egyéni képeffektusok minta | D2DCustomEffects |
| Direct2D színátmenet-hálóminta | D2DGradientMesh |
| Direct2D fényképbeállítási minta | D2DPhotoAdjustment |
| Windows-játékminták (MSDN-kódgyűjtemény) | Microsoft Store-játékminták |
| JavaScript 2D játékminta | UWP-játék létrehozása JavaScriptben |
| JavaScript 3D-s játékminta | 3D JavaScript-játék létrehozása three.js |
Fejlesztői fórumok
A fejlesztői fórumok nagyszerű lehetőséget biztosítanak a játékfejlesztési kérdések feltevésére és megválaszolására, valamint a játékfejlesztői közösséggel való kapcsolat kialakítására. A fórumok fantasztikus források is lehetnek a fejlesztők által a múltban tapasztalt és megoldott nehéz problémákra adott meglévő válaszok megtalálásához.
| Alkalmazások és játékok fejlesztői fórumainak közzététele | Közzététel és hirdetések az alkalmazásokban |
| UWP-alkalmazások fejlesztői fóruma | Univerzális Windows Platform-alkalmazások fejlesztése |
| Asztali alkalmazások fejlesztői fórumai | Asztali Windows-alkalmazások fórumai |
| DirectX Microsoft Store-játékok (archivált fórumbejegyzések) | Microsoft Store-játékok létrehozása DirectX-lel (archiválva) |
| A Windows 10 által felügyelt partner fejlesztői fórumai | XBOX fejlesztői fórumok: Windows 10 |
| PlayFab-fórumok | PlayFab-fórumok |
Fejlesztői blogok
A fejlesztői blogok kiváló forrásai a legújabb játékról szóló fejlesztési információknak. Az új funkciókról, a megvalósítás részleteiről, az ajánlott eljárásokról, az architektúra hátteréről és egyebekről szóló bejegyzéseket talál.
| Alkalmazások létrehozása Windowshoz (blog) | Alkalmazások létrehozása Windowshoz |
| Windows 10 (blogbejegyzések) | Bejegyzések a Windows 10-ben |
| Visual Studio mérnöki csapat blogja | A Visual Studio blogja |
| Visual Studio fejlesztői eszközök blogjai | Fejlesztői eszközök blogjai |
| Somasegar fejlesztői eszközeinek blogja | Somasegar blogja |
| DirectX fejlesztői blog | DirectX Fejlesztői blog |
| A DirectX 12 bemutatása (blogbejegyzés) | DirectX 12 |
| Visual C++ eszközök csapat blogja | Visual C++ csapat blog |
| PIX csapat blog | Teljesítményhangolás és hibakeresés DirectX 12-játékokhoz Windows és Xbox rendszeren |
| Univerzális Windows-alkalmazástelepítési csapat blogja | UWP-alkalmazások csapatának blogja létrehozása és üzembe helyezése |
Koncepció és tervezés
A koncepció és a tervezés szakaszában eldöntheti, hogy milyen lesz a játék, és azokat a technológiákat és eszközöket, amelyek segítségével életre keltheti.
A játékfejlesztési technológiák áttekintése
Amikor elkezd fejleszteni egy játékot az UWP-hez, több lehetőség áll rendelkezésre a grafikus, bemeneti, hang-, hálózatkezelési, segédprogramok és kódtárak számára.
Ha már eldöntötte a játékban használni kívánt összes technológiát, akkor be van állítva. Ha nem, az UWP-alkalmazások játéktechnológiáinak útmutatója kiváló áttekintést nyújt a rendelkezésre álló technológiákról, és erősen ajánlott elolvasni, hogy segítsen megérteni a lehetőségeket és azok illeszkedésének módját.
| UWP játéktechnológiák felmérése | Játéktechnológiák UWP-alkalmazásokhoz |
Játéktervezés
Ezek néhány magas szintű koncepció és tervezési témák, amelyeket figyelembe kell venni a játék tervezésekor.
| Tedd a játékot akadálymentessé | Akadálymentesség játékokhoz |
| Játékok készítése felhő használatával | Felhő játékokhoz |
| Tedd jövedelmezővé a játékodat | A játékok monetizációja |
A grafikus technológia és a programozási nyelv kiválasztása
A Windows-játékokban számos programozási nyelv és grafikus technológia érhető el. Az elérési út attól függ, hogy milyen típusú játékot fejleszt, milyen élményt és preferenciákat biztosít a fejlesztőstúdiónak, és hogy milyen funkciókra van szüksége a játékhoz. C#, C++ vagy JavaScriptet fog használni? DirectX, XAML vagy HTML5?
DirectX
A Microsoft DirectX a legnagyobb teljesítményű 2D és 3D grafikus és multimédiás megoldás.
A DirectX 12 gyorsabb és hatékonyabb, mint bármely korábbi verzió. A Direct3D 12 gazdagabb jeleneteket, több objektumot, összetettebb effektusokat és a modern GPU-hardverek teljes kihasználását teszi lehetővé Windows PC-n és Xbox One konzolon.
Ha a Direct3D 11 ismert grafikus folyamatát szeretné használni, akkor is élvezheti a Direct3D 11.3-hoz hozzáadott új renderelési és optimalizálási funkciókat. És ha ön egy tapasztalt és bevált asztali Windows API-fejlesztő, aki a Win32-nél kezdte, akkor továbbra is használhatja ezt a lehetőséget a Windows-játékához.
A DirectX kiterjedt funkciói és mélyplatform-integrációja biztosítja a legigényesebb játékokhoz szükséges teljesítményt és teljesítményt.
| DirectX UWP-fejlesztéshez | DirectX-programozás |
| Oktatóanyag: UWP DirectX-játék létrehozása | Egyszerű UWP-játék létrehozása a DirectX használatával |
| A DirectX áttekintései és referenciái | DirectX-ábrák és játékok |
| Direct3D 12 programozási útmutató és referencia | Direct3D 12 grafika |
| Grafikus és DirectX 12 fejlesztői videók (YouTube-csatorna) | Microsoft DirectX 12 és Graphics Education |
XAML
Az XAML egy könnyen használható deklaratív felhasználói felületi nyelv olyan kényelmes funkciókkal, mint az animációk, a storyboardok, az adatkötés, a méretezhető vektoralapú ábrák, a dinamikus átméretezés és a jelenetdiagramok. Az XAML nagyszerűen használható a játék felhasználói felületéhez, menüihez, spriteseihez és 2D-s grafikáihoz. A felhasználói felület elrendezésének megkönnyítése érdekében az XAML kompatibilis az olyan tervezési és fejlesztési eszközökkel, mint a Expression Blend és a Microsoft Visual Studio. Az XAML-t gyakran használják a C#-tal, de a C++ is jó választás, ha ez az előnyben részesített nyelv, vagy ha a játék processzorigénye magas.
| Az XAML platform áttekintése | XAML-platform |
| XAML felhasználói felület és vezérlők | Vezérlők, elrendezések és szöveg |
HTML 5
A HyperText Markup Language (HTML) egy gyakori felhasználói felületi korrektúranyelv, amelyet weblapokhoz, alkalmazásokhoz és gazdag ügyfelekhez használnak. A Windows-játékok a HTML5-öt teljes funkcionalitású bemutatórétegként használhatják a HTML ismerős funkcióival, az univerzális Windows platformhoz való hozzáféréssel, valamint a modern webes funkciók, például az AppCache, a Web Workers, a vászon, a drag-and-drop, az aszinkron programozás és az SVG támogatásával. A színfalak mögött a HTML-renderelés kihasználja a DirectX hardveres gyorsításának előnyeit, így további kód írása nélkül is élvezheti a DirectX teljesítménybeli előnyeit. A HTML5 jó választás, ha jártas a webfejlesztésben, a webjátékok portolásában, vagy olyan nyelvi és grafikus rétegeket szeretne használni, amelyek könnyebben kezelhetők, mint a többi lehetőség. A HTML5 JavaScripttel használható, de C# vagy C++/CX használatával létrehozott összetevőkbe is meghívható.
| HTML5- és dokumentumobjektum-modell adatai | HTML- és DOM-referencia |
| Az HTML5 W3C-javaslat | HTML5 |
Bemutatótechnológiák kombinálása
A Microsoft DirectX Grafikus infrastruktúra (DXGI) több grafikus technológia közötti együttműködést és kompatibilitást biztosít. Nagy teljesítményű ábrák esetén kombinálhatja az XAML-t és a DirectX-et; XAML használata menükhöz és más egyszerű felhasználói felülethez, valamint DirectX az összetett 2D és 3D jelenetek megjelenítéséhez. A DXGI kompatibilitást biztosít a Direct2D, a Direct3D, a DirectWrite, a DirectCompute és a Microsoft Media Foundation között is.
| DirectX Grafikus infrastruktúra programozási útmutató és referencia | DXGI |
| A DirectX és az XAML kombinálása | DirectX és XAML interoperabilitás |
C++
A C++/WinRT egy nagy teljesítményű, alacsony terhelésű nyelv, amely a sebesség, a kompatibilitás és a platformhozzáférés hatékony kombinációját biztosítja. A C++/WinRT segítségével egyszerűen használhatja a Windows összes nagyszerű játékfunkcióját, beleértve a DirectX-et és az Xbox Live-t is. A meglévő C++ kódokat és kódtárakat is felhasználhatja. A C++/WinRT gyors, natív kódot hoz létre, amely nem jár a szemétgyűjtés többletterhelésével, így a játék nagy teljesítményt és alacsony energiafogyasztást biztosít, ami hosszabb akkumulátor-üzemidőt eredményez. A C++/WinRT használata DirectX vagy XAML használatával, vagy olyan játék létrehozása, amely mindkettő kombinációját használja.
C#
A C# (ejtsd: "C sharp") egy modern, innovatív nyelv, amely egyszerű, hatékony, típusbiztos és objektumorientált. A C# lehetővé teszi a gyors fejlődést, miközben megőrzi a C stílusú nyelvek ismereteit és kifejezőképességét. Bár könnyen használható, a C# számos speciális nyelvi funkcióval rendelkezik, mint például a polimorfizmus, a delegálások, a lambdák, a lezárások, az iterátor módszerek, a kovariancia és a Language-Integrated Query (LINQ) kifejezések. A C# kiváló választás, ha XAML-t céloz meg, szeretne gyorsan elkezdeni a játék fejlesztését, vagy korábbi C# tapasztalattal rendelkezik. A C#-ot elsősorban az XAML-hez használják, ezért ha DirectX-et szeretne használni, válassza inkább a C++ lehetőséget, vagy írjon a játék egy részét olyan C++ összetevőként, amely a DirectX-et használja. Vagy fontolja meg a Win2D-t: közvetlen módú Direct2D grafikus kódtár C# és C++ számára.
| C# programozási útmutató és referencia | C# nyelvi referencia |
Nyelvek egyesítése a Windows futtatókörnyezet összetevőinek használatával
Az Univerzális Windows Platform használatával egyszerűen kombinálhatja a különböző nyelveken írt összetevőket. Hozzon létre Windows futtatókörnyezeti összetevőket a C++, C# vagy Visual Basic alkalmazásban, majd hívja be őket JavaScriptből, C#-ból, C++-ból vagy Visual Basicből. Ez egy nagyszerű módja annak, hogy a játék részeit a választott nyelven programozza. Az összetevők lehetővé teszik olyan külső kódtárak használatát is, amelyek csak egy adott nyelven érhetők el, valamint a már megírt régi kódokat is használhatja.
| Windows futtatókörnyezeti összetevők létrehozása | Windows futtatókörnyezeti összetevők C++/WinRT használatával |
Melyik DirectX-verziót használja a játék?
Ha a DirectX-et választja a játékhoz, akkor el kell döntenie, hogy melyik verziót használja: Microsoft Direct3D 12 vagy Microsoft Direct3D 11.
A DirectX 12 gyorsabb és hatékonyabb, mint bármely korábbi verzió. A Direct3D 12 gazdagabb jeleneteket, több objektumot, összetettebb effektusokat és a modern GPU-hardverek teljes kihasználását teszi lehetővé Windows PC-n és Xbox One konzolon. Mivel a Direct3D 12 nagyon alacsony szinten működik, képes egy szakértő grafikus fejlesztőcsapatnak vagy egy tapasztalt DirectX 11 fejlesztői csapatnak minden olyan vezérlőt biztosítani, amely a grafikus optimalizálás maximalizálásához szükséges.
A Direct3D 11.3 egy alacsony szintű grafikus API, amely a jól ismert Direct3D programozási modellt használja, és jobban kezeli a GPU-renderelés összetettségét. Windowsban és Xbox One-ban is támogatott. Ha már rendelkezik Direct3D 11-ben írt motorral, és még nem áll készen a Direct3D 12-re való ugrásra, a Direct3D 11-et 12-re használhatja néhány teljesítménybeli javulás eléréséhez. A 11.3+-os verziók tartalmazzák a Direct3D 12-ben is engedélyezett új renderelési és optimalizálási funkciókat.
| A Direct3D 12 vagy a Direct3D 11 kiválasztása | Mi az a Direct3D 12? |
| A Direct3D 11 áttekintése | Direct3D 11 grafika |
| A Direct3D 11 áttekintése a Direct3D 12-n | Direct3D 11 on 12 |
Hidak, játékmotorok és köztes szoftverek
A játék igényeitől függően a hidak, a játékmotorok vagy a köztes szoftverek használatával időt és erőforrásokat takaríthat meg a fejlesztés és a tesztelés során. Íme néhány áttekintés és forrás a hidakhoz, a játékmotorokhoz és a köztes szoftverekhez.
Azure PlayFab
A Microsoft-család részeként az Azure PlayFab egy teljes háttérplatform az élő játékokhoz, és hatékony módja a független stúdióknak az első lépésekhez. A játékszolgáltatások, a valós idejű elemzések és a LiveOps segítségével növelheti a bevételt, az előjegyzést és a megőrzést – a költségek csökkentése mellett.
| PlayFab | Eszközök és szolgáltatások áttekintése |
| Kezdő lépések | Mi az a PlayFab? |
| Oktatóvideó-sorozat | Bemutató videók sorozata a PlayFab alaprendszereiről |
| Receptek | Receptek |
| GitHub-adattár | Szkriptek és SDK-k lekérése különböző platformokhoz, például Androidhoz, iOS-hez, Windowshoz, Unityhez és Unrealhez. |
| API-dokumentáció | A REST API áttekintése |
| Fórumok | PlayFab-fórumok |
Egység
A Unity platformot kínál a gyönyörű és magával ragadó 2D, 3D, VR és AR játékok és alkalmazások létrehozásához. Lehetővé teszi a kreatív látás gyors megvalósítását, és gyakorlatilag bármilyen adathordozóra vagy eszközre eljuttatja a tartalmat.
A Unity 5.4-től kezdve támogatja a Direct3D 12 fejlesztését.
| A Unity játékmotorja | Unity - Játékmotor |
| Unity lekérése | Unity lekérése |
| Unity-dokumentáció a Windowshoz | Unity kézikönyv / Windows |
| LiveOps hozzáadása a PlayFab használatával | Rövid útmutató: PlayFab-ügyfélkódtár c#-hoz a Unityben |
| Interaktivitás hozzáadása a játékhoz a Mixer Interactive használatával | Útmutató az első lépésekhez |
| Mixer SDK a Unityhoz | Mixer Unity beépülő modul |
| A Mixer SDK for Unity referenciadokumentációja | A Mixer Unity beépülő modul API-referenciája |
| A .NET API-kkal kapcsolatos hiányzó szerelvényhivatkozások hibaelhárítása | Hiányzó .NET API-k a Unityben és az UWP-ben |
| Unity-játék közzététele univerzális Windows Platform-alkalmazásként (videó) | Unity-játék közzététele UWP-alkalmazásként |
| Windows-játékok és -alkalmazások készítése a Unity használatával (videó) | Windows-játékok és -alkalmazások készítése a Unityvel |
| Unity-játék fejlesztése a Visual Studióval (videósorozat) | A Unity és a Visual Studio 2015 használata |
Havok
A Havok moduláris eszközkészlete és technológiái segítenek a játékkészítőknek az interaktivitás és a merítés új szintjeinek elérésében. A Havok rendkívül valósághű fizikát, interaktív szimulációkat és lenyűgöző mozifilmeket tesz lehetővé. A 2015.1-es vagy újabb verzió hivatalosan is támogatja az UWP-t a Visual Studio 2015-ben x86, 64 bites és Arm rendszeren.
| Havok webhely | Havok |
Unreal Engine
Az Unreal Engine egy teljes játékfejlesztői eszközkészlet minden típusú játékhoz és fejlesztőhöz. A legigényesebb konzol- és PC-játékokhoz az Unreal Engine-t világszerte használják a játékfejlesztők.
| Az Unreal Engine áttekintése | Unreal Engine |
BabylonJS
A BabylonJS egy teljes JavaScript-keretrendszer a 3D-s játékok HTML5, WebGL, WebVR és Web Audio használatával történő létrehozásához.
| BabylonJS | BabylonJS |
| Platformfüggetlen WebGL-játék létrehozása a BabylonJS-sel | Platformfüggetlen játék fejlesztése a BabylonJS használatával |
Prototípus és tervezés
Most, hogy eldöntötte, hogy milyen típusú játékot szeretne létrehozni, és az eszközök és a grafikus technológia, amelyet használni fog az összeállításhoz, készen áll a tervezés és a prototípus használatának megkezdésére. A játék lényege egy Univerzális Windows Platform-alkalmazás, így itt kell elkezdeni.
Bevezetés az Univerzális Windows Platform (UWP) használatába
Az univerzális Windows-platform (UWP) általános API-platformot biztosít Windows-eszközökön. Az UWP-t megcélozó játékok meghívhatják az összes eszközön gyakran használt WinRT API-kat. Mivel az UWP garantált API-rétegeket biztosít, egyetlen alkalmazáscsomagot hozhat létre, amely windowsos eszközökön telepíthető. És ha szeretné, a játék továbbra is meghívhat API-kat (beleértve a Win32 és a .NET klasszikus Windows API-jait), amelyek a játék által futtatott eszközökre vonatkoznak.
A következők kiváló útmutatók, amelyek részletesen ismertetik az univerzális Windows platform alkalmazásokat, és ajánlott elolvasni a platform megértéséhez.
| Bevezetés az univerzális Windows Platform-alkalmazások használatába | Mi az univerzális Windows Platform-alkalmazás? |
Az UWP-fejlesztés első lépései
Az univerzális Windows Platform-alkalmazások beállítása és előkészítése gyors és egyszerű. Az alábbi útmutatók lépésről lépésre végigvezetik a folyamaton.
| Az UWP-fejlesztés első lépései | Ismerkedés a Windows-alkalmazásokkal |
| Az UWP-fejlesztés beállítása | Előkészítés |
Ha ön abszolút kezdő az UWP-programozásban, és fontolgatja az XAML használatát a játékban (lásd : A grafikus technológia és a programozási nyelv kiválasztása), a Windows 10 fejlesztése abszolút kezdőknek videósorozat jó kiindulópont.
| A Windows 10 abszolút kezdőknek szóló sorozat bejelentése az XAML használatával (blogbejegyzés) | Windows 10-fejlesztés abszolút kezdőknek |
UWP fejlesztési fogalmak
| Az univerzális Windows platform alkalmazásfejlesztésének áttekintése | Windows-alkalmazások fejlesztése |
| A hálózati programozás áttekintése az UWP-ben | Hálózatkezelés és webszolgáltatások |
| A Windows.Web.HTTP és a Windows.Networking.Sockets használata játékokban | Hálózatkezelés játékokhoz |
| Aszinkron programozási fogalmak az UWP-ben | Aszinkron programozás |
Windows Asztali API-k és UWP
Ezek a hivatkozások segítenek az asztali és az UWP-kód közötti együttműködésben.
| Meglévő C++ kód használata UWP-játékfejlesztéshez | Útmutató: Meglévő C++ kód használata egy UWP-alkalmazásban |
| Windows Runtime API-k Win32-hez és COM API-khoz | Win32 és COM API-k UWP-alkalmazásokhoz |
| Nem támogatott CRT-függvények az UWP-ben | A CRT-függvények nem támogatottak az univerzális Windows Platform-alkalmazásokban |
| A Windows API-k alternatívái | A Windows API-k alternatívái univerzális Windows-platform (UWP) alkalmazásokban |
Folyamatélettartam-kezelés
A folyamatélettartam-kezelés vagy az alkalmazás életciklusa ismerteti azokat a különböző aktiválási állapotokat, amelyeken az univerzális Windows Platform-alkalmazások át tudnak váltani. A játék aktiválható, felfüggeszthető, folytatható vagy megszakítható, és különböző módokon válthat ezeken az állapotokon.
| Alkalmazás-életciklus váltások kezelése | Alkalmazás életciklusa |
| Alkalmazásáttűnések aktiválása a Microsoft Visual Studióval | UWP-alkalmazások felfüggesztési, folytatási és háttéreseményeinek aktiválása a Visual Studióban |
Játék UX tervezése
Egy nagyszerű játék születését ihletett tervezés eredményezi.
A játékok számos közös felhasználói felületi elemet és tervezési alapelvet osztanak meg az alkalmazásokkal; azonban a játékok gyakran egyedi megjelenést és érzést nyújtanak, valamint sajátos tervezési céljaik vannak a felhasználói élmény javítására. A játékok akkor lesznek sikeresek, ha átgondolt tervezést alkalmazunk mindkét szempontra – mikor érdemes tesztelt UX-t használnia a játéknak, és mikor kell eltérnie és újítania? A játékhoz választott bemutató technológia – DirectX, XAML, HTML5 vagy a három kombinációja – hatással lesz a megvalósítás részleteire, de az alkalmazott tervezési alapelvek nagyban függetlenek a választotttól.
Az UX-tervezéstől függetlenül a játékmenet kialakítása, mint például a szinttervezés, irányírás, világtervezés és más szempontok, önálló művészeti forma, amelyet Ön és a csapata alakít ki, és amelyet nem fed le ez a fejlesztési útmutató.
| Az UWP tervezési alapjai és irányelvei | UWP-alkalmazások tervezése |
| Alkalmazáséletciklus-állapotok tervezése | UX-irányelvek az indításhoz, felfüggesztéshez és folytatáshoz |
Színútvonal és paletta
A következetes színútvonal követése a játékban javítja az esztétikát, segíti a navigációt, és hatékony eszköz a menü és a HUD funkcióinak tájékoztatására. A játékelemek, például a figyelmeztetések, a sérülések, az XP és az eredmények következetes színezése tisztább felhasználói felületet eredményezhet, és csökkentheti az explicit címkék szükségességét.
| Színútmutató | Szín a Windows 11-ben |
Typography
A tipográfia megfelelő használata a játék számos aspektusát javítja, beleértve a felhasználói felület elrendezését, a navigációt, az olvashatóságot, a hangulatot, a márkát és a játékosmerülést.
| Tipográfiai útmutató | Ajánlott eljárások: Tipográfia |
Felhasználói felület térképe
A felhasználói felület térképe a játéknavigáció és a menük folyamatábraként kifejezett elrendezése. A felhasználói felület térképe segít minden érintettnek megérteni a játék felületét és navigációs útvonalait, és a fejlesztési ciklus korai szakaszában felfedheti a lehetséges útzárakat és zsákutcákat.
| Felhasználói felület térképének útmutatója | Ajánlott eljárások: Felhasználói felület térképe |
Játék hanganyaga
Az alábbi útmutatók és hivatkozások az XAudio2, XAPO és Windows Sonic használatával történő hang implementálásához használhatók. Az XAudio2 egy alacsony szintű audio API, amely jelfeldolgozási és keverési alapot biztosít a nagy teljesítményű hangmotorok fejlesztéséhez. Az XAPO API lehetővé teszi a platformfüggetlen hangfeldolgozó objektumok (XAPO) létrehozását a XAudio2-ben Windowson és Xboxon egyaránt. A Windows Sonic audio támogatása lehetővé teszi a Dolby Atmos otthoni színházhoz, a Dolby Atmos for Headphones és a Windows HRTF támogatás hozzáadását a játékhoz vagy a streamelési médiaalkalmazáshoz.
| XAudio2 API-k | Programozási útmutató és API-referencia xAudio2-hez |
| Platformfüggetlen hangfeldolgozási objektumok létrehozása | Az XAPO áttekintése |
| Bevezetés a hangkoncepciókba | Hang játékokhoz |
| A Windows Sonic áttekintése | Térbeli hang |
Direct3D 12
Ismerje meg a Direct3D 12 újdonságait és különbségeit a Direct3D 11-hez képest, valamint hogyan kezdje el a programozást a Direct3D 12 használatával.
| Direct3D 12 programozási útmutató és referencia | Direct3D 12 grafika |
| Programozási környezet beállítása | Direct3D 12 programozási környezet beállítása |
| Alapszintű összetevő létrehozása | Alapszintű Direct3D 12-összetevő létrehozása |
| Változások a Direct3D 12-ben | A Direct3D 11-ről a Direct3D 12-re való migrálás fontos változásai |
| Portok a Direct3D 11-ből a Direct3D 12-be | Portolás Direct3D 11-ből Direct3D 12-be |
| Erőforrás-kötési fogalmak (leíró, leíró tábla, leíró halom és root signature) | Erőforrás-kötés a Direct3D 12-ben |
| Memória kezelése | Memóriakezelés a Direct3D 12-ben |
DirectX-fejlesztés
Útmutatók és hivatkozások a DirectX-játékok fejlesztéséhez.
| DirectX UWP-fejlesztéshez | DirectX-programozás |
| Oktatóanyag: UWP DirectX-játék létrehozása | Egyszerű UWP-játék létrehozása a DirectX használatával |
| DirectX-interakció az UWP-alkalmazásmodellel | Az alkalmazásobjektum és a DirectX |
| A DirectX áttekintései és referenciái | DirectX-ábrák és játékok |
| A DirectX 12 alapjai (videó) | Nagyobb erő, jobb teljesítmény: a játék a DirectX 12-vel |
DirectX-eszközkészlet és -kódtárak
A DirectX Tool Kit, a DirectX textúrafeldolgozó kódtár, a DirectXMesh geometriafeldolgozó könyvtár, az UVAtlas könyvtár és a DirectXMath kódtár textúra, háló, sprite és egyéb hasznos funkciókat és segédosztályokat biztosít a DirectX fejlesztéséhez. Ezek a kódtárak segítenek időt és energiát megtakarítani a fejlesztési munkában.
| DirectX Tool Kit lekérése a DirectX 12-hez | DirectXTK 12 |
| DirectX Eszközkészlet lekérése DirectX 11-hez | DirectXTK |
| DirectX textúrafeldolgozási kódtár lekérése | DirectXTex |
| DirectXMesh geometriafeldolgozási kódtár lekérése | DirectXMesh |
| UVAtlas beszerzése isochart textúra-atlasz létrehozásához és csomagolásához | UVAtlas |
| A DirectXMath-kódtár lekérése | DirectXMath |
| Direct3D 12-támogatás a DirectXTK-ban (GitHub-probléma) | A DirectX 12 támogatása |
DirectX-erőforrások partnerektől
Íme néhány további, külső partnerek által létrehozott DirectX-dokumentáció.
| Nvidia: DX12 Do's and Don'ts (blogbejegyzés) | DX12 teendők és kerülendők, Frissítve! |
| Intel: Párhuzamos feldolgozás DirectX 3D 12-vel | Párhuzamos feldolgozás DirectX 3D 12-vel |
| Intel: Explicit többadapteres alkalmazás implementálása a DirectX 12 használatával | Többadapteres támogatás a DirectX 12-ben |
| Intel: Az Intel, a Suzhou Csiga és a Microsoft közös tanulmánya | Oktatóanyag: Alkalmazások migrálása a DirectX 12-be – 1. rész |
Termelés
Ebben a szakaszban a stúdió teljes mértékben bekapcsolódott, és belép a gyártási ciklusba, a csapaton belül elosztva a munkát. Polírozod, újrafaktorálod, és kibővíted a prototípust, hogy egy teljes játékká formálod.
Értesítések és élő csempék
A csempe a játék ábrázolása a Start menüben. A csempék és értesítések akkor is felkelthetik a játékosok érdeklődését, ha éppen nem játszanak a játékkal.
| Csempék és jelvények fejlesztése | Csempék, jelvények és értesítések |
| Élő csempéket és értesítéseket szemléltető minta | Értesítési minta |
| Adaptív csempesablonok (blogbejegyzés) | Adaptív csempesablonok – Séma és dokumentáció |
| Csempék és jelvények tervezése | Csempék és widgetek irányelvei |
| Windows 10-alkalmazás élő csempesablonok interaktív fejlesztéséhez | Értesítések vizualizációja |
| UWP Csempegenerátor bővítmény a Visual Studióhoz | Eszköz az összes szükséges csempe egyetlen képpel való létrehozásához |
| UWP Tile Generator bővítmény a Visual Studióhoz (blogbejegyzés) | Tippek az UWP csempegenerátor eszköz használatához |
Alkalmazáson belüli termékek (bővítmények) vásárlásának engedélyezése
A bővítmény (alkalmazáson belüli termék) egy kiegészítő elem, amelyet a játékosok a játékon belül vásárolhatnak. A bővítmények lehetnek játékszintek, elemek vagy bármi más, amit a játékosok élvezhetnek. A megfelelő módon használt bővítmények bevételt biztosíthatnak, miközben javítják a játékélményt. A játék bővítményeit a Partnerközponton keresztül határozhatja meg és teheti közzé, és engedélyezheti az alkalmazáson belüli vásárlásokat a játék kódjában.
| Tartós bővítmények | Alkalmazáson belüli termékvásárlások engedélyezése |
| Fogyasztható bővítmények | Használható alkalmazáson belüli termékvásárlások engedélyezése |
| Bővítmény részletei és beküldése | Bővítménybeküldések |
| A játékhoz tartozó bővítmények értékesítésének és demográfiai adatainak monitorozása | Kiegészítő akvizíciók jelentése |
Hibakeresés, teljesítményoptimalizálás és figyelés
A teljesítmény optimalizálása érdekében kihasználhatja a Windows játékmódját, hogy a játékosok a lehető legjobb játékélményt nyújthassák a jelenlegi hardver kapacitásának teljes kihasználásával.
A Windows teljesítményelemző eszközkészlete (WPT) olyan teljesítményfigyelő eszközökből áll, amelyek részletes teljesítményprofilokat hoznak létre a Windows operációs rendszerekről és alkalmazásokról. Ez különösen hasznos a memóriahasználat monitorozásához és a játékteljesítmény javításához. A Windows teljesítményeszközkészlet a Windows SDK és a Windows ADK része. Ez az eszközkészlet két független eszközből áll: a Windows Teljesítményrögzítőből (WPR) és a Windows Teljesítményelemzőből (WPA). A Windows Sysinternals részét képező ProcDump egy parancssori segédprogram, amely figyeli a cpu-kiugró értékeket, és memóriaképfájlokat hoz létre a játék összeomlása során.
| A kód teljesítménytesztelése | Azure-tesztcsomagok |
| A teljesítmény javítása a hardvererőforrásokhoz való kizárólagos vagy prioritásos hozzáféréssel a Game Mode API-k használatával | Játékmód |
| A Windows teljesítményeszközkészletének (WPT) lekérése | Windows Performance Toolkit |
| Windows performance toolkit (WPT) lekérése a Windows ADK-ból | Windows ADK |
| A ProcDump beszerzése | ProcDump |
Speciális DirectX-technikák és -fogalmak
A DirectX-fejlesztés egyes részei árnyaltak és összetettek lehetnek. Ha eljut a fejlesztési környezethez, ahol a DirectX-motor részleteivel részletekbe menően foglalkoznia kell, vagy nehéz teljesítményproblémákat kell elhárítania, az ebben a szakaszban található erőforrások és információk segíthetnek.
| Teljesítményhangoló és hibakeresési eszköz a DirectX 12-hez Windows rendszeren | A PIX bemutatása Windows rendszeren |
| Direct3D 12 programozási útmutató | Direct3D 12 grafika |
| A DirectX és az XAML kombinálása | DirectX és XAML interoperabilitás |
Nagy dinamikatartományú (HDR) tartalomfejlesztés
Olyan játéktartalmakat készíthet, amelyek a HDR teljes színfunkcióit használják.
| Megtudhatja, hogyan jelenítheti meg a HDR-tartalmakat, és hogyan állapíthatja meg, hogy az aktuális kijelző támogatja-e | Direct3D 12 HDR-minta |
| Speciális szín létrehozása és konfigurálása a DirectX használatával | Direct2D speciális színkép renderelési minta |
Globalizáció és honosítás
Világra kész játékokat fejleszthet a Windows platformhoz, és megismerheti a Microsoft legnépszerűbb termékeibe beépített nemzetközi funkciókat.
| A játék előkészítése a globális piacra | Globalizáció és lokalizáció |
A játék beküldése és közzététele
Az alábbi útmutatók és információk segítenek a közzétételi és beküldési folyamat lehető leggördülékenyebb végrehajtásában.
Könyvkiadás
A Partnerközpont segítségével közzéteheti és kezelheti a játékcsomagokat.
| Partnerközpont-alkalmazás közzététele | Windows-alkalmazások közzététele |
| Felhasználók hozzáadása a Partnerközpont-fiókhoz az Azure Active Directory (AAD) használatával | Ügyfélcsoportok létrehozása |
| A játék értékelése (blogbejegyzés) | Most már elérhető: Egy korhatár-besorolási rendszer az alkalmazásbeküldések egyszerűsítése érdekében |
Csomagolás és feltöltés
| Tartalom felosztása és csoportosítása a streamelési telepítés engedélyezéséhez | UWP-alkalmazásstreamelés telepítése |
| Választható csomagok, például DLC-játéktartalmak létrehozása | Választható csomagok és kapcsolódó készletkészítés |
| Az UWP-játék csomagolása | Alkalmazások csomagolása |
| Az UWP DirectX-játék csomagolása | Az UWP DirectX-játék csomagolása |
| A játék csomagolása külső fejlesztőként (blogbejegyzés) | Feltölthető csomagok létrehozása közzétevő tárfiók-hozzáférése nélkül |
| Alkalmazáscsomagok és alkalmazáscsomagok létrehozása a MakeAppx használatával | Csomagok létrehozása alkalmazáscsomagoló eszközzel MakeAppx.exe |
| Fájlok digitális aláírása a SignTool használatával | Fájlok aláírása és aláírás ellenőrzése fájlokban a SignTool használatával |
| A játék feltöltése és verziószámozása | Alkalmazáscsomagok feltöltése |
Szabályzatok és minősítés
Ne hagyja, hogy a minősítési problémák késleltetik a játék kiadását. Az alábbiakban a szabályzatokat és a minősítéssel kapcsolatos gyakori problémákat ismertetjük.
| Microsoft Store alkalmazásfejlesztői szerződés | Alkalmazásfejlesztői szerződés |
| Alkalmazások Microsoft Store-ban való közzétételére vonatkozó szabályzatok | Microsoft Store-házirendek |
| Az alkalmazástanúsítással kapcsolatos gyakori problémák elkerülése | Gyakori tanúsítási hibák elkerülése |
Tárolójegyzék (StoreManifest.xml)
Az áruház jegyzékfájlja (StoreManifest.xml) egy opcionális konfigurációs fájl, amelyet az alkalmazáscsomagba is felvehet. Az áruházi jegyzék olyan további funkciókat biztosít, amelyek nem részei a AppxManifest.xml fájlnak. Az áruházi jegyzék használatával például letilthatja a játék telepítését, ha egy céleszköz nem rendelkezik a megadott minimális DirectX-funkciószinttel vagy a megadott minimális rendszermemóriával.
| Jegyzékséma tárolása | StoreManifest séma (Windows 10) |
Játékéletciklus-kezelés
Miután befejezte a fejlesztést, és elküldte a játékot, nincs vége a játéknak. Lehet, hogy az 1-es verzió fejlesztésével elkészültél, de a játékod útja a piacon csak most kezdődött el. Figyelnie kell a használatot és a hibajelentést, válaszolnia kell a felhasználói visszajelzésekre, és közzé kell tennie a frissítéseket a játékban.
Partnerközpont analitika és promóció
| Partnerközpont-elemzés | Az alkalmazás teljesítményének elemzése |
| Válasz az ügyfélértékelésekre | Válasz az ügyfelek véleményeire |
| A játék népszerűsítésének módjai | Ügyfelek vonzása és alkalmazások népszerűsítése |
Visual Studio Application Insights
A Visual Studio Application Insights teljesítmény-, telemetriai és használati elemzéseket biztosít a közzétett játékhoz. Az Application Insights segít észlelni és megoldani a problémákat a játék megjelenése után, folyamatosan monitorozni és javítani a használatot, és megérteni, hogy a játékosok hogyan használják tovább a játékot. Az Application Insights úgy működik, hogy hozzáad egy SDK-t az alkalmazáshoz, amely telemetriát küld az Azure Portalra.
| Alkalmazásteljesítmény- és használati elemzés | Az Application Insights áttekintése |
| Azure Monitor | Azure Monitor – áttekintés |
Harmadik féltől származó elemzési és promóciós megoldások
| Játékos viselkedésének megismerése a GameAnalytics használatával | GameAnalytics |
| UWP-játék csatlakoztatása a Google Analyticshez | Windows SDK lekérése a Google Analyticshez |
| A Facebook App Installs Ads használatával népszerűsítheti a játékot a Facebook-felhasználók számára | Windows SDK lekérése a Facebookhoz |
| Videóhirdetések hozzáadása a játékokhoz a Vungle használatával | Vungle SDK letöltése Windowshoz |
Tartalomfrissítések létrehozása és kezelése
A közzétett játék frissítéséhez be kell küldenie egy új alkalmazáscsomagot egy magasabb verziószámmal. Miután a csomag végigvezeti a beküldésen és a minősítésen, frissítésként automatikusan elérhetővé válik az ügyfelek számára.
| A játék frissítése és verziószámozása | Csomagverzió számozása |
| Játékcsomag-kezelési útmutató | Útmutató az alkalmazáscsomagok kezeléséhez |
Xbox Live hozzáadása a játékhoz
Az Xbox Live egy premier játékhálózat, amely több millió játékost köt össze világszerte. A fejlesztők hozzáférhetnek az Xbox Live olyan funkcióihoz, amelyek szervesen növelhetik a játék közönségét, beleértve az Xbox Live jelenlétét, ranglistákat, felhőmentéseket, game hubokat, klubokat, parti csevegést, játékVIDR-t stb.
Megjegyzés:
Ha Xbox Live-kompatibilis címeket szeretne fejleszteni, számos lehetőség közül választhat. A különböző programokról további információt az Xbox Live fejlesztői program kiválasztása című témakörben talál.
| Az Xbox Live áttekintése | Az Xbox Live dokumentációja |
Fejlesztőknek az Xbox Live Creators Programban
| Áttekintés | Csatlakozás az Alkotók programhoz |
Felügyelt partnerek és fejlesztők számára a ID@Xbox programban
| Áttekintés | Az Xbox Live használatának első lépései felügyelt partnerek számára |
| Samples | Xbox játékfejlesztési minták |
További erőforrások
| Videók nagyobb konferenciákról, például a GDC-ről és //buildről | Játékfejlesztési videók |