Jump to content
IGNORED

Smooth Horizontal Scrolling Demo


Gemintronic

Recommended Posts

My port of the Great Gianna Sisters.. Well, not really! I just wanted to prove SMOOTH side scrolling IS possible on the 2600.

 

The trick is to move the sprites and not the playfield.

 

This iteration I found a way to clip the sprites so there is no pop-in or pop-out at the edges. Basically, I made the playfield the FOREGROUND and made it black. Sprites are drawn underneath the black playfield pixels so when they pass through the edges they appear to smoothly scroll off the screen. The tradeoff is that the ground and sky both share the same color.

maryo.bin

post-13304-0-24399700-1342209408_thumb.jpg

maryo.bas

Edited by theloon
  • Like 3
Link to comment
Share on other sites

Any side scrolling platformer, really. The sprites were inspired by the Great Giana Sisters. The way the levels need to be laid out seems to steer towards Pitfall though. Gainas Pitfall?

 

I've suggested smooth horizontal scrolling could be done several times without much of a response. I decided to put up or shut up and create a demo. it's my first forray into the multi-sprite kernel.

 

I've not found a good way to hide the sprite wrapping around for the player, vertical columns, enemies and items.

Edited by theloon
Link to comment
Share on other sites

This is basically abusing how the bB kernel deals with sprites overdrawn off the screen.

 

1. Create a row of blocks that spans the entire playfield (clipped at 3 playfield pixels right and left in the multi sprite kernel default res)

2. Create a quad sized sprite that is the same color as the background and place it in front of the row of blocks. This is your "hole" between platforms.

3. Do not scroll! Move the hole left or right as needed. Wrap around when x reaches 0 or 144.

 

The bB kernel will glitch sprite placement as you attempt to move off screen. The 3 playfield pixel margin on the sides is left blank so the player never sees any sprite aberrations.

 

I could fine tune this to use the entire screen but I'd have to research which x positions to use at the sides that don't cause sprite placement glitches.

Edited by theloon
Link to comment
Share on other sites

Okay, here is a "Project MD" themed version with some platform physics. The diamond appears and disappears sorta intentionally as a side-effect of a glitch. The multisprite kernel IS SUPPOSED to reflect via bit 3 of NUSIZ (for virtual sprites) but instead seems to vanish the sprite..

proj26-4P7F007.a26

Edited by theloon
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

what do you think if the glittering is a little faster?

 

Then I forgot to turn off the disco ball while snorting cocaine again!

 

I suppose it'd be a half-tone color? Maybe I could have more "coins" on the screen if I flicker them? I don't know about making them go any faster. I don't like most flickering techniques because they look crappy on LCD panels.

 

This is the first time I tried doing strange things with the NUSIZ variables. If anyone else has found some nice tricks please share :)

Edited by theloon
Link to comment
Share on other sites

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...