Jump to content
IGNORED

Examples of the most advanced side scrolling?


ZackAttack

Recommended Posts

I'm looking for games or demos that have horizontal scrolling with a resolution of 4 pixels (1 PF Pixel). Which are the ones that have the most impressive graphics? Highest vertical resolution, most colors, largest levels and other technical criteria should be used to determine what is most impressive.

The intention of this topic is not to say one game is better than another. I just want to gain an understanding of what the current status of side scrolling tech on the 2600 is.

 

*EDIT - Only interested in games that do not flicker the playfield. Interlaced is probably acceptable.

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

So it looks like thrust supports 1/4 vertical resolution and full horizontal resolution in a single color. That would take more than 128 bytes to buffer, so I'd speculate that the kernel is loading level data and shifting it over in the 3 blank lines that precede each visible scan line. Very impressive for a 16k game.

  • Like 1
Link to comment
Share on other sites

So it looks like thrust supports 1/4 vertical resolution and full horizontal resolution in a single color. That would take more than 128 bytes to buffer, so I'd speculate that the kernel is loading level data and shifting it over in the 3 blank lines that precede each visible scan line. Very impressive for a 16k game.

No need to speculate, the code is available. icon_smile.gif

 

I have to look at it again for details, but your speculation is quite right.

 

Between each stripe there is a x delta value for the left and right wall. For each value there is a repeat counter. Effectively this defines wall border lines (vertical, diagonal). This allows a very compact storage of the planet data required for the kernel. All 8 planets and the kernel together with the sprites and wire data fits into one single 4k bank.

 

Based on the current x values for left and right, the two delta values are added and the bit masks for the six playfield registers are updated accordingly. This code is distributed over two scan lines.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

"Kung Fu Master" has large multi-colored sprites that are actually recognizable as people and smooth scrolling.

That's not exactly scrolling. The game just indicates horizontal movement, by moving some sprites outside the game play area.

 

BTW: The horizon in Chopper Command does this even nicer (also see e.g. Pole Position).

Link to comment
Share on other sites

A lot of awesome games already listed. Definitely not the most advanced, but I'm proud of the scrolling engine in Carrot Kingdom.

 

1 PF Pixel at 60hz scrolling with 10 tiles high level resolution. (Actually able to do 20 tiles I think, but none use it yet.)

 

Edited by Jinroh
  • Like 7
Link to comment
Share on other sites

How about Barnstorming then? Isn't that nice if the horizontal scroll is actually smooth? I know it's not playfield but you never gonna get smooth playfield horizontal scrolling on a 2600. Just compare the new Scramble and old Super Cobra - no difference.

 

Excellent point maiki, I had been thinking similarly; SuperCobra still shows the smoothest horizontal scrolling we've see so far in the homebrews, except StarBlitz - here's a video illustrating the combination of techniques used to render smooth 1px scrolling on unmodified hardware:

 

http://atariage.com/forums/topic/248509-starblitz/page-2?do=findComment&comment=3443135

 

Jinroh, I like that engine - mine is taking 8 pixel steps but showing 1 px rendering speed due to the framerate; one option to do that when scrolling more slowly is to scroll in fast bursts like I did with KC, it maintains the illusion of 1 px rendering. imo it might require the ARM or ZackAttack's FPGA to do this at 60 hz instead of 30 though.

  • Like 1
Link to comment
Share on other sites

 

Excellent point maiki, I had been thinking similarly; SuperCobra still shows the smoothest horizontal scrolling we've see so far in the homebrews, except StarBlitz - here's a video illustrating the combination of techniques used to render smooth 1px scrolling on unmodified hardware:

 

http://atariage.com/forums/topic/248509-starblitz/page-2?do=findComment&comment=3443135

 

Jinroh, I like that engine - mine is taking 8 pixel steps but showing 1 px rendering speed due to the framerate; one option to do that when scrolling more slowly is to scroll in fast bursts like I did with KC, it maintains the illusion of 1 px rendering. imo it might require the ARM or ZackAttack's FPGA to do this at 60 hz instead of 30 though.

 

Oh very cool Mr. SQL thanks for the bit of technical explanation, very clever, I'd not have thought of that. Mine is just straightforward scrolling, but I still think it looks pretty smooth for 1 PF Pixel at a time. Yeah your engine is amazingly smooth, I just hope I get better at the core game. I still need to load it on my Supercharger and practice with my joystick.

 

