Jump to content
IGNORED

Arcade to Jaguar ports you would like to see.


SlidellMan

Recommended Posts

Jaguar's Blitter supports 2 modes of scaling:

1. Fractional

2. Integer

 

In past, I benchmarked the Fractional one. Today, I benchmarked the Integer one and surprisingly found out, that unlike the fractional, you pay the performance price only for the pixels written, which is a pretty big difference.

Even though, we have to break down each bitmap to separate scanlines, we can still cover whole screen at 60 fps. That's 8*5*40 = 1,600 Blitter calls per frame.

 

So, if we use scaling factor 4, then we render just 4,000 pixels, and we still have 79% of the frame available for other scaling. That could work.

 

The biggest issue of this method is, that the scaling is smooth only when it's in distance, due to the way math works. The size jump between the first and second one, is pretty huge - 50%, I am pretty sure that would suck during gameplay.

For 40x40 sprite, these are the sizes it can generate:

40x40

20x20

13x13

10x10

8x8

6x6

5x5

4x4

3x3

2x2

 

Nothing between 40x40 and 20x20, which is a pretty steep jump. But, it would be a fullblown run-time scaling.

 

I made a typo in the previous post with the blitter results, as with phrase transfer, single-blitter-call and covering whole screen, there's 52% frame time available (not 20%).

For something like AfterBurner without rotation (jag-specific version), we could actually achieve a significant overdraw at 60 fps:

- 48% of frame time: 40 sprites (40x40) : Unscaled

- 21% of frame time: 40 sprites (13x13) : Scaled (3:1)

- 21% of frame time: 40 sprites (10x10) : Scaled (4:1)

-------------------------------------------------

90% of frame time (at 60 fps): 120 sprites

120 sprites at 3 different scales and ~150% - 200% screen overdraw. That could look and feel quite nice. Should be very close to AfterBurner's sprite density. With the caveat that the visual pop between closest and next sprite is quite brutal.

 

If we go for 30 fps (still pretty damn nice for jaguar!), we can double the numbers above. And that would definitely reach the AfterBurner's sprite density.

 

 

So, while Fractional scaling on jag is pretty pathetic, the Integer one is actually impressive ! Nice!

  • Like 1
Link to comment
Share on other sites

One thing that still escapes me is that why on earth would some people want to use runtime scaling so bad, if there is no benefit, just lost performance. It's like :"Yeah, it could run at 60 fps, but why not make it run at 15 fps". WTF

 

All 10 precomputed mipmaps (at which point we can use the fastest possible phrase transfer) for a 40x40 sprite take up 6 KB. AfterBurner uses 4 different sprites per section. That's 6*4 = 24 KB out of 2,048. Not even worth talking about.

 

 

But yeah, I know. Logic. On a jaguar subforum...

Edited by VladR
  • Like 2
Link to comment
Share on other sites

32X Afterburner is 30 FPS with it dropping frames at the most intense points from what i have read.

 

32X Space Harrier has a frame rate that's anything but rock solid.

 

Saturn Afterburner supposed to be 60 FPS.

 

Anywho..

 

If any crack Jaguar coders really want to make a name for themselves by showing they can out do Super Burnout's scaling (which i personally wouldn't label as pathetic..) and that the Jaguar can match Sega Coin-Op hardware, it'd be Galaxy Force you'd be looking to replicate, not Afterburner...

Edited by Lost Dragon
Link to comment
Share on other sites

Anywho..

 

If any crack Jaguar coders really want to make a name for themselves by showing they can out do Super Burnout's scaling (which i personally wouldn't label as pathetic..) and that the Jaguar can match Sega Coin-Op hardware, it'd be Galaxy Force you'd be looking to replicate, not Afterburner...

Olliver said a few months ago the screen splitting tricks he learned weren't used on SB, which was before hand. Or if he did he may have split the screen once along the horizon. But he didn't believe so.

Link to comment
Share on other sites

Olliver said a few months ago the screen splitting tricks he learned weren't used on SB, which was before hand. Or if he did he may have split the screen once along the horizon. But he didn't believe so.

I'm lead to believe Super Burnout runs in 8 bit colour? and it could be a rather 'empty' experience during the race, rather than having to jostle with the pack as it were , throughout the race, but i always found it a very impressive game visually.

 

A little surprised by ValdR's comment it was pathetic. .

 

A tongue in cheek comment perhaps?.

Link to comment
Share on other sites

