Any one with DirectDraw (AGS games won't run) "issues" experience?

Started by , Fri 03/02/2017 02:26:16

Previous topic - Next topic

Snarky

Quote from: Danvzare on Sat 04/02/2017 16:43:20
I've never encountered the other two. And I'm really curious as to what that colour distortion is about, too bad the screenshots are long since gone.

I still have them on my desktop PC, I think. I'm not at home right now, but I'll have access to it tomorrow; if I find them I'll re-upload them here.

Quote from: Crimson Wizard on Sat 04/02/2017 15:56:32
I was not aware about these two issues, which makes me wonder why no one ever told me about them before. I am not reading every thread on this forum... (and the first one is from the times when I was not contributing to the engine)

¯\_(ãÆ'„)_/¯

For my part it was that as long as the sprite scaling was broken I considered Direct3D unusable, so I've always pretty much ignored it.

Crimson Wizard

Well great...
Okay, I made a thread for gathering Direct3D problems here:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=54413

Crimson Wizard

Since I was reminded about this, JJS had written a snow/rain plugin variant that probably works with D3D and OpenGL renderers, but I never tested that out myself.
The plugin code is open source and located in our repository here: https://github.com/adventuregamestudio/ags/tree/master/Plugins/ags_snowrain
Might be worth checking out, but I personally do not have much free time now.

m0ds

Hmm, so this far, the data from this thread indicates that... well, that no-one has any issues with DirectDraw. CW who possibly did (though it was related to color depth) only had to to flip one setting for it to work.

I saw there's a pretty good way to tell if you have DirectDraw capability or not, by using dxdiag (start > run > "dxdiag" > display):


(google image, not my pc!)

"DirectDraw Acceleration". I'm interested, does this say "Disabled" for anyone? What does it say on your machine CW? What about your laptop that doesn't like DirectDraw, Dave? When you read into some of the help for this, it says if it says Disabled you generally only need to update your graphics card drivers.

Interesting point about artistic preference. If there's some hope for Direct3D9 setting to not do that strange thing with sprites then I'll look into it. But I do still think the DirectDraw thing is perhaps a bit blown out of proportion. Personally, I'd make a game to my vision and then fix it later. That's pretty much what I've done with the games published, most of them have been "made" prior to any warning "don't use X!" or whatnot. Not that directdraw or directx necessarily make such of an impact on other projects (as say one that definitely needs one or the other to work)...but the vision is at least kept in tact. Making a game, keeping every possible eventuality in check along the way is one boring ass way to make games... Well, whilst you're in the little leagues, you can claim artistic license over some elements not working, at least ;) Luckily it's not too big a deal for me in this instance. I know I can switch things over to a d3d9 version not so difficulty. But the point of this thread was to gauge if there really is a problem with DirectDraw and how big it is. But I'm not getting a vibe that there is a big problem with it at this point.

That said, I did notice there was some recent chatter on one of the plugin threads I think relevant to this, others still wondering why the snowrain plugin is directdraw only, so I intend to make another reply here about some related items. There are those other couple of plugins for rain and snow effects, but perhaps someone would be interested to finish up monkey_05_06's scripts which dave kindly sent over, they seem to be a direct translation of the directdraw only snowrain plugin (only, it's missing the snow part of it). So for people like me it's just adding the scripts to project and it utilizes your existing snow/rain plugin code. As I mentioned to Dave, that's useful for someone like myself who's written it (snowrain code) game-wide, whereas for Dave I think it only affected one or two scenes.

Dualnames

-A crash when too many characters are in the same room, experienced with the Awards Client (see here)

The limit is 75 objects and/or characters. I've built the entirety of until i have you to move collisions so that the crash can't exist. Reutilizing unusable characters and objects. Bug has existed since the very first version of the AGS IRC Client (back in 2011?), and has been reported since. Not that I'm blaming anyone for not fixing it, I just didn't know it was simple, I always thought "must be something" that can't be done.

Btw, this just in.

http://steamcommunity.com/app/439310/discussions/0/135508292191907330/
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

m0ds

Heh! But, it's pretty hard to make an AGS game lag? I'm not convinced that issue is engine related, or even related to your use of D3D9. If you're using agsblend or d3dvsync there's the possibility of a memory leak. But that sounds a lot like they simply need to update their drivers, DX version or such. Or just switch the sound to hardware renderer instead of the directsound renderer (cos if they have shitty drivers trying to run the full direct3d stuff, you'd expect them to have to make this kind of switch on the audio part too). Still, Jim, someone switching to DirectDraw to make their game work gives my side of the argument some weight, lol ;)

Dave Gilbert

If you design your game specifically to work in DirectDraw, then there's a good chance you won't be able to run the game in Direct3D. But, switching from Direct3D to DirectDraw is relatively painless. There might be some issues with slowdown and scaling, but the game will at least WORK. So the point stands - don't design with only DirectDraw in mind.

This has ceased to be an issue as more people make the switch to Win7 and higher, but that's been my experience.

m0ds

So how does one avoid what is happening in the Aeronuts screens in this thread: http://www.adventuregamestudio.co.uk/forums/index.php?topic=54413.msg636552825#new

whereby in a low res adventure setting, the sprites look extremely out of place? Because that is a big artistic imbalance when you're going for a true pixel look (though I don't notice it in Gemini Rue screens). The higher up you go in res the less visible it is but in 320x200 its extremely noticeable and odd. DirectDraw prevents it from happening, at the very least.

Dave Gilbert

If I need to scale a character that small, I'll generate a new set of sprites to be displayed at the smaller size. A bit overkill, but it's worth it if I can avoid DirectDraw. :)

