full framerate scroll screen 5 (Development MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 43 gasten en 3 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - full framerate scroll screen 5

Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 Volgende pagina )
Schrijver

full framerate scroll screen 5

norakomi
msx professional
Berichten: 861
Geplaatst: 06 Juli 2005, 13:54   
Quote:

You MUST split the copy in blocks whose dimensions allows and execution time lower than a frame period.

hmmmmm....
Right now I have my copies outside of the interrupt...
And the copies are the only thing outside of the interrupt.
I thought this might be a good idea to make sure that not every level scrolls at the same
speed.
I want slow and fast levels.

And putting the copies outside of the interrupt makes it that the game
(movement characters etc.) work on an allways constant speed,
and the background scroll doesn't have to be allways on the same speed.
I do synchronise the hor.sc.offset with the copies, meaning that whenever a
1/8 part of the screen is copied, the hor. offset changes 1 pixels to the left.

So the screen is build up in 8 steps (which can be on 1 or more frames per step
depending the size of the copies)

But the speed of the game will allways be constant......

If I make bigger copies than the execution of 1 frameperiod the game keeps on
going, but the scrolling will be slower.

Is this not the ideal way to play with the speed of the copies independantly of the
speed of the game?????

ARTRAG
msx master
Berichten: 1685
Geplaatst: 06 Juli 2005, 13:59   
Why only 8 steps?
You can have 16 hiorizontal positions with reg19, this means twice
the time for your copyes before the need of a pageswap.
GhostwriterP
msx addict
Berichten: 312
Geplaatst: 06 Juli 2005, 14:34   
Yeah, use all the 16 steps and have a 2 pixel at a time scroll. That will be the maximum speed
you can get. If you wanna go faster than that you need to combine some repative tile techniques
(like the SD-Snatcher scroll) with the 'regular' scroll.

norakomi
msx professional
Berichten: 861
Geplaatst: 06 Juli 2005, 16:08   
Good point!

I started using 8 steps because I wanted to use the border blanking method used
in spacemanbow.
This masks the left and right 8 vertical lines.
If I would use 16 steps then this method would be unusefull.

It's either:

16 steps and using sprites to camouflage the edges
16 steps and black lines to camouflage the jumping at the edges

or

8 steps and using the masking register
8 steps and using black lines to camouflage the jumping at the edges (only 2+ & tR)
8 steps and using black sprites to camouflage the edges

I know the masking register is only available for 2+ and TurboR.......
Making a choice still is difficult.

I made the choice to use 8 steps, I'll work with it for a while,
and maybe later choose 16 steps.....

Unless someone tells me that I have to use 16 steps RIGHT NOW !!!!!!

norakomi
msx professional
Berichten: 861
Geplaatst: 06 Juli 2005, 16:10   
when using 16 steps and u mask the edges manually by pasting black lines
and parts of the new background, how does this look regarding the sprites which
leave the screen.

Because you will see sprites on top of the black end of screen.

(o.k. you could use 1 sprite to mask each sprite leaving screen.......)
norakomi
msx professional
Berichten: 861
Geplaatst: 06 Juli 2005, 16:16   
O.k. While Im at it.....

How difficult is it gonna be using a screensplit halfway the screen so I can use 64 sprites.
Because using all 16 steps (read post above) will require extra sprites for masking the
borders....

This masking is not making me happy, because the ship I'm using is 2 sprites,
the ship can shoot 3 bullets (total=5 sprites)
If I mask the borders with sprites left and right, then you allready have
7 sprites on 1 horizontal line when the ship shoots 3 bullets.
This is not making me a happy camper....
Because then only 1 enemy (of 2 sprites) can be on the same line as the ship...

Only 1, because no more then 9 sprites can be on a horizontal line.......

now because of THIS masking the edges with sprites doesn't SEEM an option....

Thats why I choose masking the edges with the MASKing bit (2+ and turboR).
Meaning that on a normal msx you will see the edges "jump" like spacemanbow,
but on a 2+ or tR it will look good.