Not even the Sega Saturn could handle an arcade perfect Galaxy Force 2 port. I think it runs at 30 FPS to the arcades 60 FPS. Same thing for Power Drift, runs at half the arcades FPS on Saturn. Those Sega scaler arcade boards were pretty awesome!

Link to comment
Share on other sites

How about 30fps? Why is it 60 or nothing? Doesn't it just cut in half the pixel pushing needed?

My point was, that there was no justifiable reason to use run-time scaling, as with pre-scaled sprites you only consume 24 KB, out of 2,048 (and let's not forget the 6 MB ROM option). And you can generate all mipmaps at loading time, so they don't even have to occupy the ROM.

If you pre-scale, it's much, much faster to just use 1 Blitter call to draw sprite, or hell - even OP.

 

if you don't rotate the sprites, there's no point in wasting performance. Player doesn't care about the algorithm used. I'm sure he'd rather have 60 fps (with prescaled sprites), than 30 fps (but with runtime scaling)

 

And yes, 30 fps would be still great.

 

I think the 32x version of Afterburner ran at 30fps. That would at least put the Jaguar on par with other home systems of its time.

I'm playing with the AfterBurner sprites right now, but I don't really think that it can handle that scene complexity at 30 fps, due to the rotation.

Without rotation, yes. You could actually have 60 fps on jag most of the time, with drops to 30, when the smoke appears.

 

I'm lead to believe Super Burnout runs in 8 bit colour? and it could be a rather 'empty' experience during the race, rather than having to jostle with the pack as it were , throughout the race, but i always found it a very impressive game visually.

 

A little surprised by ValdR's comment it was pathetic. .

 

A tongue in cheek comment perhaps?.

It's only "pathetic" compared to the AfterBurner. It's obvious to me now, from the comments, nobody sees all the layers and intense overdraw in the AfterBurner. If all those sprites were separately layed on screen, like the Super Burnout does, they would cover the screen 2-3 times in full.

 

But, since they're only at the lower half of screen, covering each other, it is unfortunately not so obvious to the untrained eye, how complex the scene actually is, if people in unison consider SuperBurnout to be much more complex (which really, really, escapes me - to me it's like difference between Quake 1 and Doom 3, polygon-count wise)...

 

And the Galaxy Force 2 ? At best 15-20 fps ? I don't yet have the benchmarks on rotated sprites, so it's hard to estimate. But, it's much slower.

Link to comment
Share on other sites

I've ripped the water wave sprite from the AfterBurner and recreated the scene and got some interesting results:

- 8 depth layers with significant overdraw

- 4 mipmap sizes

- 86 total sprites

- 48,640 px (76% screen coverage)

- Without waiting for Blitter, the GPU code takes less than 1% of the frame time, so there's obviously a lot that GPU can do in parallel while waiting for Blitter.

 

Note that there's no rotation, so we play to the core sprite strength of jaguar.

 

At 60 fps, this consumes only 33% of the frame time, so we can triple the sprite count to about ~250, yet still keep 60 fps. This would be up to 500 sprites at 30 fps (and 4.5x screen overdraw), so this can create a really sprite-heavy scene. At over 4.5x screen overdraw, this should even come close to Galaxy Force scene complexity, at a very playable framerate.

 

I'm going to go rip the planes and smoke sprites.

  • Like 1
Link to comment
Share on other sites

For 1988, that's crazy impressive!

 

Not even the Sega Saturn could handle an arcade perfect Galaxy Force 2 port. I think it runs at 30 FPS to the arcades 60 FPS. Same thing for Power Drift, runs at half the arcades FPS on Saturn. Those Sega scaler arcade boards were pretty awesome!

 

Both "Galaxy Force 2 and Power Drift" uses the same hardware the "Sega Y Board"... It has three 68000 cpu's; they probably have two of them being used for graphics why one handles the game logic Galaxy Force 1 & 2 are one and the same game like "Afterburner 1 & 2" just slightly different. I think Sega really had a really good grasp on superscalers that seem to be trending around the mid to late 80s. Jeleco's "Cisco Heat" also featured three Motorola 68K chips in them. Was just looking at the Atari ST port it on YouTube which I'll post below. Wikipedia claims that a version for the Jaguar was in the works, but never made the cut; I wonder how that game would've looked?

 

 

https://youtu.be/Kket83oo0OA

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

So, I tripled the sprite count for each of the 8 depth layers, and reached 99% utilization of the frame time, yet still keeping 60 fps:

- 258 transparent sprites of 4 different sizes (non-transparent sprites are, of course, much faster, but largely unusable)

- 145,920 pixels

