Jump to content
Leeroy ST

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

Recommended Posts

On 8/16/2021 at 6:34 PM, Linndrum said:

We need VladdR back up in here, he got ran off from the Jaguar community for doing cool 3D stuff, then he started experimenting with 3D on the Lynx and was making progress with that, but he hasn't been around for a while.... Who knows what he's up to now

What are you smoking?  You mean the guy that promises:

wxl.thumb.jpg.3e813252df8dde6b0b68e22507e13631.jpgnfs.thumb.jpg.5b94c0d02914f2caad38e47be73d5b3a.jpg


but delivers:

v2.thumb.png.cde625a053a53c11e3da939db9084927.png

 

Yeah - please give me another good laugh.  The only thing he manages to deliver (besides a belly laugh) is spreadsheets showing endless cycle calculations and bullshit that we refer to from now on, as "number-wang".

 

P.S.

By "ran off" - you mean he was called out for his endless bullshit and lies and did not like seeing the truth.  Now, with his latest foray into the Amiga scene, he grew more balls and decided to charge money - actual money for pre-ordering his stuff.

 

  • Like 4

Share this post


Link to post
Share on other sites
On 8/12/2021 at 1:18 PM, Leeroy ST said:

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.

No, it does not mean that. The 7800 does not have any hardware for scaling bitmaps or filling polygons. The Atari Lynx does. Maybe this is the source of your confusion.

 

In terms of polygonal 3D, the 7800's abilities should be approximately equivalent to the Atari 8-bit line, in that you have a 1.79 MHz 6502 rendering to a 4-color raster frame buffer.

  • Like 2

Share this post


Link to post
Share on other sites
4 minutes ago, ZylonBane said:

No, it does not mean that. The 7800 does not have any hardware for scaling bitmaps or filling polygons. The Atari Lynx does. Maybe this is the source of your confusion.

 

In terms of polygonal 3D, the 7800's abilities should be approximately equivalent to the Atari 8-bit line, in that you have a 1.79 MHz 6502 rendering to a 4-color raster frame buffer.

?

 

Ok, so you're not disagreeing with me the other mid-80's home consoles couldn't do polygon games at a relatively high speed as the 7800?

 

 

 

Share this post


Link to post
Share on other sites

I'm disagreeing with you that the 7800 has any hardware that's specifically suited to 3D rendering. It does not. This isn't a complicated thing I'm saying.

 

 

Share this post


Link to post
Share on other sites

Looking at the code for Motor Psycho, it would seem to me any 3D rendering (can the road be called a polygon?), it would seem it’s all due to sophisticated coding. I guess it would be in assembly language.

 

I’m no expert, but tried to gleam some info from the programmers’ note-headlines, and it didn’t smack of accessing any particular 3D hardware.

 

So, I guess, only way of doing quality 3D polygon stuff on the 7800 is sophisticated programming.

 

I cannot find the source-code for F 18 (7800) anywhere…

 

- - -

If the programmers of the 3D demos shared above, would share their knowledge and way of coding with the AtariAge community (perhaps, they have - what do I know), and that info and experience is shared and evaluated back and forth among programners, the speed of increasing the competence-levels of programmers would rise exponentially.

  • Confused 1

Share this post


Link to post
Share on other sites
1 hour ago, Giles N said:

I’m no expert, but tried to gleam some info from the programmers’ note-headlines, and it didn’t smack of accessing any particular 3D hardwar

The 7800 has no 3d hardware. All calculations for 3d would be done by the CPU.

 

 

Share this post


Link to post
Share on other sites

The way the roads work in Motor Psycho and similar games is something I've also dabbled with on the 7800. It's not truly 3D but it's a good way to simulate a 3D space.

I used a simplified version of this technique in older builds of Spire of the Ancients before I was able to get the voxel heightmaps working. It's not easy to see from the screenshot but the floor pattern is a texture that goes off into the distance and is able to scroll forward and backward like a plane in a 3D space.

62330629_SotATitleScreenV4.png.a26610ab106ed740690d0c082cf62eae.png

 