(Dualnames might remember we did something similar for Primordia! We did it for Shardlight as well, during the prison escape sequence)


Dave Gilbert


Snarky

Particularly since switching to another set of sprites is tough when you're supposed to smoothly scale with distance.

Dave Gilbert

Quote from: Snarky on Wed 08/02/2017 14:36:24
Particularly since switching to another set of sprites is tough when you're supposed to smoothly scale with distance.

This is true. If you're scaling with distance that is a problem. Fixing the issue in-engine is definitely the best solution. So thanks, CW. :)

selmiak

but artist do this better than code that is generally suited to work on every sprite you feed it and doesn't know what it is scaling and then thinks that one pixel can be left out, it doesn't fit the pattern, but actually it would have been the eye of the character and now the guy is blind and looking weird.
What about adding the (hardcore) option to have additional walkcycles for 50% scaling and 10% scaling and the engine interpolates between these (if you wants to draw that many walkcycles).
Or maybe sprites in 66% and 33% size work better as a base for the code to scale it smooth, I have no idea of the math behind it, I'm just throwing numbers and ideas to further improve the engine around here :)

also, don't forget scaling up, though imho upscaling of characters ingame is not to be desired. But if you can define an additional set of walkcycles with more detail to the upscaling it should lead to some very interesting effects that could be used for more than just characterscaling.

Monsieur OUXX

Quote from: Crimson Wizard on Sun 05/02/2017 17:06:32
Since I was reminded about this, JJS had written a snow/rain plugin variant that probably works with D3D and OpenGL renderers, but I never tested that out myself.
The plugin code is open source and located in our repository here: https://github.com/adventuregamestudio/ags/tree/master/Plugins/ags_snowrain
Might be worth checking out, but I personally do not have much free time now.

Why use a plugin when modules do the same job? Nowadays the cpu use of modules is almost neglictible.
the is a snow/rain module (which has been dug up very recently in the modules subforum, by me and cat more recently).
It definitely works with 32 bit games, even though I recall you might need a little tweek (Like forcing the alpha parameter to true when calling DynamicSprite.Create or somethingg like that)
 

SMF spam blocked by CleanTalk