Should I use HWA over standard?
I think I'm just a bit confused on this subject...
I started making my game using standard mmf2... but I now have access to the HWA runtime. Should I just go ahead and move my game over to HWA? What are the downsides? What are the upsides?
Will minimum system requirements change if I use HWA? I've read that you don't actually need DX9 and that it will drop down to DX8 and even software mode if needed...
What are the sort of typical minimum system requirements for both runtimes?
From what I can tell, it would be better for me to just make the game using HWA, but I don't want to end up cutting out a lot of people with lower end machines.
My game doesn't really see any major benefits when I run it with HWA, but that might be because my computer is just really good and the game is optimized well... Will HWA hurt, or improve the game on low-end machines?
One thing I noticed is that you can't use semi-transparency in HWA, it uses alpha blending... is this going to cause slowdown on older machines?
Really I'm trying to just make sure my game can run on as many computers as possible, with minimal performance hits. I'm trying to figure out the best route to take to do this... Eventually I can test the game on a bunch of different hardware, but I'd like to know if I should test it using HWA or standard builds.
edit: I'm also kind of worried about using HWA because if I run into some issue with it, I'm not sure I could open the HWA version of my game in standard... Is that going to be an issue? Like if I ended up using shaders in HWA and then I find out HWA isn't going to work well with my game and I need to switch back to standard... will I even be able to load that file?
Re: Should I use HWA over standard?
I put it that way. Windows 7 comes with DX 11, Vista comes with DX10, Service Pack 2 for XP has got DX 9.0C and XP by itself is DirectX 8 enabled... And IF the graphic card doesn't support anything for those modes it would be only shaders (effects) which would be turned off. Nothing should cause that your game will stop running (unless you will try to run DX9 game on XP without SP2. And nowadays XP is very very low end machine.
HWA allows you to use GPU for additional calculations which boost up game performance.
You can use shaders which is great and neat way of doing effects.
It allows also a lot more objects with smooth movement and animation.
The downside it that some of those good things require not integrated graphic card.
Also not all extensions are compatible with HWA version - all of them work but some of them may have different behaviour.
Re: Should I use HWA over standard?
If its made in HWA, it will by default run much faster graphically on all windows systems that could run it, and the minimum requirements shouldn't change in any notable way. However, if you opt to take advantage of HLSL features like pixel shaders, while it can dramatically boost how good your game looks, it will also mean you can't port those features over to other runtimes like Flash or Java as easily- you'd have to loose all your pixel shaders. Although cross portability might not be as big of an issue if an OpenGL runtime becomes available.
Many graphical extensions will not work in HWA as fan said, though generally they were redundant with HWA to being with- things like the pixel object. Most of the very handy and powerful objects, like surface & text blitter & overlay can still work in HWA, but won't take advantage of GPU (processing their blitting in software, so don't abuse them too hard- but you can still apply post effects via shaders)
Think of it by scope. If you want to create a small game with pixel art and no fancy special effects, that can be ported to web gaming via flash, you should not use HWA. But if you want to create an executable for windows only, theres no good reason not to use HWA for it.
Re: Should I use HWA over standard?
Thanks for the info, it's really helpful. The current game I'm working on isn't using any fancy special effects, nor do I think it will need them in the future... Plus I want to port it to flash and possibly the android/iphone runtimes at some point, so doing as little modifying to the original game to get those ports to work would be good...
So with all of this taken into consideration, it looks like I'll avoid HWA for the time being... at least for this game anyway.
I suppose there's always the option of later going back to the standard made game after it's finished and taking it into HWA for some special effects and such.
Re: Should I use HWA over standard?
Sound plan, best of luck! Especially if you intend to go android/iphone, HWA wouldn't be the best idea since you might get too dependent on HWA-only effects, and you get none of the advantages.
Even so, I'd highly recommend compiling your finished project in HWA instead of standard, assuming everything can just port easily to it, after you've finished. IE, release a flash version, but for the .exe version if you're doing one, make sure to compile it in HWA instead of standard just to take advantage of the much faster GPU graphics- but there is a good chance a complicated game might take a lot of compatibility fixes after its already written with flash in mind
Re: Should I use HWA over standard?
Also you can use the new extension list (in Extension development forums) you've got up-to-dated groups of extensions there even for exporters (even those unreleased ones like iOs and Python) to give you some idea what extensions you can use to make your game workable even now.