Still a mystery

Published December 20, 2006
Advertisement
So it's still a bit of a mystery why programmer16 and Christophedo are getting the weird graphics when they test my game. I've posted in the DX forum but no joy so far.

If either of you are reading this, it would appear from Christophedo's screenshot that the game was running at 800x600 rather than the 1024x768 that the game requests.

That is quite weird, since the D3D wrapper specifically tests for the presence of 1024x768 and should fail at startup if it is not available. It the specifically requests 1024x768 when the device is acquired.

Unless Christophedo resized the screenshot he posted, it would appear that the graphics artifacts are caused by your cards resizing the screen to 800x600, but I have no idea why this would be.

Could either of you confirm - was it 800x600? Was the game somehow managing to run windowed or was it fullscreen at the time? Are you aware of any card settings you have that might override the resolution requested by an application?

Thanks.
Previous Entry New demo
Next Entry Update
0 likes 11 comments

Comments

Christophedo
Sorry I didn't reply earlier, formatted my computer today as I had some problems installing the visual studio service pack. But anyway, it was running at 1024x768, it's just that photobucket resizes all the images to 800x600.

I've had these problems before but I can't remember how I fixed it exactly. I think it may have had something to do with the texture coords but you said you were offsetting by 0.5f. Sorry I can't be of more help.

[Edit] It was running in fullscreen as well.
December 20, 2006 03:37 AM
Aardvajk
Okay - thanks for clarifying that and for your help so far. Have a well deserved rate++.

I'm now back to the theory that your card is applying some kind of filter or antialiasing the graphics. Is it possible you have some kind of card setting that will filter or antialias graphics even if the application does not specify it?
December 20, 2006 03:47 AM
Christophedo
Ah! I ran it again after formatting today and the lines are gone. There is an option to fix the antialiasing but I've never used it, it's always set to be application controlled.

The only thing that I've thought of is that maybe the texture is being wrapped when you offset by 0.5f? Maybe setting the texture coords to be D3DTADDRESS_CLAMP with SetSamplerState may help?

And thanks for the rate++ [grin].
December 20, 2006 04:08 AM
benryves
I tested it last night on my machine, and it worked flawlessly. Good work. [smile]

(Super-cheap Sapphire ATi Radeon 9550 128MB if it makes any difference).

I tried fiddling around with all of the card settings, forcing various different filtering and antialiasing options onto the app, and couldn't make any of these problematic lines appear.

I'd second the request for variable jump heights, though. [wink]
December 20, 2006 04:42 AM
Aardvajk
[EDIT - Goddman journal post reply orders. The below was in response to the comments about the graphics issues and was posted before the reply to the comment about the jumping]

Cool.

So now it's just programmer16 reporting the lines. Strange that a reformat caused them to vanish from Christophedo's PC.

So if programmer16 is reading this, are you aware of any local graphics settings that could be causing filtering or anything to override what my application asks for? Could you post me a screenshot of the problem?

I think my readme file is going to contain:

Quote:
Known Issues

Occasionally on some computers, the graphics look a bit weird. If this happens to you, we suggest:

a) not worrying about it
b) going and getting a different freeware Mario clone to play
c) playing with your eyes closed (this should reduce the problem)



Solved.
December 20, 2006 05:11 AM
Aardvajk
Quote:Original post by benryves
I'd second the request for variable jump heights, though. [wink]


I was looking at the code with this in mind last night actually. It's a bit of a problem.

Basically every dynamic object in the game just has x and y velocity float members and the CDynamicItem::Call() looks after applying these to the x and y position, applying gravity and doing collision checking and so on.

So the actual player class Call() method just examines the state of keys and applies changes to the velocities. Clearly when space is pressed, it checks to make sure the player is on the ground, then applies a large upward velocity all in one go, which causes the nice smooth upward decelaration and fall back to earth.

I suppose it is still feasible. When space is pressed, a timer could be started as long as the player was on the ground at the time and while the timer decreased, an upward velocity that was proportional to the amount remaining in the timer could be applied to the player so we preserve the nice smooth up and down accerlation and decleration.

Two people on GameDev requesting this is like about 40% of my intended market, so I guess I better do something about it [smile].
December 20, 2006 06:09 AM
benryves
(Here's hoping this ends up at the bottom).

I don't know how it would look if you just truncated the jump when the space bar was released. Using the time the bar was pressed before jumping would probably annoy people, as a platformer should be quick to respond.
December 20, 2006 06:55 AM
Programmer16
Sorry I didn't reply earlier, I've been enthralled in Oblivion. I was seeing lines because of my graphics settings (I had it set to automatically enable anti-aliasing and anisotropic filtering.) After disabling those it looks perfect.
December 20, 2006 07:00 AM
Aardvajk
benryves - No, I'd still have you jump immediately, but just keep applying smaller upward velocities until you released the spacebar or reached a maxmimum. I'll have a play tonight.

programmer16 - thanks for confirming that. Quite relieved to see that this issue seems to be resolved. I'd be willing to bet that Christophedo had some weird card settings that reformatting his machine cleared as well. Happy Oblivion-ing. I've played the one before Oblivion a bit (can't remember what its called) but couldn't really get into it.
December 20, 2006 07:28 AM
benryves
Quote:Original post by EasilyConfused
benryves - No, I'd still have you jump immediately, but just keep applying smaller upward velocities until you released the spacebar or reached a maxmimum. I'll have a play tonight.
Having reread your original post, that's pretty much what I meant by truncating. Whoops. [rolleyes]

I think it's that time of year; I posted a bemused response to someone who appeared to want to write Flash animations in the Z80 IDE I've developed.

Turns out he wrote Flash applications.
December 20, 2006 08:43 AM
Aardvajk
Quote:Original post by benryves
Quote:Original post by EasilyConfused
benryves - No, I'd still have you jump immediately, but just keep applying smaller upward velocities until you released the spacebar or reached a maxmimum. I'll have a play tonight.
Having reread your original post, that's pretty much what I meant by truncating. Whoops. [rolleyes]

I think it's that time of year; I posted a bemused response to someone who appeared to want to write Flash animations in the Z80 IDE I've developed.

Turns out he wrote Flash applications.


Are you sure he didn't mean flesh animations? There's a lot of that about on the internet, as I understand it.

I blame all the mince pies.
December 20, 2006 09:15 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement