Jump to content
IGNORED

Lets talk about mode 7 style graphics (snes) for the 2600


grafixbmp

Recommended Posts

Many years ago before I treked out on the daunting task of castlevania for 2600, I was wondering about F-Zero gameplay and what it would take to get that type of gameplay working on atari and I designed a way to produce a convincing facsimile of the look of the tracks. But at the time, the possibility was marginal at best. But since then I've been following a few projects that could relate towards a general purpose mode 7 equivelent graphics system.

 

The first project that intriged me was Roland's work on ballblazer. It has a similar perspective and is wonderful from the perspective of even working on a 2600 which is near a mirical in tis own right. Awesome work Roland.

 

The other is the forementioned DPC+ which most of us know the benefits of and would prob be key to making this possible.

 

The real tricks with such an engine will be with geting a high enough frame rate and allowing for full 360 degree rotation. Player sprites, ball and missiles aren't really involved with the sudo mode 7 graphics. Only the playfield need be used. I guess the best way to describe it would be interleaved mode 7. Here is a simple image of a direct top down view like unto when you would start a race in the original f zero with 2 levels of zoom. The track markers (disks) alternate with the dark blue (out of bounds). The light grey is simply the background color changed. Now if this were scaled into the distance giving a force perspective it would look damn near like a real f zero track. Now as far as rotation goes, that can be graphicaly doable with in this style matrix and still look good. Also when you would be actualy looking down the trck (force perspective) the color tones could reflect that going darker the closer to the horizon ya get.

 

post-10601-0-37841900-1314820153_thumb.png

 

I also have an original image from long ago that I added to the new what ifs. The old one has incorrect color rendering but illistrates the force perspective and tone shading.

 

Any thoughts on what ifs? Sure would be nice for lots of racing games. :ponder:

  • Like 4
Link to comment
Share on other sites

Do you own a harmony cart?

Yes.

 

However, my atari is disabled at the moment. (DIY video mod errors)

I will get back to that later on when I find where I put my multi-meter. lol

 

But I don't wish to program it as of now. I agree with RT that I would rather wait till DPC+ with bB has been optimized before I tinker with it.

 

3D-esque coding I'm less familiar with. I tried to design a Doom like engine once and took a wild aproach to it. Needless to say for me, 2D is easier to understand than 3D.

Link to comment
Share on other sites

Well this is really psudeo 3D and is done with 2D visual tricks, so all in all it's still 2D :)

The harmony would allow you to write custom routines for translation and rotation of the road, but I think the effect would be greatly limited to only certain perspectives.

But the DPC+ is the way to go with it's writable bank6 for extra ram and fastfetch drawing.

Link to comment
Share on other sites

Well this is really psudeo 3D and is done with 2D visual tricks, so all in all it's still 2D :)

The harmony would allow you to write custom routines for translation and rotation of the road, but I think the effect would be greatly limited to only certain perspectives.

But the DPC+ is the way to go with it's writable bank6 for extra ram and fastfetch drawing.

 

 

As far as perspectives look, If the screen is scrolling fast enough, then all rotation should look fine. The road's boarder disks define the edges of the road acordingly but the in betweens mainly show the open field. This way multiple disks could be on the same line. I have some updated images to show what I mean.

 

post-10601-0-21622900-1314838926_thumb.png

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

To me it looks like the screen for a 3D racing game. Nothing special, except for the magenta track markers, which seem not 100% required to me.

 

Without them, a stock 2600 should be able to do the graphics, but with them included, we need extra mid-row color changes, which require a lot of extra CPU time.

Link to comment
Share on other sites

To me it looks like the screen for a 3D racing game. Nothing special, except for the magenta track markers, which seem not 100% required to me.

 

Without them, a stock 2600 should be able to do the graphics, but with them included, we need extra mid-row color changes, which require a lot of extra CPU time.

If you will look closely, there are no mid row color changes.

 

 

Dark grey BG and Purple PF where disks are

 

Light grey BG and Blue PF where open field is

 

 

 

besides, that's like saying pole position didn't need the red/white road boarders either. And on the subject of other racing games atari had, Most if not all racing tracks didn't even do sudo 3D either. They just wiggled several lines on the screen based on some mathematics and t5he curves were more implied than tangeble across the whole track.

I brought up the "mode 7" style graphics because I would like curves like 90 and 180 curves like unto f-zero, mari kart, etc. This will give tight, heavy manuverable racing. real tangible, solid tracks.

 

