Windows 8 compliance

BlitzMax Forums/BlitzMax Programming/Windows 8 compliance

Grey Alien(Posted 2012) [#1]
Thought it was about time we tacked this as a team so that our games can be accepted into the Windows 8 store and even just run on Windows 8.

EDIT: Oh dear, I just spoke to someone and they thought that the games have to be in .net anyway, so does that mean we're all screwed?

EDIT2: Hmm OK it seems like the Windows 8 store will only sell metro games coded for DX11 and using WinRT etc. Monkey has a Metro target so if we want to get on the store we need to code in that. Still some of the details below, such as the code signing, still apply if you just want users to be able to download from your site and run your game on Windows 8.

http://msdn.microsoft.com/library/windows/desktop/hh749939.aspx

There's quite a lot of stuff in there. Thoughts and areas of concern are as follows:

Section 1:
- Pretty sure we're OK here but would like second opinion.

Section 2:
- Setting up and using ACLs. I've no clue.

Section 3:
- Says the app must be compiled with a bunch of flags. How can we get BMax to do that?

Section 4:
- Haven't tested all those shutdown scenarios but possibly we could run into trouble.

Section 5:
- This shouldn't be an issue if you use a decent installer.

Section 6:
- How do we sign via the command line? We can buy certificates from various sources and if we join Windows 8 dev program/store thing we'll probably get one with it, but I don't know yet.

Section 7:
- I do actually perform an XP check and use freeaudio and use OpenAL on Vista and above, which I don't think you are supposed to do, but I don't think anyone at MS will spot that.

Section 8:
- The sounds OK. Second opinion?

Section 9:
- We need to supply an app manifest to define execution levels. There's an example which seems quite simple but I think we are supposed to only provide one value for each segment e.g. "asInvoker" and "true", and not all of them.

Section 10:
- This is fine, just make sure you are saving in the correct locations if you aren't already (have needed to since Vista) and don't try to mess up Windows.
- Also don't install any user data with the installer, make sure your app creates a save folder and populates it on first run.

Section 11:
- There's a bunch of stuff in here which seems rather complicated. My games use a MUTEX to prevent multiple versions from running at once, but if you do that you are supposed to "clearly state this when launched from this kind of session." Sounds horrible.

Section 12:
- We're good here as my BlitzMax games run fine on Windows 7 64-bit.

Thoughts?

Last edited 2012


therevills(Posted 2012) [#2]
Im not 100% sure on this, but I believe that BlitzMax games will run fine in Windows 8's desktop mode... not on the "metro" start menu thingy.

Mark is working on a Windows 8 target for Monkey...


Grey Alien(Posted 2012) [#3]
Yeah I think I'm just going to have to codesign the exes I sell on my site to make sure they run on Windows 8 desktop but doesn't look like I'll get them in the shop. Then just make new games in Monkey for Metro so they can go in the Win8 store. Sound like a plan?

Soon I probably need to get Windows 8 and do some testing.


jsp(Posted 2012) [#4]
Would it be enough to use Monkey as a "starter" on metro and then just call the BiltzMax game/application?


Grey Alien(Posted 2012) [#5]
Maybe but they'd probably spot that or think it was a virus or something.


GaryV(Posted 2012) [#6]
Would it be enough to use Monkey as a "starter" on metro and then just call the BiltzMax game/application?
BlitzMax only supports X86 architecture. It does not support ARM.


jsp(Posted 2012) [#7]
BlitzMax only supports X86 architecture. It does not support ARM

Yes of course! I was more thinking of a desktop pc using windows8, sorry didn't mention that.

I don't have a windows8 to play with yet, but isn't it possible for the user to add any program to the metro UI as she/he likes?


ima747(Posted 2012) [#8]
I believe you can add shortcuts to programs, but if they are desktop programs (anything created with bmax is desktop bound, i.e. not a native metro app) then it bounces over to the desktop environment to run it. My understanding is that the app store is only for "Windows 8 apps", translation from marketing speek is "metro apps". Metro apps, are by their nature, architecture independent, desktop apps *could* be architecture independent, but the desktop environment doesn't exist on ARM windows 8, so still would be missing critical OS components even if the hardware would play nice. Metro for all intents is windows 8 mobile for tablets. like android it can run on multiple architectures, and is pretty damn clunky if you're not using touch (IMO). The desktop environment is essentially a compatibility layer in metro. This is more like how OS X has X Windows compatibility than just a graphical change to the start menu. which is more like what it feels like (IMO). The core underpinnings are the same (same kernel, for example) but the UI has such drastic differences that the software is bound to one or the other. Again in the mac analogy you can run unix/linux software with a GUI along side mac programs since it's a *nix compatible kernel OS, but you need the whole X Windows system installed along side the Mac OS system components to run it.

Last edited 2012


SLotman(Posted 2012) [#9]
Blitzmax games runs fine on windows 8 without any modification. I've joined the BizSpark program, so I have the "final" windows 8 installed here :)

As far as I know the certificates and other stuff are only necessary to avoid those "alert: this program may harm your computer", or even to get you game listed on the "ms app store" (Yes, desktop games can be *listed* on the store, but it won't be sold there - they will only put a link to your site)

I didn't test anything running from the Metro UI - just from the desktop, and didn't install anything (no direct-x, anything - and at least my games ran straight up without problems)

Last edited 2012


Captain Wicker (crazy hillbilly)(Posted 2012) [#10]
Blitzmax games runs fine on windows 8 without any modification.

I believe M$ have it where they have to be "Metro Fullscreen" apps.