Space Manbow 2

Página 5/9
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9

Por GhostwriterP

Paladin (680)

imagem de GhostwriterP

20-01-2006, 19:15

I guess norakomi is gonna use a similar technique like the parallax thing to move big massive things.
That would really make things interesting...

Por norakomi

Paragon (1133)

imagem de norakomi

20-01-2006, 22:20

It is safer, as someone reported that strange things happens to the current command if you change R#18 before the execution is completed VDP corruption is a problem which I am confronted with very ofter. Im still not sure what the exact reason is, oppinions seem to differ.
VDP CORRUPTION has to with with one/some of these:

USING R#18
DISABLED SPRITES
DISABLED SCREEN
VDP COPY NOT DONE I guess norakomi is gonna use a similar technique like the parallax thing to move big massive things.
That would really make things interesting...
I've got a couple of techniques that I havent seen on an msx before, but more about that when I worked them out in more detail.

Por ARTRAG

Enlighted (6889)

imagem de ARTRAG

21-01-2006, 12:22

@ norakomi
I have introduced in my scroll routines some background tiles of yours from SM2 and they look nice Smile
I'd love to see parallax in SM2 !
BTW do you know how to use the program bmp->msx.exe in oder to choice which colors should be
used in the sc5 final file ?

Por norakomi

Paragon (1133)

imagem de norakomi

28-01-2006, 00:45

Hey artrag,
You know what would be very cool:

A horizontal scrolling level. with a ceiling and a floor (a top and a bottom) as foreground.

Then a background which scroll together with the foreground, but also scrolls down on frame 0 and frame 8.
The total screen doesnt scroll every frame but on every even frame.

So, this will then be a not so fast level, BUT: with Parallax !!

What do you think?

Por ARTRAG

Enlighted (6889)

imagem de ARTRAG

28-01-2006, 08:36

It can be done for sure, but with some restriction on
the size of the TPSET "overlapping" areas.
How irregular do you want the ceiling and the floor?

In TP I draw the hidden page per columns of tiles 16x16.
All I need is to draw 16 columns before swapping.

One column must fit in 1/50 sec. In the same time I need also
to perform border management.

Actually the most effective compromise I have found for TP is
to draw in 1/50 sec the following things:

11 fast copies of 16x16 tiles
+
2 TPSET 16x16 blocks
+
1 veritical line copy for rigth border (1x176 pixels)
+
1 veritical line for canceling the left border (1x176 pixels)

all this stuff fits very well in 1/50 sec and allows to fill one colums,
so if you swap page each 16 frames you have a 1/50sec scrolling
and you can have nice block animations at 16/50 sec (i.e. also parallax).

Let' sgo to your requirements:

Then a background which scroll together with the foreground, but also scrolls down on frame 0 and frame 8.
The total screen doesnt scroll every frame but on every even frame.

I see that the total scroll moves 2/50 sec, so in theory
you could have 32 frames before page swap. But
you want background be animated at frame 0 and 8, so
I must swap page each 16 frames (at the same TP rate).

Unhapplily, swapping each 8 pixels implies that the tiles
must have orizontal size 8, as at page swap the screen
has moved of 8 pixels.

In order to keep the same copy efficency you should use
8x32 tiles (actually the VDP is faster if the block has larger X).

Each frame, you must fill 2 columns of 6 blocks 8x32 that corresponds
to an area of 16x192.
In 16 frames you have a new page and you can swap.

So let's recollect:
each frames you must
1) fill an area of 16x192 with tiles 8x32.
2) do border management (only even frames)

This still consists in:
1 veritical line copy for rigth border (1x192 pixels now)
+
1 veritical line for canceling the left border (1x192 pixels now)

Broadly speacking in one frame, while filling an area
of 16x192 with tiles 8x32, you must

1) fast copy 6+6 = 12 tiles 8x32
2) TPSET copy up to 4 tiles 8x32 (the limit of 4 is due to VDP timing limits)

In my experience this can fit the VDP timings.

BUT

If you would relax the requirement on the background
animated at frame 0 and 8, and you accept an animation
at 0 and 16 this would change A LOT the things.

You could update the screen each 32 frames, this gives you
the possibility to have 16x16 tiles (the VDP is faster)
and to draw a 16x176 area each 2 frames!!

This gives you plenty of time for TPSET copy and VDP effects.

In 2/50 sec you can do

12 fast copies of 16x16 tiles
+
4 TPSET 16x16 blocks
+
1 veritical line copy for rigth border (1x176 pixels)
+
1 veritical line for canceling the left border (1x176 pixels)

and you have still spare time for SPRITE UPDATE using the VDP !!

This is the solution I was implementing in my OLD TP version,
where the sprites are updated by the VDP at each frame!!

up to you the decision

Por norakomi

Paragon (1133)

imagem de norakomi

28-01-2006, 10:38

http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp " alt=" http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp " />
d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmphmm, I have problems uploading this image: can someone help me?
How irregular do you want the ceiling and the floor? Lets start with this example.
The top and the bottom (foreground) constantly looping. Only horizontal scrolling.
The rest of the screen (background) scrolling horizontally AND vertically.
The vertical scroll every 8 frames
The horizontal scroll every even frame.
http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp " alt=" http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp " />
http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp
" alt="
http://d43.yousendit.com/E/2RZUFZORQWZN310LAITELFYEIT/cavelevel.bmp
" />
If you would relax the requirement on the background
animated at frame 0 and 8, and you accept an animation
at 0 and 16 this would change A LOT the things.
Unfortunately this would not look like parallax, because then the background (which scrolls vertically&horizontally) only moves differently from the foreground every 32 INTs. Thats a too slow movement.
Hmm, let me think about a way to speed up the movement of the background.
I totally understand what you typed above, and I did enjoy TP,
however, in order to make it even better, the background HAS to (somehow>?) move faster,
every 16 or every 32 INTs is not an option for me.

Por GhostwriterP

Paladin (680)

imagem de GhostwriterP

28-01-2006, 12:08

Just a few thoughts... you could concider sort of swapping fore and background, not viually but
in coding. Scroll the background but adjust the foreground every 4 frames or so.

Por norakomi

Paragon (1133)

imagem de norakomi

28-01-2006, 12:54

But adjusting the foreground means: scrolling the entire foreground with copies.

4 frames to update the entire screen is awfully tight.

We're trying to discus 8 frames in stead of 16, which is allready very tight.

What about wrapping ?????
What other techniques for a (so called) parallax ?

screen5

Por GhostwriterP

Paladin (680)

imagem de GhostwriterP

28-01-2006, 13:20

The background is a bigger area so it only seems logical to me to change the foreground wich is
smaller.
The aproach you have to make here is a technique that is used in all common tile scroll engines
only copy what changes.
Sure you might have to concider wasting a lot of vram on foreground tiles that are 1 pixel shifted
or scroll in 2 pixels at once (it is not gonna look smooth but it will work for most).

Wrapping... you mean making your background 32 pixels wide so after two pageswaps it repeats
itself? With this trick combined with the tilescroll technique you could have a very fast (lets say
200 pixels/second) scroll.

Por ARTRAG

Enlighted (6889)

imagem de ARTRAG

28-01-2006, 17:52

IMHO the solution 8x32 is feasible and
can fit with "differential" drawing.
Among the 6+6 tiles 8x32 to update, you copy only
if the block is different fom the one already
there.

Página 5/9
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9