| |
ready.
Registered: Feb 2003 Posts: 441 |
Flimbo's Quest scrolling routine
I was looking for some documents explaing how to do the scrolling effect like in Flimbo's Quest, where there are 2 levels of scrolling moving at different speeds, one level behind the other one. Anyone can help me? Thanks. |
|
| |
Scout
Registered: Dec 2002 Posts: 1570 |
If I recall correctly, the "scrolling effect" is called Parallax Scrolling.
The hardcore coders here can (hopefully) explain how to do this (charset trickery?).
R. |
| |
Ben Account closed
Registered: Feb 2003 Posts: 163 |
Correct. Indeed char trickery. Although the background chars scroll along (d016), you can animate the chars to do differently. That is pretty much it. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
lets say chars $00-7f are to build up the upper layer, chars 80-ff for the background layer. You store the charset 4 times, where the 2nd half of chars are "animated", in other words shifted in a direction more and more.
now you do your general scrolling with d016 while you animate the background layer's chars to move to the opposite direction, which gives the vision they move slower. Now you can build up the screen from chars and distuingish between layers by checking the chars upmost bit bpl/bmi. |
| |
ready.
Registered: Feb 2003 Posts: 441 |
Ok, I've got the main point, thanx. But still I don't understand what happens when the upper layer overlaps with the lower layer, which is then hidden underneath. I would do an AND between the two chars overlapping, but it would take too much time.... |
| |
QuasaR
Registered: Dec 2001 Posts: 145 |
Just checked Flimbo's Quest out: If you look closely you'll see that the upperlayer chars are always 4 multipixel wide so there's no "overlapping" with the background in one char. It would be indeed too slow, to and/or the upper and background layer. |
| |
QuasaR
Registered: Dec 2001 Posts: 145 |
Ah, forgot something (damn Alzheimer...). Sometime ago, in the glory times of the german mag "64'er" they released a tool to edit such paralax chars: http://noname.c64.org/csdb/release/?id=15424. I think the game GENLOCK was made with this tool. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
overlapping is character based... thats all. no ORA or AND or whatever, a char on the upper layer always hides the whole char behind it. |
| |
AmiDog
Registered: Mar 2003 Posts: 97 |
Read about Flimbo's scrolling here:
http://www.lemon64.com/forum/viewtopic.php?t=2922 |
| |
Wile Coyote Account closed
Registered: Mar 2004 Posts: 646 |
Wasn't the game Paralex (Paralex?) the first game to show the effect in a commercial game. They only used 4 char definitions for the effect, which as impressive as say, Hawk Eye |
| |
Wile Coyote Account closed
Registered: Mar 2004 Posts: 646 |
which was not quite as impressive as say, Hawk Eye :) |
| |
TDJ
Registered: Dec 2001 Posts: 1879 |
Quote: Wasn't the game Paralex (Paralex?) the first game to show the effect in a commercial game. They only used 4 char definitions for the effect, which as impressive as say, Hawk Eye
Not sure if it (parallax) was the first game to do so, but it could explain the name of the effect (parallax scrolling, as Scout already mentioned above).
|
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Jon Hare has gone on record as saying that Chris Yates lifted the idea for the parallax in Parallax from Bounder, just improving it for multi-way scrolling... =-) |
| |
Wile Coyote Account closed
Registered: Mar 2004 Posts: 646 |
Oh, i remember Bounder, the screen only scrolled in one direction though (downwards). As most people will no doubt know, Parallax scrolled in all 8 directions. I think i read once that the effect came about before the game. It was the effect that then inspired the game to go a head. |
| |
PopMilo
Registered: Mar 2004 Posts: 146 |
Flimbo's routine was great. Most important thing was the design of each char. They were drawn very well, so you couldn't see easyly that they are 8x8 (or 4x8) pixel blocks. I remember doing a routine that had screen (20x12 char = 240 multicolor chars), 4 colours each pixel,and full dual layer scroll. When I say "full" I mean "BACK and MASK or FRONT" for every byte of front layer that had something in it. It was nice, but a lack of colours, small screen, and not many cpu clocks remaining for anything else made me drop the idea .... but it still haunts me from time to time. What if you would take Flimbo kind of routine, and just add maybe 64 or 128 chars for the parts of screen that need masking ? And copy data from the back into them, and with coresponding mask from the front, and put it on screen. Graphic would seem smoother, and we would have one more thing to brag about. Well it's just a thought.
|
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
hmm to me the pattern looks like 8x16 and not 4x8. |
| |
PopMilo
Registered: Mar 2004 Posts: 146 |
Most levels do have a 2x1 har kind of objects in the front layer, but there are also objects that are 1 char wide (ladders in level one, gravestones in the graveyard level (level 6 or 7, I don't know exactly). Anyway it's not a problem to make such graphic.
I would try to ad chars in corners to make object boundaries smoother (to give them a black edge) and to be able to do some round objects not only square ones, and some black tree branches or something like that (fences, shadows ...)
|