Stock 2600 can do distance scaling and color changes per scanline fine. Even pole position had a decent level of color changes. But mode 7 style rotation will probably need a harmony/melody to do it with a high frame rate.

 

But this kind of engine need not be just for racing either. 3D flat terrain worlds for 3D-esque exploration could be done as well... to a degree.

Edited by grafixbmp
Link to comment
Share on other sites

It would probably take a bit of searching the forums, but I remember a few years ago (2-3 years or so), someone was working on something like this. It may have been a blog post. I remember they had worked out a flat ground 3D effect, possibly attempting a start at a new battlezone port. I remember they had screenshots, but didn't get too far beyond the ground effect before stopping development.

Link to comment
Share on other sites

It would probably take a bit of searching the forums, but I remember a few years ago (2-3 years or so), someone was working on something like this. It may have been a blog post. I remember they had worked out a flat ground 3D effect, possibly attempting a start at a new battlezone port. I remember they had screenshots, but didn't get too far beyond the ground effect before stopping development.

 

And then there's roland p's work-in-progress Ballblazer, which works far more smoothly than I'd have ever imagined, and with no DPC+. But that's a fixed, orthogonal viewing angle, while what made F-Zero special was the mode 7 rotation of the ground tiles. I think you can do that with a two-color ground, given enough RAM and possibly not updating the screen every frame (or using DPC+), but the trick where the track markers alternate lines with the ground color won't work if the track is turning.

 

If you want to make something like Pole Position with faster gameplay, looser controls and different graphics/music, though, you might be able to approximate the feel of F-Zero if nothing else.

Link to comment
Share on other sites

It would probably take a bit of searching the forums, but I remember a few years ago (2-3 years or so), someone was working on something like this. It may have been a blog post. I remember they had worked out a flat ground 3D effect, possibly attempting a start at a new battlezone port. I remember they had screenshots, but didn't get too far beyond the ground effect before stopping development.

 

And then there's roland p's work-in-progress Ballblazer, which works far more smoothly than I'd have ever imagined, and with no DPC+. But that's a fixed, orthogonal viewing angle, while what made F-Zero special was the mode 7 rotation of the ground tiles. I think you can do that with a two-color ground, given enough RAM and possibly not updating the screen every frame (or using DPC+), but the trick where the track markers alternate lines with the ground color won't work if the track is turning.

 

If you want to make something like Pole Position with faster gameplay, looser controls and different graphics/music, though, you might be able to approximate the feel of F-Zero if nothing else.

That is true. An approximation may be the only way to go.

Link to comment
Share on other sites

If you will look closely, there are no mid row color changes.

 

 

Dark grey BG and Purple PF where disks are

 

Light grey BG and Blue PF where open field is[/Quote]

True, except for one screenshot. :)

 

besides, that's like saying pole position didn't need the red/white road boarders either.

Those are required to display smooth borders which indicate the movements speed. Your idea is different since the background alone will indicate the movement already. Therefore the additional borders are not 100% required. Turbo (though the kernel is really not sophisticated) uses this kind of graphics.

 

I brought up the "mode 7" style graphics because I would like curves like 90 and 180 curves like unto f-zero, mari kart, etc. This will give tight, heavy manuverable racing. real tangible, solid tracks.

But for 180° corners you WILL need mid screen color changes, no?

Link to comment
Share on other sites

besides, that's like saying pole position didn't need the red/white road boarders either.

The vectrex ommitted them but looked great, but there where enough other objects to give a sense of motion:

http://www.youtube.com/watch?v=D--SVZ6pWWg

 

Real rotation would be very hard to do, since the horizontal pattern of the road would not be horizontal anymore, and needing more colors/scanline. So you would need pseudo 3d effects. There are some nice examples over here: http://www.gorenfeld.net/lou/pseudo/

 

This is some pseudo-3d with 90 degrees turns:

http://www.youtube.com/watch?v=Kket83oo0OA

Edited by roland p
Link to comment
Share on other sites

I recall someone once made a demo of a lunar lander that used multiple copies of players to draw a big lander on screen that could rotate 360, explode and had the low gravity dynamic with it. the rotation of that appeared mathematical in nature and ran quite smoothly. Wish I knew who did that demo cause if the rotation of that image were to be applied to the playfield, it could appear to be very quick for driving.

Link to comment
Share on other sites

I recall someone once made a demo of a lunar lander that used multiple copies of players to draw a big lander on screen that could rotate 360, explode and had the low gravity dynamic with it. the rotation of that appeared mathematical in nature and ran quite smoothly. Wish I knew who did that demo cause if the rotation of that image were to be applied to the playfield, it could appear to be very quick for driving.

 

