Jump to content
IGNORED

Has anyone tried to create a game/demo that explores the 7800's 3D capabilities?


Leeroy ST

Recommended Posts

The Atari 7800 has a very unique architecture that it's to competitors didn't have. This means scaling style games and filled 3D was possible at relatively high frame rates for a mid 80's home console.

 

While we have seen some scaling with a few action games and flight sims, and impressive for the time parallax in the intermissions in Tower Topper, and Fatal Run(sometimes), we only really had one official release explore polygons.

 

That game is F18-Hornet. It is a combat flight game that has a rather wide map, a lot of depth, and filled in polygonal 3D graphics. It runs at a surprisingly passable frame rate too, imo. Pretty much all buildings, some gates, and half the objects in the environments (pillars, rocks etc) are all polygonal. The rest are scaling sprites. The plane can face N,W,E, and S so you can view the polygonal structures from 4 angels.

 

 

I found this gif searching around that gives an example of the games polygons:

 

A6DMK7.gif

 

Now this game has always been known to be an impressive display of graphical prowess, although it's mixed in reception as a game itself.

 

But I am wondering has anyone in the homebrew community ever attempted to explore the 3D capabilities of the 7800 further? The closest I know of is an upcoming homebrew first person dungeon crawler but you move in a grid and it's not really 3D, though impressive in it's own way.

 

I feel like there's more you can do with the 7800s polygon capabilities.

  • Like 2
Link to comment
Share on other sites

It's something I'd love to do one day and have experimented with, but with a bunch of other projects I've not dived into the 3D maths aspect of it.

 

Essentially the trick is to draw some wide objects pointing to RAM for their graphics data so that you just need to update RAM as fast as you can to update the view. I do this in the title screen of Plink which was just an experiment to see how much I could draw by making the screen a giant bitmap.

 

If you count the colours in F-18 there are only ever 3 colours for the 3D elements which is a dead giveaway that they're using this technique as they're limited to a single palette for everything. The reason the view is limited on the sides is because a single object can be 32 bytes wide which translates to 128 pixels in the 160A graphics mode, and that view is 124 pixels.

  • Like 4
Link to comment
Share on other sites

19 hours ago, SmittyB said:

It's something I'd love to do one day and have experimented with, but with a bunch of other projects I've not dived into the 3D maths aspect of it.

 

Essentially the trick is to draw some wide objects pointing to RAM for their graphics data so that you just need to update RAM as fast as you can to update the view. I do this in the title screen of Plink which was just an experiment to see how much I could draw by making the screen a giant bitmap.

 

If you count the colours in F-18 there are only ever 3 colours for the 3D elements which is a dead giveaway that they're using this technique as they're limited to a single palette for everything. The reason the view is limited on the sides is because a single object can be 32 bytes wide which translates to 128 pixels in the 160A graphics mode, and that view is 124 pixels.

I think the green zones have four colors but looking into it you're likely right they are using that technique.

 

I'm curious if you can apply that technique to the SMS, heard the talk a port of this game was going to be made but scrapped. Of course both consoles were heading quickly towards their death by the time this released for the 7800. In the US anyway. 

Link to comment
Share on other sites

It's always white, grey, and a third colour that changes based on the level, but it uses dithering to fake a couple of extra shades. That's then overlaid on the background graphics which aren't restricted to just the one palette.

 

The technique can apply to anything that lets you display the contents of an area of RAM. I'm not familiar with the specs of the SMS enough to say whether it could easily be done on that, but it definitely can't be done on the NES without extra hardware in the cartridge as is the case with the impressive port of Elite.

  • Like 1
Link to comment
Share on other sites

3 hours ago, sn8k said:

Alrite so who's porting Resident Evil 2 to the 7800?

With a large enough ROM you could get something like the Game.Com version if you were desperate, ha.

 

Another thing I noticed in F-18 is that every polygon is either a horizontal or vertical quad, and with the lack of rotation this would have allowed the developers to make a whole bunch of assumptions about the projection in their code.

Assuming they took advantage of those limitations what you're seeing is probably the best scenario in terms of the framerate for rendering filled polygons on the 7800.

If the view were expanded vertically I think the framerate would noticeably drop, and if any of those limitations were lifted it would likely plummet to single digits or worse.

 

I guess we'll just need somebody to make a graphics co-processor to take the work off of the CPU's hands. That way we could have 12 colour 160B graphics. Ooh exciting.

  • Like 3
Link to comment
Share on other sites

1 hour ago, SmittyB said:

With a large enough ROM you could get something like the Game.Com version if you were desperate, ha.

 

Another thing I noticed in F-18 is that every polygon is either a horizontal or vertical quad, and with the lack of rotation 

If your talking rotations around the polygons there is technically 4-way view of polygonal structures since the plane can face NSEW. That gif above with the building you can go behind it and flip the plane the other direction.

 

Link to comment
Share on other sites

1 hour ago, SmittyB said:

I mean arbitrary angles aren't possible. You're never able to move the camera in such a way that the polygons aren't perfectly horizontal or vertical.

For sure. I mean the frame rate isn't perfect now, but relatively impressive. But it's probably running the best it can with the current polygon technique as you mentioned.

 

It's also the only commercial game to attempt it in general unless there's another game with polygons I'm not thinking of.

 

 

Edited by Leeroy ST
Link to comment
Share on other sites

So how much can 7800-programmers learn from comparison with other 8-bit system 3D-games?

 

How different is the approches used in program-languages?

 