- 2.28x overdraw factor (e.g. each screen pixels is overdrawn 2.28x times)

- without waiting for Blitter, the GPU code takes just 2% of frame time, so 98% is available for other things (AI,input, gameplay and similar bullsh*t)

- this is, of course, the 64-bit POWAH. If I switch Blitter to 8-bit mode, the framerate falls from 60 fps to 7.5 fps, so Do The Math, Indeed :lol:

- if you're OK with 30 fps, you can literally double the numbers above, since Blitter won't glitch up (unlike OP)

- since the transfers are RAM-to-RAM, there's no limitation on sprite size (it doesn't reside in GPU cache), so you can use as many different sprites as you want

 

So, if you can imagine a game that makes do with ~250 on-screen sprites and doesn't overdraw each pixel more than 2.2x times (up to 146,000 rendered pixels), the Blitter can power it at 60 fps without worrying whether OP will glitch out :)

 

I was watching the Galaxy Force more closely, and I don't think it has a greater overdraw than 3. So, without rotation, it could run 30-60 fps on jag :)

 

  • Like 1
Link to comment
Share on other sites

....mmmmkey so it's settled then.

 

The Jag could support SuperScaler style games (implementation would differ from real SuperScaler but that's really beside the point).

I think you missed the point that sprites aren't rotated (e.g. the viewpoint doesn't roll). While for Galaxy Force that wouldn't be a dealbreaker, an AfterBurner without rotation would certainly suck (I'm first to admit that).

 

So, it would be like SoulStar - while the camera can strafe up/down left/right, it can't roll, if you want a huge sprite quantity and that "dense" feeling of AfterBurner.

 

I still think that jag should have a superscaler game that plays to its strength, even if it's without rotation. It's an interesting compromise. I am not convinced the rotation is worth the performance drop - you get much less sprites, much lower framerate - what's the point then ?

 

pacman00 gave an example of this game, earlier in the thread, that also doesn't rotate sprites - so apparently even arcades had such games:

 

 

I don't have the rotation implemented, so don't know the exact impact, but you have to split each sprite into scanlines (which in itself is quite a slowdown), and according to the docs, Blitter can't run in 64-bit mode when it's doing rotation. If that's true (no reason not to believe, honestly), then we'd drop below 7 fps (because that's where it drops now if I switch from 64-bit to 8-bit). But, that's a speculation on my side, as I haven't had a reason to implement sprite rotation so far.

 

 

I believe the greatest advantage of this system is, that if you were doing this via OP, you would have to reduce the sprite count brutally, as OP would glitch, if it runs out of time per scanline. But with Blitter-based system you can have 30 fps, 20 fps and linearly increased scene complexity. 20 fps can be plenty smooth, if camera isn't moving very fast (just can't have a fast-moving plane or a car).

 

 

If the player was controlling a walking human, then we could reduce speed and framerate to 15 fps, double the resolution to 640x200 and have 500 on-screen sprites with 4.4x overdraw. That would look insane for jaguar!

  • Like 1
Link to comment
Share on other sites

Or, just possibly.. you'd rotate the 3-4 spirtes *just once* to the correct angle for the line and blit those like they were being done before, maintaining that 512 or so sprite limit......

 

But what would I know, I'm no expert in these matters.

 

/smfh.

It's like Numberwang had a child with Clueless. Maybe you should go and actually write a game before explaining to others how to do it ;)

  • Like 6
Link to comment
Share on other sites

I've never had any personal experience of Jaguar Soul Star, but going from the comments made by the coders at the time, it's based on the Mega CD original code, so i didn't include it.

 

Personally found it the weakest of Core's Mega CD titles, despite being the most technically impressive use of the upgraded Thunderhawk Engine on the system.

 

But personal choice and all that.

 

 

Cisco Heat was included in one of those classic P.R statements Atari loved to release about who had recently signed up to produce what for the Jaguar.

 

If any coding of any real worth was started on it, i would be very surprised.

 

I certainly never heard anything on it after the inital annoucement and the game itself was rather long in the tooth at the time of the annoucement.

 

I'd had it on the ST...laughed at the C64 version etc.

 

As for Super Burnout. ..like i say, there were various improvements that could of been done to enhance the game, more interaction with other riders rather than racing on an empty track for so much of the game, would of been great, headlights at night could of been implemented better etc...

 

But for the work of a small team, i find myself very impressed by it.

 

Fact it's a 60 fps racing game when i am currently experiencing a console generation who's racing games struggle to go beyond 30 fps on base hardware, earns it my respect.

  • Like 1
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...