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

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

Previous topic - Next topic

m0ds

Hello! I'm in a bit of a predicament...maybe. I'm here to gather a bit of intel before deciding how to proceed...

I started an AGS game years ago in DirectDraw mode. Also 16 bit color. Now I've heard that for some people, a game made like this won't run. That said, I'm using Windows 8 and it has no problems with DirectDraw mode. So I'm kind of asking "what's the fuss?". I jumped from XP > Win 8.1...and so far I've not had incompatibility issues with any AGS (3.2.1+) games myself (regardless of directdraw or direct3d9 setting in winsetup).

I spoke to Dave who encountered this with Gemini Rue. DirectDraw is forced when you use the snow/rain plugin (which again, I do at the moment). But again, this works fine on my Win 8 machine. Looking over Dave's forum it seemed to affect Win 7 users but not really anyone else. The internet however suggests some win 8 users do have problems with directdraw. There's no denying DD is antiquated and as Dave says, AGS games should (for safety) always work on D3D9 setting (and I don't disagree).

But I'm trying to guage if this is a potential disaster in the works, or if it seems like that simply because the only real notes on this issue are for Gemini Rue back when Windows 7 was the main OS at the time. Dave did have some solutions, in the end simply drawing rain as a sprite etc, though monkey05_06 had started a version of snow/rain for d3d9 (and it does kind of work!)...but I'd like to dig a little deeper into the root issue "DirectDraw doesn't work on some systems" and why, before having committing to a final solution.

I'm wondering if anyone here has one of these known problem machines that spit out games using DirectDraw? As far as I can tell it's generally only Windows 7 pc's, has anyone on win 8 or 10 experienced this though? What do people know about this problem if at all?

Now my options are: 1. remove snow/rain plugin (or replace with one of the other ones like akiyuma (sp) particle engine. Yes, this is a possibility. HOWEVER, when the game utilizes the direct3d renderer it looks like shit. Sprites look ugly, no longer looking seamless with the low res backgrounds. As such, I think I WANT people to use DirectDraw where possible...

2. I'm interested to keep directdraw alive so another option is to see if some of the "hacks" to get directdraw working on machines work. There seem to be a few possibilities out there, "ddhack" being one of them (a DLL for the game folder).

3. update game to 32bit. I tried this today with pretty bad results, all backgrounds become corrupted when I run the game and various other things stopped working for some reason...I haven't worked it out nor am I arsed right now to sit and re-import 50 backgrounds. That said I'm not sure this is really related to the directdraw issue. It was just a poor choice of color depth at the time...

ULTIMATELY, if someone here KNOWS their machine spits out a game set to DirectDraw, and could try a couple of compatibility/directdraw things for me, that'd be great. Or, if you have any knowledge/experience or system config issue relating to this issue (as I say I've got a feeling it only affects Win 7, which left DirectDraw out?) then please let me know. Additionally, if you had problems running a directdraw AGS game but got it working, can you share how you did it? Thanks!

I put this here in general cos it's more about end user experience than the engine itself.

Crimson Wizard

Under Win7 and after I installed new graphics card, DirectDraw does not work properly with non-32 bit games anymore: it does not refresh the screen until you move the window, which makes it impossible to play the game. (I now have to use virtual machine with Windows XP to test engine in DirectDraw mode).


Quote from: Screen 7 on Fri 03/02/2017 02:26:16
Now my options are: 1. remove snow/rain plugin (or replace with one of the other ones like akiyuma (sp) particle engine. Yes, this is a possibility. HOWEVER, when the game utilizes the direct3d renderer it looks like shit. Sprites look ugly, no longer looking seamless with the low res backgrounds.

Perhaps it will make more sense to work out a solution to these rendering issues? Maybe it is the same issue as AGS had with the character scaling (which is now fixed in development version).
Also, did you try weather script module instead? I heard Wadjet Eye moved to using script modules instead of plugins, because they had to port games to other systems.

Danvzare

Quote from: Screen 7 on Fri 03/02/2017 02:26:16
I started an AGS game years ago in DirectDraw mode. Also 16 bit color.
Why on earth would you choose 16 bit colour?
Actually, scratch that, why does anyone choose 16 bit colour?
That always confuses me, so an answer to that would be brilliant.

Quote from: Screen 7 on Fri 03/02/2017 02:26:16
I spoke to Dave who encountered this with Gemini Rue. DirectDraw is forced when you use the snow/rain plugin (which again, I do at the moment). But again, this works fine on my Win 8 machine. Looking over Dave's forum it seemed to affect Win 7 users but not really anyone else. The internet however suggests some win 8 users do have problems with directdraw. There's no denying DD is antiquated and as Dave says, AGS games should (for safety) always work on D3D9 setting (and I don't disagree).

But I'm trying to guage if this is a potential disaster in the works, or if it seems like that simply because the only real notes on this issue are for Gemini Rue back when Windows 7 was the main OS at the time. Dave did have some solutions, in the end simply drawing rain as a sprite etc, though monkey05_06 had started a version of snow/rain for d3d9 (and it does kind of work!)...but I'd like to dig a little deeper into the root issue "DirectDraw doesn't work on some systems" and why, before having committing to a final solution.

I'm wondering if anyone here has one of these known problem machines that spit out games using DirectDraw? As far as I can tell it's generally only Windows 7 pc's, has anyone on win 8 or 10 experienced this though? What do people know about this problem if at all?
I have Windows 7, and don't have any problems with DirectDraw. As far as I can tell it's not the operating system that seems to have the problem, it's the graphics card. After all, I'm still using a pretty old graphic card from my Windows XP days.

Just reading CW's comment confirms my theory.

Quote from: Screen 7 on Fri 03/02/2017 02:26:16
HOWEVER, when the game utilizes the direct3d renderer it looks like shit. Sprites look ugly, no longer looking seamless with the low res backgrounds. As such, I think I WANT people to use DirectDraw where possible...
No need to worry about sprites not being pixel perfect. That's going to be fixed soon in a later release. (Besides, I kinda like mismatched pixels.)


Now as for what you should do. Well that's difficult to say. Personally I'd make it 32-bit, and also make sure the game could at least run with the Direct3D renderer. But I'm not entirely sure if that's feasible this late in development.

cat

My suggestions would be:

  • Move to 32bit (I once had problems getting a 16bit game to run on a modern computer)
  • Get rid of the plugin. Plugins are a terrible idea anyway, because they will not work with Linux, for example.

Dualnames

For me it has always been the other way around. I'd say definitely no matter what get rid of the plugin.
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)

Dave Gilbert

DirectDraw should be avoided at all costs. It's not supported anymore and causes no end of problems. An AGS game in DirectDraw mode won't run on a large number of computers, specifically laptops. What usually happens is the game freezes completely upon startup. When I first encountered this problem and called up a tech support line, the first suggestion they gave was to "try using DOSbox!" This was back in 2011, and DirectDraw was outdated even THEN.

So, yeah. Don't use DirectDraw. I personally think it should be removed from AGS entirely, but I know I'm in a minority.  :D

Snarky

Is this a commercial game? If so, obviously you should follow Dave's advice. Why even ask?

If not... eh, do whatever you feel like.

Quote from: Danvzare on Fri 03/02/2017 12:45:35
Why on earth would you choose 16 bit colour?
Actually, scratch that, why does anyone choose 16 bit colour?
That always confuses me, so an answer to that would be brilliant.

Because until relatively recently, it was the default AGS setting. (The question of why that was is trickier.)

Buckethead

I'm running Windows 10 on my laptop with an AMD processor and AMD Radeon R4 Graphics. Just tried running a bunch of AGS games in Direct Draw. All of them started without problems. Only Journey of Iesir slowed down to a crawl but otherwise ran fine.

m0ds

Thanks for the notes! I'd rather get the proper answer than just do something "because Dave does it". I gave it a whirl on my Win 7 laptop and it also works fine (so DirectDraw working on Win 7, Win 8 and Win 10...does that really make it 'unsupported' and absolutely worth striking off? for me...no)

CW I think you're onto something, it must be a particular gfx card or chipset or such. Dave gave me good lines on enquiry and even a solution or two, but he certainly hasn't said which graphics card this problem lies with. Also, having a Win 7 laptop as your only PC is a situation unique to Dave lol. So it's worth continuing the investigation, there clearly is no solid answer yet. For now this, to me, gives the impression that DirectDraw works. That it's fine. And it's supported. There's just some awkward batch of gfx cards or something in play that perhaps got shipped with a lot of Windows 7 machines at one point.

An OS wide issue would be terrible. But as this seems confined to a particular gfx card or chipset running under Win 7 (which perhaps a bunch of computers were shipped with at the time, the same time they removed MIDI drivers -- what I'm starting to call the 'special' batch) then I think it's worth at least considering the main reason for this issue before calling a decision on using it or not.

Honestly I think "DirectDraw should be avoided at all costs." is perhaps a bit overkill. I DO want to avoid a shitstorm, but I'm wondering more and more if that shitstorm you faced was merely a product of its time. You've got Win 7 going out the door in a few years, yet DirectDraw seems fully stable on graphics cards post that era (those of us using win 8 and 10 machines etc). You say yourself it was an issue with Win 7 laptops, which again strengthens my "bad batch" theory (and the useless answer you got from customer service doesn't help much haha!) but nothing beyond that, and the world is moving on from Windows 7 slowly but surely (even if a lot of Win 7 users refuse to do so) ;)

So for anyone who DirectDraw AGS games don't work for, details of your graphics card would be useful here. And I appreciate the notes about it working on Win 10 and such. Thanks again!

ps. Yes intend to up to 32 bit. I guess that's just a symptom of starting the game in 2006 with whatever AGS version ;)

cat

I don't really understand you
- you are making a commercial game
- you know that some people will have issues with DirectDraw
- you still want to risk pissing people off just because of one single plugin?

You know, Kinky Island is a retro adventure which means that the target audience probably does not have the most high-end computers. Win7 Laptops are still very common (our whole company uses them, for example). I even know a few people still using WinXP :P

Dave Gilbert

I never said it was a Win7 specific issue. DirectDraw caused no end of problems on a different number of systems. There didn't seem to be any rhyme or reason to what caused it. In the end, I avoided needing to think about it entirely by switching everything to Direct3D. I've had no problems since.

Edit: In seeing old posts, I did mention Win7. This was because it was the most recent OS at the time. The point still stands though. DD is antiquated and can cause unpredictable problems on modern systems. If I had issues in 2011, I can only imagine what issues One could have now. Why put yourself through that? For one rain effect? 

Crimson Wizard

Regarding specifics, I had Nvidia GTX 465 before, which had AGS run in DirectDraw, now I have Nvidia GTX 960, which does not. That may also be related to the driver really, or combination of drivers/Windows components installed.


But there is something else. I find it very worrying that people are basing their game on particular renderer, while they probably should not. The renderer was supposed to be a free option of end-user (player).
Also, renderers may work differently on other platforms and have their own issues. For example, on Linux there is no "DirectDraw" renderer, but just allegro's software renderer (not sure what it uses internally, probably some Linux variant of desktop drawing system). Mobile ports use OpenGL, which is closer to Direct3D in the sense that it paints sprites to  textures before rendering them in 3D space. (It is not impossible that AGS will have OpenGL as a main renderer in the future)


I'd like to hear what were the reasons to "choose" DirectDraw renderer, or "choosing" renderers at all, because if they are related to bugs or unexpected behavior you are experiencing with other renderers, then the solution should be in fixing these. If it is because of plugin that only works with one particular renderer, then such plugin is not a good idea either in a long run, and maybe you should look into changing plugin or rewriting existing one.

Snarky

I have experienced three problems with Direct3D that makes me always prefer DirectDraw:

-Inconsistent pixel scaling with sprites (the problem you're working on fixing)
-Color distortion (reported here, though the screenshots are no longer visible)
-A crash when too many characters are in the same room, experienced with the Awards Client (see here)

Perhaps the last two have been fixed as well, I haven't tried it in recent versions of AGS.

On the other hand, because DirectDraw is slower, it means you get the music stuttering bug when changing rooms.

Crimson Wizard

Quote from: Snarky on Sat 04/02/2017 15:45:18
-Color distortion (reported here, though the screenshots are no longer visible)
-A crash when too many characters are in the same room, experienced with the Awards Client (see here)

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) The character number limit is probably related to another fixed-sized array, which could be fixed in no time. For color distortion I'd need either working test, or explanation on how I can see that in existing game.

m0ds

QuoteThere didn't seem to be any rhyme or reason to what caused it. In the end, I avoided needing to think about it entirely by switching everything to Direct3D.

Ha, oh but there's always rhyme and reason, computers don't go awry because one of the untouchable other 11 dimensions causes a time-space-computer rift, it's because of a piece of man-made hardware, or software setting or AGS line of fallible code. If you can't find one, you're just not looking hard enough ;) Or the people you're asking (helplines that advise you to use DOSbox) are thinking more about their lunch break than actual solutions. So agree to disagree. You found a solution or rather, you found a workaround, that worked for you. I guess I'm still looking into mine!

CW thanks for the info. I'm seeing somewhat a pattern of Nvidia GT gfx cards experiencing this at the moment. But as I said originally, I'm here looking to see if there are any SOLUTIONS, not just workarounds. So if you're able, could you perhaps try putting these files into one of your AGS games compiled folder (on your computer with directdraw issue), and see if it runs please? And if it runs, anything else noticeable or is it smooth operation from there on out? Anyone else is welcome to try this too and feedback about it: http://www.screen7.co.uk/privates/ddhack.zip (it's a dll and a cfg file that go with the games EXE. it's been used by people on GOG having difficulty running some games)

That said, if those ddhack files are in a compiled folder and you HAVE working DirectDraw in the first place, it seems to be preventing the game from loading. Though I haven't tested that on other machines yet so not sure how certain that is.

Crimson Wizard

Quote from: Screen 7 on Sat 04/02/2017 15:57:04
Ha, oh but there's always rhyme and reason, computers don't go awry because one of the untouchable other 11 dimensions causes a time-space-computer rift, it's because of a piece of man-made hardware, or software setting or AGS line of fallible code. If you can't find one, you're just not looking hard enough ;) Or the people you're asking (helplines that advise you to use DOSbox) are thinking more about their lunch break than actual solutions. So agree to disagree. You found a solution or rather, you found a workaround, that worked for you. I guess I'm still looking into mine!

But is not what you said also applies to you: instead of finding a solution for Direct3D issues too, you decided to force players use DirectDraw with your game?

E: I believe problems experienced with Direct3D are not related to Direct3D as a rendering system, but rather to the engine using that system incorrectly; mistakes when converting bitmaps to textures, mistakes when aligning textures in 3D space, and so on, which means they should be fixed anyway.


Quote from: Screen 7 on Sat 04/02/2017 15:57:04
So if you're able, could you perhaps try putting these files into one of your AGS games compiled folder (on your computer with directdraw issue), and see if it runs please? And if it runs, anything else noticeable or is it smooth operation from there on out? Anyone else is welcome to try this too and feedback about it: http://www.screen7.co.uk/privates/ddhack.zip (it's a dll and a cfg file that go with the games EXE. it's been used by people on GOG having difficulty running some games)

Actually, I have an update on what I said earlier: the DirectDraw works when game is run in 32-bit mode, but when it runs in 16-bit, it does not redraw itself unless I force it to (alt+tab, or move the window around).
The ddhack prevents game to start up at all.
EDIT: Now that I realized this, I switched my display to 16-bit mode, and the 16-bit games run fine.

m0ds

Thanks for trying! Not fully sure what you're suggesting though, as you've thrown color depth's into the mix, so just to clear it up:

Is it that, DirectDraw DOES work for you, you just need to change your SYSTEM color depth to get a game to run?

or is it that it DOES work for you in 16bit but you have to use ddhack files? Sorry, not sure if you're effectively saying it was related to your color depth setting all along or whether you still need ddhack to get it running. Thank you!

Crimson Wizard

Quote from: Screen 7 on Sat 04/02/2017 16:37:12
Thanks for trying! Not fully sure what you're suggesting though, as you've thrown color depth's into the mix, so just to clear it up:

Is it that, DirectDraw DOES work for you, you just need to change your SYSTEM color depth to get a game to run?

or is it that it DOES work for you in 16bit but you have to use ddhack files? Sorry, not sure if you're effectively saying it was related to your color depth setting all along or whether you still need ddhack to get it running. Thank you!

Ddhack prevents me from starting the game.
Switching display mode to same color depth as the game helps.

Danvzare

Quote from: Snarky on Sat 04/02/2017 15:45:18
-Inconsistent pixel scaling with sprites (the problem you're working on fixing)
-Color distortion (reported here, though the screenshots are no longer visible)
-A crash when too many characters are in the same room, experienced with the Awards Client (see here)
The first one is being fixed as far as I know.
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.

Still, no one should let an artistic preference (in other words the subpixel scaling), get in the way of increased compatilibility.

Like CW said, you should make sure your game works as good as possible on both DirectDraw and Direct3D. Sure DirectDraw is old and outdated, but I'm sure some really old computers might struggle using Direct3D. And I don't know about any of you, but I want my games to be playable for as long as possible, on as many computers as possible.

Also, Mods, if you can somehow find a way to get DirectDraw mode to work on computers where it doesn't, then I say go for it. Maybe your solution could be incorporated into the engine. But still, either way, you will need to include support for Direct3D.

Crimson Wizard

Quote from: Danvzare on Sat 04/02/2017 16:43:20
Also, Mods, if you can somehow find a way to get DirectDraw mode to work on computers where it doesn't, then I say go for it. Maybe your solution could be incorporated into the engine. But still, either way, you will need to include support for Direct3D.

It is impossible for the game to include support for specific renderer, because that is what engine is supposed to do. What game developer can do is not do something: like using plugins that only work with 1 renderer, or only on one system.
(That said, I am not sure why the plugin only works with DirectDraw... does it draw directly on screen surface?)

On the topic of improving the engine support for all renderers that would help tremendously if people were working together on solving those issues. Instead of this it looks like everyone keeps to itself for most of the time, only making posts like that after several years of struggle. Make a list of all known problems related to Direct3D, for example, and keep it updated.

SMF spam blocked by CleanTalk