Jump to content



0

Is it possible to reduce flicker in my program


11 replies to this topic

#1 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 3:29 AM

Just for the heck of it I thought I'd try to make my own version of Q*Bert. Since I want it to be somewhat nicer looking than the original Atari 2600 version I made the flying disks be sprites instead of just using missiles like (I think) the 2600 version does.

Usually 3 or 4 sprites doesn't cause me that much flicker, but because I'm using the SuperChip option and a 32 high playfield I think that it's making the flicker worse.

Now I know it's impossible to eliminate it, and using the multi-sprite kernel isn't an option because mirroring half the screen won't work for a game like Q*Bert.

So, are there tricks I could use, like turning something off that would free up more time for scanning the screen? Or am I just going have to accept the fact that I'm stuck with 2 sprites and use missile1 and the ball for the disks?

Attached Files



#2 gambler172 OFFLINE  

gambler172

    River Patroller

  • 2,060 posts
  • none
  • Location:germany

Posted Fri Mar 28, 2008 12:52 PM

Hi JBS
looks cool.The flickering is not so important,so you should try to make a playable version.
gretings Walter

#3 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 1:07 PM

Well yeah, I am planning on making a playable version, but the flickering really bothers me. It makes the sprites appear too transparent.

Using missile1 and the ball for the disks (I'm using no_blank_lines so I can't use missile0) works, but then I'm only limited to using 2 sprites, so if I want, say Q*Bert, Coily, and a red ball on the screen all at the same time, I can't.

If I used the standard playfield I wouldn't have as much as a problem, but I need it to be 32 pixels high.

Anyway, I'll figure something out I guess. It isn't that big of a deal.

#4 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 3:23 PM

Oh well, even if I'm limited to two sprites at a time, at least I can make a nicer playfield than the 2600 version (even if it ends with 6 cubes across and I only end up with 4 cubes across).

Attached Thumbnails

  • QBert.bas.bin.png


#5 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 4:57 PM

And I guess it doesn't look tooooo bad if I just split sprite 0 amongst two enemies and keep sprite 1 only for Q*Bert.

Attached Files



#6 Fort Apocalypse OFFLINE  

Fort Apocalypse

    Stargunner

  • 1,593 posts

Posted Fri Mar 28, 2008 6:34 PM

View Postjbs30000, on Fri Mar 28, 2008 6:57 PM, said:

And I guess it doesn't look tooooo bad if I just split sprite 0 amongst two enemies and keep sprite 1 only for Q*Bert.

I think you can get by with having 2 balls, 2 missiles, 2 player0 sprites, and 2 player1 sprites (alternating at each drawscreen). Lots to play with...

#7 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 7:32 PM

No, when I tried using player0 twice AND player1 twice the flicker was really horrible. If I just use player0 twice the flicker is tolerable. And I only need 1 copy of the ball and missile1, so I'm good there.

So now that I've decided on that, and have a playfield that I like, all that's left is the game play. For me, it's going to be a little tricky because it's not simply a matter of changing x and y coordinates, I also have to change QBert's sprite while he's jumping, and then again when he lands, and then for Coily (the snake) whenever he lands, I need to change to the sprite where he's all bunched up, and then switch back to normal.

#8 Fort Apocalypse OFFLINE  

Fort Apocalypse

    Stargunner

  • 1,593 posts

Posted Fri Mar 28, 2008 8:23 PM

View Postjbs30000, on Fri Mar 28, 2008 9:32 PM, said:

No, when I tried using player0 twice AND player1 twice the flicker was really horrible. If I just use player0 twice the flicker is tolerable. And I only need 1 copy of the ball and missile1, so I'm good there.

So now that I've decided on that, and have a playfield that I like, all that's left is the game play. For me, it's going to be a little tricky because it's not simply a matter of changing x and y coordinates, I also have to change QBert's sprite while he's jumping, and then again when he lands, and then for Coily (the snake) whenever he lands, I need to change to the sprite where he's all bunched up, and then switch back to normal.

When you tried using player0 twice AND player1 twice were you setting COLUP0 and COLUP1 before each drawscreen? If not, that is the reason flicker is bad. Also, Stella will appear to flicker a little unless you use Alt-P for phorphor effect. The phoshor effect simulates what it would be like on a real 2600 and real T.V.

#9 jbs30000 OFFLINE  

jbs30000

    Moonsweeper

  • 459 posts

Posted Fri Mar 28, 2008 10:10 PM

View PostFort Apocalypse, on Fri Mar 28, 2008 8:23 PM, said:

When you tried using player0 twice AND player1 twice were you setting COLUP0 and COLUP1 before each drawscreen? If not, that is the reason flicker is bad.
Yes, I changed colors before both drawscreens.

View PostFort Apocalypse, on Fri Mar 28, 2008 8:23 PM, said:

Also, Stella will appear to flicker a little unless you use Alt-P for phorphor effect. The phoshor effect simulates what it would be like on a real 2600 and real T.V.
Wow, that makes a big difference, no flicker at all. I might just try that with four sprites. I'm surprised it's not the default option. Thank you.

#10 supercat OFFLINE  

supercat

    Quadrunner

  • 6,367 posts

Posted Fri Mar 28, 2008 10:16 PM

View Postjbs30000, on Fri Mar 28, 2008 11:10 PM, said:

Wow, that makes a big difference, no flicker at all. I might just try that with four sprites. I'm surprised it's not the default option. Thank you.

Real systems do flicker somewhat noticeably when objects are shown every other screen. The alt-P option makes games look nicer than they would on a real system; in some ways that's good, but in other ways that's bad. It might be best if there were an option to make each displayed frame be e.g. a blend of 50% the current frame, 25% the frame before that, 12% the frame before that, etc. That would cause games that flicker at 30Hz to flicker slightly (objects would alternate between 67% and 33% brightness) and those that flicker at 20Hz to flicker somewhat more (objects would flicker between 57%, 29%, and 14% brightness).

#11 gambler172 OFFLINE  

gambler172

    River Patroller

  • 2,060 posts
  • none
  • Location:germany

Posted Sat Mar 29, 2008 11:45 AM

Hi jbs
This new version seems to look ok for me.
greetings Walter

#12 Fort Apocalypse OFFLINE  

Fort Apocalypse

    Stargunner

  • 1,593 posts

Posted Sun Mar 30, 2008 7:51 PM

View Postsupercat, on Sat Mar 29, 2008 12:16 AM, said:

The alt-P option makes games look nicer than they would on a real system

But by "a real system", what do you mean?

A 2600 plugged into an old tube T.V. via the old cable connector might act differently than the same 2600 via a new-fangled A/V converter into an LCD HDTV I'd think. Or is that wrong and it is still all about hertz and very little about phosphor?

I think every other frame flicker in bB games I've played are for the most part acceptable in Stella without phosphor effect, but obviously look better without flicker; however, unless you are using multisprite kernel in bB it is pretty hard to do a whole lot without a little EOFF ("every other frame" flicker). (Sorry, just felt like inventing a new acronym.)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users