microsoft / xbox-gdk-samples Goto Github PK
View Code? Open in Web Editor NEWGame development samples published by the Xbox Advanced Technology Group using the Microsoft GDK.
Home Page: http://aka.ms/gamedevdocs
License: MIT License
Game development samples published by the Xbox Advanced Technology Group using the Microsoft GDK.
Home Page: http://aka.ms/gamedevdocs
License: MIT License
As we can see, the original configuration is /MD.
After I changed DirectXTK12 and GamepadVibration to use /MT, I got the following linker errors:
2>libHttpClient.142.GDK.C.lib(global_publics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(GamepadVibration.obj 中)
2>libHttpClient.142.GDK.C.lib(httpcall_publics.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(GamepadVibration.obj 中)
Does GDK have MT_StaticRelease version of libs?
$(IgnoreSpecificDefaultLibraries);advapi32.lib;comctl32.lib;comsupp.lib;dbghelp.lib;gdi32.lib;gdiplus.lib;guardcfw.lib;kernel32.lib;mmc.lib;msimg32.lib;msvcole.lib;msvcoled.lib;mswsock.lib;ntstrsafe.lib;ole2.lib;ole2autd.lib;ole2auto.lib;ole2d.lib;ole2ui.lib;ole2uid.lib;ole32.lib;oleacc.lib;oleaut32.lib;oledlg.lib;oledlgd.lib;oldnames.lib;runtimeobject.lib;shell32.lib;shlwapi.lib;strsafe.lib;urlmon.lib;user32.lib;userenv.lib;wlmole.lib;wlmoled.lib;onecore.lib;
they can not be used in Xbox console game development?
I got this prompt when trying to compile Xbox-GDK-Samples/Samples/System/Gamepad but I already have GDK installed, I'm using visual studio 2019 and the debug platform is Gaming.Xbox.Xbox (x64), am I missing something?
I'm in the middle of porting a game from the XDK to the GDK, and while working on the store functionality I noticed that the UIManager is included within the InGameStore samples. I also see XR-039 states "All purchases must use the Xbox console common purchase UI.".
Does the GDK handle the UI functionality in the use of the Xbox Series X store, or is this something that will actually need to be included within our own InGameStore files? Specifically, in UpdateProductList() I see some calls that use the UIManager, but in the MakePurchase() function there is the call to XStoreShowPurchaseUIResult, and ShowPopup. Which of these two are the aforementioned "Xbox console common purchase UI"?
Is there any sample project for demonstrating the using the following APIs?
IGameInputDevice::CreateForceFeedbackEffect
IGameInputForceFeedbackEffect::SetState
IGameInputForceFeedbackEffect::SetGain
IGameInputForceFeedbackEffect::SetParams
If yes, let me know. If not, any plan to make one?
Thanks.
Hi,
I've been interested in developing for the Xbox consoles recently and after reading A LOT of documentation, I still struggle to understand the tools I'm supposed to use.
I started with UWP on Xbox One by following this guide, which made me register a partner account on the Partner Center. I managed to run the Visual Studio template projects that come with the UWP workload on my console and was pretty happy with it.
After reading more, I heard about the GDK, which seemed like yet another way to create games for the Xbox consoles. The introduction page of the documentation explains the story behind the creation of the GDK and suggests it is the new way of creating Xbox games because others (The ERA App Model and UWP) were seen as too restrictive by developers.
I installed the GDK on my computer and it only installed the Desktop Visual Studio templates, not the Xbox ones. I tried to run the samples from this repository but it says Platform 'Gaming.Xbox.Scarlett.x64' referenced in the project file 'DirectXTK12' cannot be found.
. And when I open the project properties, it says the platform toolset v143 isn't installed, but my Visual Studio Installer says it is.
To my understanding, the GDK is the "public" development kit for making games for Windows and making games for Xbox requires the GDK with Xbox Extensions (GDKX), which is only available to licensed partners. But I did register a partner account (which add a registration fee), is that something completely different?
Is GDK the recommended way to develop for the Xbox consoles and UWP deprecated? Or is UWP the "free" way and GDK the "premium" way?
I am extremely confused about all of this, so any clarification would be very appreciated!
I'm aware the issue section of this repo might not be the ideal place to ask these types of questions, but I don't where else to ask.
EDIT: The description of the Xbox Dev Mode in the Microsoft Store says "Activate your Xbox One for development and get started writing UWP games and apps targeting the console." so I'm guessing the Dev Center account only allows you to run UWP games and GDK games require something else.
There are important files that Microsoft projects should all have that are not present in this repository. A pull request has been opened to add the missing file(s). When the pr is merged this issue will be closed automatically.
Microsoft teams can learn more about this effort and share feedback within the open source guidance available internally.
This yields an error:
LINK : fatal error LNK1181: cannot open input file 'xgameruntime.lib gameinput.lib'
Do notice that it wrapped those libs in quotes in the generated linker command:
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\link.exe
/ERRORREPORT:QUEUE
/OUT:"C:\ZEH\GDK\2022.10--GDKX--SamplesOnly\GDKSamples\Tools\CMakeExample\Desktop\out\bin\Gaming.Desktop.x64\Debug\CMakeExampleDesktop.exe"
/INCREMENTAL
/ILK:"CMakeExampleDesktop.dir\Debug\CMakeExampleDesktop.ilk"
/NOLOGO
/LIBPATH:"C:/ZEH/GDK/221001/Microsoft GDK/221001/GRDK/gameKit/Lib/amd64"
/LIBPATH:"C:/ZEH/GDK/221001/Microsoft GDK/221001/GRDK/gameKit/Lib/amd64/Debug"
/LIBPATH:"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/ucrt/x64"
/LIBPATH:"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/ucrt/x64/Debug"
/LIBPATH:"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x64"
/LIBPATH:"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x64/Debug"
/LIBPATH:"C:/ZEH/GDK/221001/Microsoft GDK/221001/GRDK/ExtensionLibraries/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Release/v142"
/LIBPATH:"C:/ZEH/GDK/221001/Microsoft GDK/221001/GRDK/ExtensionLibraries/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Release/v142/Debug"
dxguid.lib d3d12.lib dxgi.lib "xgameruntime.lib gameinput.lib" libHttpClient.142.GDK.C.lib Microsoft.Xbox.Services.142.GDK.C.lib appnotify.lib winhttp.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
/MANIFEST
/MANIFESTUAC:"level='asInvoker' uiAccess='false'"
/manifest:embed /DEBUG /PDB:"C:/ZEH/GDK/2022.10--GDKX--SamplesOnly/GDKSamples/Tools/CMakeExample/Desktop/out/bin/Gaming.Desktop.x64/Debug/CMakeExampleDesktop.pdb"
/SUBSYSTEM:WINDOWS
/LTCG
/LTCGOUT:"CMakeExampleDesktop.dir\Debug\CMakeExampleDesktop.iobj"
/TLBID:1
/DYNAMICBASE
/NXCOMPAT
/IMPLIB:"C:/ZEH/GDK/2022.10--GDKX--SamplesOnly/GDKSamples/Tools/CMakeExample/Desktop/out/bin/Gaming.Desktop.x64/Debug/CMakeExampleDesktop.lib"
/MACHINE:X64
/machine:x64
/CETCOMPAT
/IGNORE:4075 CMakeExampleDesktop.dir\Debug\cmake_pch.obj
CMakeExampleDesktop.dir\Debug\Game.obj
CMakeExampleDesktop.dir\Debug\DeviceResources.obj
CMakeExampleDesktop.dir\Debug\Main.obj
Replacing it with this, fixed the issue for me:
list(APPEND Console_Libs gameinput.lib)
Hi,
After all, we have no sampler feedback windows sample..
XUserHandle user hides variable from the outer scope:
resolveAsyncBlock is not used. asyncBlockInner should be replaced to resolveAsyncBlock at #L192 and #L196
I guess deleting asyncBlockInner at #L201 leads to deleting it one more time at L#206
The sample appears to be written for a sample that uses Scarlett and XboxOne hardware too.
The presets for CMake have also changed.
The correct instructions to build this sample are as follows:
How to configure for VS2022:
Set generator to VS2022:
In CmakePresets.Json:
"generator": "Visual Studio 17 2022",
"XdkEditionTarget": "220602", (or whatever version you have installed)
How to build:
cd (Xbox-GDK-Samples)\Samples\Tools\CMakeGDKExample
cmake --preset=x64-Desktop
cmake --build out\build\x64-Desktop
The Visual Studio solution for the sample is now in (Xbox-GDK-Samples)\Samples\Tools\CMakeGDKExample\out\build\x64-Desktop !
how to get open source lib used in Gaming.Xbox.Scarlett.x64 such as win32 libs using vcpkg?
Is there a easy way or just porting by self?
I was running the sample project: Samples\System\Gamepad. It didn't work as expected.
I'm sure I've connected a Xbox Series X/S console to my Win11 PC, and "GameInput Service" is running.
But no matter which key I press on the gamepad, m_reading->GetGamepadState always returns empty state and state.buttons equals to 0 all the time. A bit weird...
Any clue?
There are open compliance tasks that need to be reviewed for your Xbox-GDK-Samples repo.
To bring this repository to the standard required for 2021, we require administrators of this and all Microsoft GitHub repositories to complete a small set of tasks within the next 60 days. This is critical work to ensure the compliance and security of your microsoft GitHub organization.
Please take a few minutes to complete the tasks at: https://repos.opensource.microsoft.com/orgs/microsoft/repos/Xbox-GDK-Samples/compliance
You can close this work item once you have completed the compliance tasks, or it will automatically close within a day of taking action.
If you no longer need this repository, it might be quickest to delete the repo, too.
More information about GitHub inside Microsoft and the new GitHub AE product can be found at https://aka.ms/gim or by contacting [email protected]
FYI: current admins at Microsoft include @scm-xbox, @walbourn, @FLY1NGSQU1RR3L
As a gamepad device maker, I'm testing with GamepadVibration. How can I make our gamepad work with GameInput calls, specifically SetRumbleState() to make 4 motors vibrate? Do I need to go through some certification process with Microsoft? Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.