What this really is the below texture (rendered in Deluxe Paint 3 on my Amiga) where each colour represents a different colour in a palette. By changing the colours in the different positions in the palette on as it's drawn down the screen I can create the effect of a scrolling texture; that's how games like Pole Position handle the moving road markings. Though not something I did, by shifting lines left or right by different amounts you can create curves, and by skipping or duplicating lines you can create hills and valleys.

Title3DFloor.png.c10a52d51f68059ef178595f8a664f2a.png

  • Like 6

Share this post


Link to post
Share on other sites
On 8/16/2021 at 10:26 PM, Giles N said:

I remember Castle Master for the Amiga.

(anyone aquainted with it?)

 

Could an Adventure 3D for the 7800 be a sort of title/project that could generate interest…?

Had it on the C64 and seem to remember it had an exclusive sequel courtesy of the home computer club. 

 

The trouble with the Freescape games on the 8-bits,the C64 especially, was the horrendous frame rate. 

 

I got far more from the music in both Driller and Darkside than i did the games themselves. 

 

The 7800 CPU speed may well be faster than that of the C64, but your talking hardware designed to push a lot of sprites on a static screen with it, are you not? 

 

3D that really worked was the domain of the ST and the Amiga from what i remember. 

Share this post


Link to post
Share on other sites

@Lostdragon

I’ve gathered (by now) the 7800 have no 3D hardware.

 

But still F 18 does a fairly good job at rendering polygons within certain limits at a good frame-rate.

 

So, it must at least be possible to program some cpu-driven 3D.

 

Together with sprites of entities drawn a different distances (and perhaps also angles) it could be possible to envision a 3D game being made for the 7800.

 

Wether it could do full 360 turn arounds are of course a matter of how the game is set up/designed.

 

F 18 only goes from side to side, and from high to low.

 

But on the 5200/400-XL etc, you have games like Encounter and Capture the Flag.

 

So if the 7800 cpu is stronger than the 5200, it should perhaps be able to do something similar…

  • Like 1

Share this post


Link to post
Share on other sites

@SmittyB

So you’ve programmed and gotten voxel heightmaps to work on the 7800?

 

What framerates are we talking about here?

 

How much cpu would be left for interaction and other performances demanded of a game in your estimates?

Share this post


Link to post
Share on other sites

See for yourself.

Though it doesn't really show it off nicely in that build which is something I was working on, that's a 1D voxel heightmap drawn using only the background colour. It runs better on PAL thanks to the extra VBlank time, or if the draw distance is reduced a bit in the source code. The biggest limitation to making it look good is a decent map editor. I've got a quick and dirty program that lets me build maps without having to manually enter thousands of values, but it's not easy to get good results.

Share this post


Link to post
Share on other sites

@SmittyB

Well, it runs very smooth in the video. Looks nice!

It seemed however a bit different than the above picture showing a texture-ground.(Do you have video displaying that?).

So, as to map-editor; would that be ‘incoming’ shifts of gras -> dirt -> rivers etc, or placing objects on the moving field (like sprite fences, trees, towers or whatever)?

Edited by Giles N

Share this post


Link to post
Share on other sites

I don't have a good example of the scrolling plane effect as it looks like I didn't post the build that screenshot is from which made it run a lot better and fixed some of the perspective issues, but here's the closest.

The biggest problem with either of these effects on the 7800 is that you have to waste a lot of CPU time counting the lines being drawn on the screen like a 2600 game in order to change the colours in the right places.

 

I just hardcode the map data in my builder and then recompile it to get the output so this is what it is currently in my test build. As the comment suggests you give it the distance from the current height to the target height and the base colour it should use. It then runs through a bunch of steps to interpolate through the points to create smooth transitions, and then crudely adds shadows by adjusting the colours where the height is lower a shadow cast by a given point.

