We have an XNA game, that is meant to run on Windows Phone 8 as well as 7.1.
Everything in-game works on higher resolution phones like WXGA, but our game runs at 800x480 since that is the only supported size for WP7.
Is there a way to detect higher res phones for XNA and set the PreferredBackBufferWidth and PreferredBackbufferHeight appropriately?
Or is there basically not a way to do this with the available XNA support on Windows Phone 8?
XNA may not support this but it looks like MonoGame (open source port of XNA which works on WP8) will support the higher resolutions. See Nokia's topic on MonoGame and WP8 for a primer.
You need to port your game to DirectX for WP8 to support higher resolutions.
Related
I'm making a simple 2d game using WPF where the game objects need to emit a sound when they hit the walls of the screen, but I can't find anything that lets me play a sound effect in Windows Phone 8.1.
In Windows Phone 8 I was using the SoundEffect class from XNA, but I don't think XNA is supported in 8.1 any longer. Is there any equivalent class I can use?
Use a <MediaElement> with MediaElement.AudioCategory set to ForegroundOnlyMedia
If you want more controlled sound playback, you'll need to use DirectX.
I 'am developing an app targeted to WP7.1 but I want it to work well on WP8 devices too. Assuming creating layout using dynamic resizng elements (grids with auto height etc) will the app scale just like WP8 app under Windows Phone 8 (WP8 handles WVGA HD WXGA resolutions)? If yes, is this possible to get a exact screen size under WP7 and what about in-app images in high resolution? If not, should I build 2 different apps to handle scaling well? One for WP7 and another for WP8 (even if the only change is build target?)
WP7 only supports 800x480 resolution and will automatically scale on WP8.
WP7 app cannot however do any resolution dependant tweaks when app runs on WP8. You need to recompile it to WP8
After watching a little bit of the summit keynote I kind of heard conflicting reports about it, but is it official that XNA is being dropped for WP8? I'm guessing since the future version of WP supports previous generation of apps that this is probably not true.
If it is though is using C# even an option for games or is C++ with DirectX the only way to go?
the official wp7dev twitter account had this to say too
"XNA Framework apps are fully supported in WP8. The new WP SDK will support building XNA Framework games for both WP7.x & for WP8"
https://twitter.com/wp7dev/status/215513026374270977
Personally given the lack of XNA updates or information and the lack of any Metro support on windows 8 I'm staying a little skeptical until I see an SDK and the publishing rules.
Mary Jo Foley had this to say about that:
Microsoft officials have said the XNA tools/runtime environment used primarily by game developers isn't supported on Windows 8. On Windows Phone 8, XNA is "supported," so existing Windows Phone games will run. But Microsoft's advice to phone developers going forward, just like it is for Windows 8, is to use native code, meaning C and C++, to write games.
As the public WP8 SDK is now available, I can confirm that you cannot develop XNA apps for the #WP8 platform directly. You can only target the WP7 platform with your XNA apps and they will run on WP8 devices just fine.
I'm sure it's too early to speculate on this at this point, we'll see when the SDK is released. But from what I've seen so far - I would say yes, XNA might not be officially supported WP8 and onwards (read - new features will probably only be available via the DirectX interface, but existing features will continue to be supported). However, according to this thread, games that use Monogame to run on Windows 8 metro will pass certification. So in one way or the other, the platform will not die.
Edit: I just noticed this tweet from Shawn Hargreaves: Windows Phone 8 runs all 7 apps including XNA ones. We're adding new features (native code, D3D) not taking away old ones
I've been working on and off on an XNA game that I had started with VS2010 & WP 7 SDK, and later upgraded to 7.5 (Mango). I loaded up that project in VS2012 and the WP8 SDK and it ran just fine, compiled with no errors and ran smoothly.
As previously stated, XNA projects in VS2012 and the WP8 SDK can only target the WP 7.1 platform. On the upside, all phones running WP 7.5, the upcoming 7.8 and WP8 will run your game without any issues. From that point of view, XNA is fully supported in the WP8 SDK, on WP8 devices, but these WILL NOT be WP8 projects.
By not being WP8 projects, the downside is that you CANNOT use WP8-exclusive features, such as:
In-app purchasing / micro-transactions (this one hurts XNA devs the
most)
Your games will always be 800x480 since you need WP8 projects to support higher resolutions. Your XNA games should automatically scale up when run on devices with a higher res
Exclusive WP8 networking features & APIs, including Bluetooth and NFC
Speech and voice recognition APIs
Your XNA game cannot register a protocol extension for app-to-app communications
New Live Tile templates
The dev highlights for WP8 are on the wpdev blog at http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/05/windows-phone-8-developer-platform-highlights.aspx.
Im trying to create a media player (in C# .net 4.0) that will work on windows XP (SP3), vista and 7. Normally I would just go the easy way and use WPF's own MediaElement, but since that relies on Windows Media Player 10 or newer, that wont work as Windows XP SP3 may only have WPM9.
First I tried downloading Jerimiah Morill's WPF MediaKit sample application, but this used the EVR which wont show on my test machine (a Windows xp SP3 only with default codecs and default programs, plus the various .Net framework installations). I also downloaded the binaries and tore these apart, creating a new project only with reference to the DirectShow-dll and the bare minimums from the WPF mediakit, this time with no reference whatsoever to EVR. Still no luck. This i'm having a hard time understanding - should'nt even Windows XP be able to play movies using VMR stright out of the box?
I found some samples of media players where one of these works. This one is called DxPlay and uses directshow's graphbuilder, but is built in winforms, has some rather raw-looking code, and will not scale, seek, handle audio, and in general seems rather sketchy.
So, Is there any easy way to create a media player that will play on all the mentioned platforms without pushing WMP10+? I had high hopes for WPF MediaKit, but something is preventing it from playing on Windows XP SP3 (any solution to this would be very interesting).
Thank you very much in advance!
-ruNury
I would try to wrap VLC media player in your .Net project.
Here are some .Net projects that might help you:
http://vlcdotnet.codeplex.com/
http://sourceforge.net/projects/libvlcnet/
http://www.codeproject.com/Articles/109639/nVLC
MSDN suggest EVR (Enhanced Video Renderer) for video output in systems where it is supported: Windows Vista and later. With its introduction, its predecessors - Video Mixing Renderer filter (versions 7 and 9) were cut on smooth scaling of video. Video Mixing Renderer 7 is also less capable in terms of customization, however it consumes far less resources (does not use Direct 3D) and you can output way more videos at once.
Your standard solution here is to support both VMR and EVR output and use the latter starting Windows Vista, fall back to the former otherwise.
EVR is "unofficially" installed in Windows XP with .NET runtime and can be used with an instantiation trick: you the respective DLL is not COM registered and you cannot create an instance using CoCreateInstance API, however you succeed if you do CoLoadLibrary, DllGetClassObject and friends.
For C# development you typically consume DirectShow through DirectShow.NET Library.
How to approach a modern GUI development in Windows Mobile 6.5. I can see in .NET CF 2.0/3.5 only legacy common controls, no alpha blended controls, no fading etc. Comparing to Android or Symbian, Windows Mobile 6.5 look-a-like of applications is very elderly.
Is there support for WPF in Windows Mobile 6.5?
Thanks and Regards
Dominik
WPF is not supported. Silverlight is not supported in current phones but will be supported with Windows Phone 7. XNA will be supported on Windows Phone 7.
For the current phones on the market you really have to abandon the idea that you're going to get a decent UI by simply dragging controls out of the toolbox. That simply is not going to happen. You can still create compelling UI, but you have to do custom/manual drawing of your controls.
Never heard of WPF development for WM.
But there is Silverlight 4 and (theoretically) Windows Phone 7... So if you want to develop for Windows platform you'd probably target Silverlight technology, not WPF. And Windows Phone 7, not WM 6.5