It's also so interesting, coders all achieve the same effect, but all in a slightly unique way. Really cool seeing all these scrolling games together.

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

 

I know it's not playfield but you never gonna get smooth playfield horizontal scrolling on a 2600.

Never say never -http://atariage.com/forums/topic/224946-smooth-scrolling-playfield-i-think-ive-done-it/

 

I got burnt out on the back and forth of this with no CRT of my own to test it on, hopefully someone else will pick it up, or I'll get a CRT and have another crack myself...

  • Like 5
Link to comment
Share on other sites

Never say never -http://atariage.com/forums/topic/224946-smooth-scrolling-playfield-i-think-ive-done-it/

 

I got burnt out on the back and forth of this with no CRT of my own to test it on, hopefully someone else will pick it up, or I'll get a CRT and have another crack myself...

 

This really works, and I would love to see a game use it!

 

Choices would have to be offered because from my tests different displays give different results.

Works 100% on a normal regular CRT. One pixel PF scroll.

The problem starts with newer CRTs, like Sony, that sense the strange signal and "correct" it. Then you start to see one or more of the "4 scrolls" not positioned as intended.

In the case of the display "correcting" the signal, an option to scroll 1/2 a PF pixel would work. Less smooth than fine scroll, but better than the normal full PF pixel scroll.

Worst case is none of the fine scroll kernels work with the display, so a choice for normal PF whole pixel scroll would be needed.

 

As as far as the faint vertical blue column on the left, it has been there from the Heavy Sixers. Some 2600 show it more than others, Plus the display brightness and contrast can affect how much of it is seen. Experts say it is probably the Colorburst signal at the start of a scan line. Since this fine scroll is changing where the scan line starts, this moves that Colorburst signal position left/right.

Link to comment
Share on other sites

This really works, and I would love to see a game use it!

 

Choices would have to be offered because from my tests different displays give different results.

Works 100% on a normal regular CRT. One pixel PF scroll.

The problem starts with newer CRTs, like Sony, that sense the strange signal and "correct" it. Then you start to see one or more of the "4 scrolls" not positioned as intended.

In the case of the display "correcting" the signal, an option to scroll 1/2 a PF pixel would work. Less smooth than fine scroll, but better than the normal full PF pixel scroll.

Worst case is none of the fine scroll kernels work with the display, so a choice for normal PF whole pixel scroll would be needed.

 

As as far as the faint vertical blue column on the left, it has been there from the Heavy Sixers. Some 2600 show it more than others, Plus the display brightness and contrast can affect how much of it is seen. Experts say it is probably the Colorburst signal at the start of a scan line. Since this fine scroll is changing where the scan line starts, this moves that Colorburst signal position left/right.

I thought this thread was very interesting when I stumbled upon it last year, but I don't think I'd ever use this technique because I would never trust it to work properly on all hardware setups. Maybe someone will ship a game with it eventually and then we'll know for sure.

 

I always keep a CRT around for Atari testing. They're $5 bucks at the local thrift store. They usually break after a year, but hey it's only 5 bucks.

 

I'm amending my original request with the limitation of no flickering. IMO there's no reason to have anything less than 50/60hz for the playfield. Also, my curiosity was spawned from the Castlevania thread. It got me wondering if any games produced detailed playfields with horizontal scrolling. The use of alternating colors on each scanline seems like a perfect match for horizontal scrolling because you don't have to deal with trying to change PF color mid scanline.

Link to comment
Share on other sites

There was a test demo that used the hsync to off set the playfield. The theory was to have 3 special kernels and a regular one that did single color clock cycle horizontal scrolling. Unfortunately one of the positions was not properly aligned and so not much came of it. However a 2 pixel width horizontal scroll could be doable.

 

Cheers

Link to comment
Share on other sites

Your topic title and what you were asking info about kind of conflict.

 

You asked for good, normal, 4-wide PF pixel scrolling, but the topic asks examples of the most advanced horizontal scroll.

Seems like you have your answer for your plans, but I would like to complete the topic.

Aside from the brilliant 1 pixel (4 kernels) smooth horizontal PF scroll, don't forget "Is Ballblazer Possible?"

The 2600 Ballblazer demo scrolls horizontally with a resolution of three normal pixels, by using only the background color with mid-line color changes.

Yes, "faking it" using side scrolling sprites, missiles, ball, and even background with mid-line color changes are still examples of side scrolling.