double initialData[][3]=
    {
        //X steps to get Y height with Z colour
        {2,128,0xD3},

        {32,80,0xD3},

        {32,64,0xD3},
        {32,100,0xD3},
        {6,120,0x13},
        {40,80,0xD3},
        {4,90,0xD3},
        {40,0,0xD3},

        //River
        {40,24,0xD3},
        {4,16,0xD3},
        {4,0,0x13},
        {1,0,0x97},
        {16,0,0x93},
        {1,0,0x97},
        {4,16,0x13},
        {16,16,0xD3},
        {3,10,0x13},

        {16,0,0xB3},
        {16,32,0xB3},
        {32,72,0xB3},
        {4,64,0xB3},
        {50,128,0xB3},
        {3,124,0x13},
        {16,100,0xD3},
        {16,80,0xD3},
        {16,70,0xD3},
        {32,128,0xD3},

        {32,128,0xD3},

        //Wall
        {1,129,0x13},
        {1,135,0x07},
        {1,140,0x08},
        {1,145,0x09},
        {1,129,0x13},
        {1,128,0xD3},
        {50,128,0xD3},

        //Road
        {5,132,0xD3},
        {2,120,0x13},
        {6,120,0x07},
        {2,122,0x13},
        {2,122,0xD3},
        {2,120,0x13},
        {6,120,0x07},
        {2,132,0x13},
        {5,128,0xD3},

        {2048,128,0xD3}
    };

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
10 hours ago, Giles N said:

@Lostdragon

I’ve gathered (by now) the 7800 have no 3D hardware.

 

But still F 18 does a fairly good job at rendering polygons within certain limits at a good frame-rate.

 

So, it must at least be possible to program some cpu-driven 3D.

 

Together with sprites of entities drawn a different distances (and perhaps also angles) it could be possible to envision a 3D game being made for the 7800.

 

Wether it could do full 360 turn arounds are of course a matter of how the game is set up/designed.

 

F 18 only goes from side to side, and from high to low.

 

But on the 5200/400-XL etc, you have games like Encounter and Capture the Flag.

 

So if the 7800 cpu is stronger than the 5200, it should perhaps be able to do something similar…

Encounter was amazing on the XL, showcase title for the hardware and simply a fantastic game to play. 

Share this post


Link to post
Share on other sites
43 minutes ago, Lostdragon said:

Encounter was amazing on the XL, showcase title for the hardware and simply a fantastic game to play. 

I have a port to the 5200, which unfortunately bugs on controller (mem.to self:  get new copy), and it’s very impressive graphically.

 
But is the source-code available somewhere?

 

Can it be of use when trying to figuring out how the 7800 cpu can be coded to perform 3D…? How similar is the cpu of the 5200/XL and the cpu of the 7800, and the same for program-language…?

  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, Giles N said:

So if the 7800 cpu is stronger than the 5200, it should perhaps be able to do something similar…

The 7800 does not have a "stronger" CPU than the 5200. They both use 6502s running at 1.79 MHz.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
On 8/20/2021 at 2:46 AM, ZylonBane said:

I'm disagreeing with you that the 7800 has any hardware that's specifically suited to 3D rendering. It does not. This isn't a complicated thing I'm saying.

 

 

No one actually said this. Being capable and having hardware are two different things.

Share this post


Link to post
Share on other sites
On 8/21/2021 at 7:30 PM, Leeroy ST said:

No one actually said this. Being capable and having hardware are two different things.

No, they're exactly the same thing. When you're talking about 80s/90s game consoles, the only things they were capable of (e.g., could do WELL) were those things that they had hardware support for. That's why video chipsets back then supported sprites, collision detection, scroll planes, tiles, scaling, etc., instead of just a plain frame buffer, because CPUs at the time were too slow to do all that fancy stuff manually.

 

But what the heck, let's go back to your initial post, where you said: "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. "

 

Now explain how you think "very unique architecture" equates to "scaling style games and filled 3D was possible at relatively high frame rates".

  • Like 2

Share this post


Link to post
Share on other sites

The 7800 is a sprite beast relatively speaking compared to it's generational peers. Sprite scaling was not done in hardware, you want to scale a sprite, you need to do that yourself by adding the smaller/larger version in rom and drawing it as needed. 

 