If you mean the Lunar Lander demo here: http://www.atariage.com/forums/topic/78627-lunar-lander-super-kernel-demo/ the author said, "There's a lot of precalculated data for the rotations". Having both rotation and perspective would require a lot more precalculated data.

 

We know a 1KHz 6502 can do the stretching and scaling necessary for a first-person shooter at 10FPS... if it has a decent video subsystem: http://noname.c64.org/mood/screenshots.php

 

But even that doesn't have floor textures.

Link to comment
Share on other sites

I tried some faux rotation when trying to make an overhead racing game: http://www.atariage.com/forums/topic/161652-wip-racing-game/page__view__findpost__p__2003938

 

The positive thing about the circles in your mockup pictures is that circles don't have to be rotated :)

 

Thats very nice.

 

If skewing is a bit easier to handle on the atari, could some kind of horizontal and vertical skewing add more to it. Like for a counter clockwise rotation effect you could skew left then skew down.

(tested in paint) OK looks like both horizontal and vertical skewing can fully fake rotation with some minor tweaking . The question is weather the 2600 can handle vertical skewing. Even if they could alternate each frame so the code could fit alright. So first frame skew left second frame skew down. Now if that can be displayed from a first person perspective and only deal with a small portion of a larger track at screen at a time, mode 7 may be fakable. lol

Link to comment
Share on other sites

I tried some faux rotation when trying to make an overhead racing game: http://www.atariage.com/forums/topic/161652-wip-racing-game/page__view__findpost__p__2003938

 

The positive thing about the circles in your mockup pictures is that circles don't have to be rotated :)

I took this post to heart and modified my approach with your demo in mind. I think the horizontal skewing along with a harmony (for resolution and heavy color changes, DPC+ bankswitching) could give the look and feel I'm looking for in a racing engine and still look like mode 7. Some flicker would be on screen but would be midigated by using te same luma per scanline. I'm wondering about multi-skewing down the screen (image) without rough jaggies.

post-10601-0-31719400-1316047585_thumb.png

Link to comment
Share on other sites

That looks nice.

 

I see there are black lines between the circles. That would probably hard to keep without making it look weird.

 

My guess you have to make all the squares equal height (so only vertical scaled), and let the 2600 do the horizontal scaling. So you have a set of precalculated circles.

 

But other objects have to be squares? (missiles, ball)

Edited by roland p
Link to comment
Share on other sites

That looks nice.

 

I see there are black lines between the circles. That would probably hard to keep without making it look weird.

 

My guess you have to make all the squares equal height (so only vertical scaled), and let the 2600 do the horizontal scaling. So you have a set of precalculated circles.

 

But other objects have to be squares? (missiles, ball)

 

What I didn't have shown was a second elongated image that is almost looks like the single perfectly tall one but appear to be a half circle shift down from the other one. These two images alternate at a varable frequency giving the appearance of movement. I maybe able to do a gif image that animates a bit. The black spacers will add to the animated movement when in action.

Link to comment
Share on other sites

Almost got the scaling circles. The scaling is too coarse. Maybe I should use just one circle and scale it.

(Just playing around)

perhaps this can help.post-10601-0-40812800-1316185658_thumb.png

 

I drew another alternate that was suppost to be half of the former one. However, I don't think it wored out too good. Could ya possibly do any shifting between the 2?

 

Like the first one right before the second one would come in and then it goes untill the first one would come in. The reason I bring it up is cause some of the circles in the second one have been drawn to be half the distance of first ones. I'm just not sure.

 

There was another thing I wanted to bring up.

If there were 2 basic frames that alternated, I think everything would fit rather snugly.

 

frame one:

player 0 left border circles

player 1 right boader circles

(these could then possibly have diffrent colors for special boarders) atraction boarders, ramp boarders, etc

then at the lower portion of the screen image only one set of circles would be visible (either the left ones or the right ones but not both) simply because the track is that wide at the bottom causing ony one row to be visible t the bottom of the screen. This allows for your race vehicle to be drawn this frame.

 

frame two:

 

this handles all opponenets and any specialty objects.

in-track ramp (just after a ranp is hit, this graphic can then be used for your vehicle when jumping)

speeder (speed boost varying sizes)

shield recharge.

 

It could even be quite possible to drop in your vehicle again this frame so it would never flicker except when jumping. Ya could even flicker a shadow below your vehicle for an effect.

Edited by grafixbmp
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...