what should I do?
ARTRAG
msx master
Berichten: 1685
Geplaatst: 06 Juli 2005, 17:08   
The solution is ready (the one I am implementing in Total Parody)

Use the VDP for masking borders and sprites for masking sprites

you need a masking sprite only when the enimy is entering the screen and crosses the border
and you can remove it as soon as the enimy as entered the screen

the problem is that you need to update the coordinates of masking sprites
accordingly to where each enimy enter in the screen, but this is the best
solution in terms of final result

2 sprite your ship
3 bullets
2 enimies
1 masking sprite (only if and when required: it can become an extra enimy
while none is crossing the border)

Total
8 sprites

ARTRAG
msx master
Berichten: 1685
Geplaatst: 06 Juli 2005, 17:12   
Please
Use 16 steps...
GhostwriterP
msx addict
Berichten: 312
Geplaatst: 06 Juli 2005, 20:00   
There is always the trick of shooting the bullets on different heights. So you can shoot
6 bullets with having only 3 sprites in a row.
Maby you have enough time for one software sprite. If you copy the ship
within the VBLANK period (and recover the background first offcourse) it will be without
blinking (it would take about same amount off time as five 16x16 HMMM copies).
Takes some need of keeping track on scroll copies but stil one should be quite doable.

GhostwriterP
msx addict
Berichten: 312
Geplaatst: 06 Juli 2005, 20:40   
Obout that software sprite... probably not an option now i really think about it.
At least not if you go for the 8-steps scroll or 16-step 2 pixel scroll.

O well use V9990 all problems solved .

Edwin
msx professional
Berichten: 620
Geplaatst: 06 Juli 2005, 20:51   
The masking register for 16 pixels as well. As long as you draw the new patterns each 8 pixels.

Doing a sprite split is easy. Doing it is such a way that it is invisible is really difficult.
GhostwriterP
msx addict
Berichten: 312
Geplaatst: 06 Juli 2005, 21:04   
Just keep the sprites on the endge (splitline) double in both SPATs on same sprite number,
and do not forget that a sprite split does not mean 64 usable sprites (more like 48±).
ARTRAG
msx master
Berichten: 1685
Geplaatst: 07 Juli 2005, 10:05   
ehmm....
as far as I understand the problem is the number of sprites on the same line
not only the whole number of sprite on the screen

My solution leads to
1) minumim number of used sprites on the screen
2) maximum number of useful objects on the same line
norakomi
msx professional
Berichten: 861
Geplaatst: 07 Juli 2005, 11:06   
Spritesplit:

I keep my ship, 2 options, 1 missile and 9 bullets the same above and below the split.
So 2+2+1+9=14 sprites remain the same above and below the split.

When I make the split at for instance y=100 should I suppose I wait until the start of HBLANK???? right??

And as soon as that starts I load my new spritetables (exept the ship, 2 options, 1 missile and 9 bullets) into VRAM, And the colorsettings, and the possitions.

This is what the spritesplit comes down to, right?


Ps. thanx for the tips given above.
And YES, I'm gonna use 16 steps and 1 sprite for masking the incoming/outgoing sprites and I'm gonna mask the borders with the VDP (copy past little black lines)

About putting the background scroll inside or outside the interrupt as I mentioned before.

What can you advise about this.... The thing is, I want to have as much freedom as possible with the speed of the backgr.scroll. I would love to have slow and fast scrolling levels.???
norakomi
msx professional
Berichten: 861
Geplaatst: 07 Juli 2005, 11:08   
Quote:

The solution is ready (the one I am implementing in Total Parody)

Use the VDP for masking borders and sprites for masking sprites

you need a masking sprite only when the enimy is entering the screen and crosses the border

how many sprites would you advise to use for the masking?
would 1 be sufficient? (hmmmm, maybe this is a bit personal)
 
Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.