Even all the way back to Activision's Stampede, in which the fences are skewed missiles, players, and/or ball, and the cowboy and cattle player objects also use the reposition feature and copy feature to make the 8-pixel sprites appear to have more than 8 pixels across, but if you look line by line, they have just 8.

  • Like 1
Link to comment
Share on other sites

Your topic title and what you were asking info about kind of conflict.

 

You asked for good, normal, 4-wide PF pixel scrolling, but the topic asks examples of the most advanced horizontal scroll.

Seems like you have your answer for your plans, but I would like to complete the topic.

Aside from the brilliant 1 pixel (4 kernels) smooth horizontal PF scroll, don't forget "Is Ballblazer Possible?"

The 2600 Ballblazer demo scrolls horizontally with a resolution of three normal pixels, by using only the background color with mid-line color changes.

Yes, "faking it" using side scrolling sprites, missiles, ball, and even background with mid-line color changes are still examples of side scrolling.

Even all the way back to Activision's Stampede, in which the fences are skewed missiles, players, and/or ball, and the cowboy and cattle player objects also use the reposition feature and copy feature to make the 8-pixel sprites appear to have more than 8 pixels across, but if you look line by line, they have just 8.

Fair enough. I'll try to be more specific with the topic title next time. PF based scrolling would have been more descriptive. Still it was cool to get a recap of all the cool tech related to scrolling.

 

When looking through bank switching schemes I found 3E which led me to the Boulder Dash demo. I'm surprised that one wasn't mentioned. It scrolls nicely with a lot of PF detail.

Link to comment
Share on other sites

When looking through bank switching schemes I found 3E which led me to the Boulder Dash demo. I'm surprised that one wasn't mentioned. It scrolls nicely with a lot of PF detail.

It scrolls 16 pixel at a time. Nicely, but not smooth.

 

Actually it doesn't even really scroll at all. It calculates which tiles have changed and only updates those.

Link to comment
Share on other sites

Fair enough. I'll try to be more specific with the topic title next time. PF based scrolling would have been more descriptive. Still it was cool to get a recap of all the cool tech related to scrolling.

 

When looking through bank switching schemes I found 3E which led me to the Boulder Dash demo. I'm surprised that one wasn't mentioned. It scrolls nicely with a lot of PF detail.

 

BoulderDash is awesome but it's a pure Atari game.

 

You've got so much extra horsepower my 30 hz design may be more relevant to you because you can do it at 60 hz with the ARM.

 

post-30777-0-49866400-1455795911_thumb.jpg

 

You'll be able to do a full 60 hz with 30 or even 60 FPS of full screen playfield animation - instead of the Atari using the Atari as a dumb terminal during the other 30 hz period, the ARM can do it in a flash using just a fraction of a vertical blank.

 

The advantage to the technique is that the Atari only has to handle the overhead to render a static image.

Link to comment
Share on other sites

It scrolls 16 pixel at a time. Nicely, but not smooth.

 

Actually it doesn't even really scroll at all. It calculates which tiles have changed and only updates those.

Well that explains why it scrolls so fast...

 

 

BoulderDash is awesome but it's a pure Atari game.

 

You've got so much extra horsepower my 30 hz design may be more relevant to you because you can do it at 60 hz with the ARM.

 

attachicon.gifarchitecture.jpg

 

You'll be able to do a full 60 hz with 30 or even 60 FPS of full screen playfield animation - instead of the Atari using the Atari as a dumb terminal during the other 30 hz period, the ARM can do it in a flash using just a fraction of a vertical blank.

 

The advantage to the technique is that the Atari only has to handle the overhead to render a static image.

I'm not really understanding what you're proposing here. Could you explain it some more?

Link to comment
Share on other sites

Well that explains why it scrolls so fast...

 

I'm not really understanding what you're proposing here. Could you explain it some more?

 

Sure, your designing a cart to support 100% C development so with this style of design you could run all of your code for your scrolling engines and even your game logic on the ARM, while the dumb terminal program runs on the 2600 and renders what would otherwise be a static image.

 

I think a related part that might interest you with my design is that it's all running high level code, Tiny BASIC, within that architecture and surfacing a rich object set.

 

I'm looking into creating a version where the kitchen sink code loop that runs the scrolling engine runs on the ARM, everything still in BASIC of course and backward compatible otherwise just twice as fast and the option for 60 hz scrolling.

  • Like 2
Link to comment
Share on other sites

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...