Ultimately, all the hardware sees are zeros and ones.

 

How many 8-bit 3D games do we have the full source-code for, to learn from?

 

How many Atari-games, like 5200 Blaster, Star Raiders (think moving star field), Ballblazer, Resque on Fractalus (if one had the code for that, thats gotta be one to learn from), Capture the Flag?

 

Do we have the source code for F 18 for the 7800?

 

Do we have source code for the demo of Resque on Fractalus for the 7800…?

Link to comment
Share on other sites

13 hours ago, Giles N said:

So how much can 7800-programmers learn from comparison with other 8-bit system 3D-games?

 

For consoles there's no comparison as neither have an equal example even on a basic level.

 

The closest you can get is the NES version.of Elite which is a different type of 3D and requires additional hardware.

 

There's much to learn from 8-bit computer games though.

 

In fact F-18 isn't actually exclusive as many think, it had a somewhat uncommon release on the C64, with less (and weaker) polygons and more sprite tricks, while in many cases running slower.

 

Clearly the developers saw that the 7800 gave them the ability to improve in multiple areas so perhaps looking at other C64 (or maybe A8) 3D games and trying to port all or some aspects to the 7800, a homebrewer can learn more about the 7800 3D capabilities and what works or not, like the F-18 developers did.

  • Like 1
Link to comment
Share on other sites

14 hours ago, Giles N said:

So how much can 7800-programmers learn from comparison with other 8-bit system 3D-games?

The problem is that the bit you'd want learn is mainly the drawing algorithms and those are almost always heavily optimised to the hardware. The best things to learn from would be games on systems with similar CPUs and graphics structures.

Fortunately the 7800 is flexible enough to set up a straightforward bitmap display even if the underlying hardware isn't built for it.

Link to comment
Share on other sites

1 hour ago, Leeroy ST said:

In fact F-18 isn't actually exclusive as many think, it had a somewhat uncommon release on the C64, with less (and weaker) polygons and more sprite tricks, while in many cases running slower.

Graphically the C64 and 7800 are similar enough that a port would make sense.

I've only seen screenshots but it looks like the C64 version has a slightly larger view vertically which would affect the framerate, but more importantly the C64s bitmap mode would mean either the game uses sprites for the background, or it's extra work for the CPU to clear it and redraw it each frame.

Link to comment
Share on other sites

2 hours ago, SmittyB said:

Graphically the C64 and 7800 are similar enough that a port would make sense.

I've only seen screenshots but it looks like the C64 version has a slightly larger view vertically which would affect the framerate, but more importantly the C64s bitmap mode would mean either the game uses sprites for the background, or it's extra work for the CPU to clear it and redraw it each frame.

I'm curious how the A8 would handle it.

 

As for C64 version, I played it once long ago, a lot of polygon objects, structures, and buildings are replaced with a sprite tricks, but there are still polygons, albeit more basic. Definitely runs worse most of the time, but in areas with a couple sprite structures and a mostly empty ground plane it runs similar or better. But that's expected with nothing that taxing on screen.

 

I also recall the moving polygonal vehicle you can shoot (tank?) That shows up a few times in the 7800 version missing. Or at least it was replaced.

 

One complaint I've seen often for both is that neither version has a horizon. 

 

 

Edited by Leeroy ST
Link to comment
Share on other sites

^
Quite low down here one may find the source code for Motor Psycho, which at least should have a ‘3D’ road, dwindling and turning.

 

It may be ar least a start.

 

- - -

 

I only post this in the interest of program-learning.

(to which I in myself would the last person on Earth to try to instruct others ??)

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

33 minutes ago, Linndrum said:

That's awesome, I didn't realize F18 pushed the 7800 so hard. I'd love to see more games explore this

One the reasons I got an ntsc 7800 in the first place was because at the time I couldn’t find F 18 PAL on ebay, I thought it was very, very impressive polygon/3D game for an 8 bit console.

 

(I’ve obtained it on PAL since).

 

Extrememly difficult game, but so cool to see a fully rendered polygon landscape in an combat flight sim for an 8 bit system

 

(the other ntsc games were Rampage, Robotron, Tank Command and Double Dragon [not because it wasn’t PAL, but I couldn’t get hold of it])

Link to comment
Share on other sites

"Atari 7800 computer" is an interesting lable.

 

2 hours ago, Giles N said:

One the reasons I got an ntsc 7800 in the first place was because at the time I couldn’t find F 18 PAL on ebay, I thought it was very, very impressive polygon/3D game for an 8 bit console.

It's definitely ashame we never saw more official releases that used 3D. I feel there's more it can do after seeing the scope of F18.

Link to comment
Share on other sites

10 minutes ago, Leeroy ST said:

"Atari 7800 computer" is an interesting lable.

 

It's definitely ashame we never saw more official releases that used 3D. I feel there's more it can do after seeing the scope of F18.

Only way that can happen is the 7800/Atari-community getting to learn how to program and develope 3D-games.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Giles N said:

Only way that can happen is the 7800/Atari-community getting to learn how to program and develope 3D-games.

Well between some C64 clues and what you and another user posted there's enough to start.

 

But of course it's time consuming and people in some cases are on multiple projects.

Link to comment
Share on other sites

30 minutes ago, Leeroy ST said:

Well between some C64 clues and what you and another user posted there's enough to start.

 

But of course it's time consuming and people in some cases are on multiple projects.

i’m not giving orders ?, only presenting suggestions free to pursue or let rest…

Edited by Giles N
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...