+Gemintronic Posted March 27, 2012 Share Posted March 27, 2012 (edited) 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 maryo.bas Edited July 13, 2012 by theloon 3 Quote Link to comment Share on other sites More sharing options...
Nateo Posted March 28, 2012 Share Posted March 28, 2012 That's a nice little demo! Have you had any specific ideas for games using this technique? Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted March 28, 2012 Author Share Posted March 28, 2012 (edited) 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 March 28, 2012 by theloon Quote Link to comment Share on other sites More sharing options...
abaudrand Posted March 29, 2012 Share Posted March 29, 2012 this is impressive !!! Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted March 30, 2012 Author Share Posted March 30, 2012 (edited) 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 March 30, 2012 by theloon Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted March 30, 2012 Author Share Posted March 30, 2012 (edited) 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 March 30, 2012 by theloon 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted April 11, 2012 Author Share Posted April 11, 2012 So, I discovered changing NUSIZ4[3] = 1 makes player2 disappear! Is this an undocumented feature in the multi-sprite kernel? The yellow bonus object is player2 in this instance. I make it blink with this technique. smoothcrl2.bas Quote Link to comment Share on other sites More sharing options...
abaudrand Posted April 11, 2012 Share Posted April 11, 2012 what do you think if the glittering is a little faster? Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted April 11, 2012 Author Share Posted April 11, 2012 (edited) 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 April 11, 2012 by theloon Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 13, 2012 Author Share Posted July 13, 2012 Okay. The first post has been updated. Now everything is clipped properly so there should be no pop-in. Smooth horizontal scrolling people! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.