Doing something like filled 3d in a demo, where the demo is non-interactive, is quite different to doing that in a game. I know I'm preaching to the choir mostly but the point is this

 

A game would have additional processing overheads, dealing with inputs, sounds, game logic, collisions and so on. I would expect doing this type of 3d on the 7800 is very resource intensive and adding in the other "game stuff" reduces that budget further. The flying parts of F18 only use around 25% of the screen to draw the viewport / game environment and the rest is static HUD. This is a common cheat on 8bits doing 3d as it reduces further the amount of display you need to update and helps push the frame rate up a bit. I did some captures and it looked like the F18 was achieving as much as 7-8 fps in some places where it's not so busy, but down to 3 or 4 fps on others. That was a quick and not very scientific check so if you go check, your mileage may vary! (and all this is being done by the CPU, no 3d hardware in the 7800).

 

Doing / figuring out the calculations is probably the easy part as the theory behind doing 3d computer graphics has been around for years. However no amount of looking at how it's done on this console or that console is going to magically impart how to do it on the 7800, as it's a very different beast and as it has already been noted, the 7800 is really optimised towards sprites/tiles.

 

Which brings me to another point.

 

Games should be fun right?.

 

What does a 3d game bring to the console ? For me a game running at 4 or 5 fps probably isn't going to be much fun no matter how much 3d goodness is in there. To paraphrase the estimable Dr. Grant from Jurassic Park : Just because you could, doesn't mean you should!. OK some games don't need a high frame rate, maybe games like Driller for example, it moves at a glacial pace but the crosshairs etc are updated more regularly, but I think generally the point stands.

 

Personally I just don't think it's viable (if we're thinking up to the playable regions of 15+ fps) without some sort of in cart help to crunch numbers, do frame buffer stuff, similar to what the SNES had for Star Fox, or something of that ilk. Don't get me wrong, I love nothing more than seeing hardware pushed to do things that it shouldn't be able to (my pimped up BBC master running Doom in 16 colours fullscreen is a sight to behold!), but often these achievements need extra hardware to help them. 

 

I'd love to be proven wrong and see a working demo of Virtua Fighter 7800 edition very soon (I would also settle for Hunter or Geoff Crammond's F1GP.)!!

 

  • Like 3

Share this post


Link to post
Share on other sites
12 hours ago, ZylonBane said:

 

Now explain how you think "very unique architecture" equates to "scaling style games and filled 3D was possible at relatively high frame rates".

This doesn't make any sense, everyone knows the 7800 has unique graphical architecture, Maria is a major part of it.

 

The 7800 is capable of "F-18 Hornet" the NES and SMS are not, especially not anywhere near the same level. None have dedicated 3D hardware. Still shows 7800 is capable of a relatively big game involving 3D polygons.

 

Capability and dedicated hardware are two different things. 

 

You just decided to pretend someone mentioned 3D hardware when no one initially mentioned it (except maybe Giles).

  • Confused 1

Share this post


Link to post
Share on other sites

Now explain how you think "very unique architecture" equates to "scaling style games and filled 3D was possible at relatively high frame rates".

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Leeroy ST said:

You just decided to pretend someone mentioned 3D hardware when no one initially mentioned it (except maybe Giles).

Hey-hey!

 

I was only asking about info…!!

(I’m not living inside a 7800 machine)

 

- - -

Anyway… I’d be more interested in seeing an exchange of info concerning actual ‘how-to’-developement rather than just lots of meta-discussion concerning who said what with which possible intention.

 

- - -

 

We have F 18, where they actually got some 3D stuff to actually be pulled of fairly well, - with a fairly good frame-rate.

 

We don’t have source-code to learn from…

 

…so how do we get a 3D game up and running… (conceptually or theoretically at least…)?

 

- - -

Can studying coding of 3D on the 5200 be of use to learn how-to program 3D on 7800…?

Edited by Giles N

Share this post


Link to post
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...