Jump to content
IGNORED

Klax, Atari ST to Jaguar conversion


JagChris

Recommended Posts

What is the framerate like on real hardware? Is there a cof file available that I could fire at my Jag?

 

RE gameplay, I'd not fiddle with the gameplay concepts too much or you risk making some abomination as sh3 suggested.. at least until you have the original working, that will at least give you a know base to work from.

Link to comment
Share on other sites

25 fps should be easily reachable, considering how little moves on screen (about 5 stones at most ?).

 

There's more than that, probably around 16 or so moving sprites at peak (10 tiles in the play field (which has 20 distinct depth levels over which the tile animates 20 times until arrival at bottom), your sprite and up to 5 loaded tiles) then there's the 5x5 grid of static built tiles and a column indicator below.

 

So around 40 objects in play plus the backdrop, high score, current score, current total score and klaxs to go status, think that's pretty much it.

Link to comment
Share on other sites

- re: framerate - I don't know yet, since I did not test that yet (and even then, it would be just VJ) - I was working on the unification of the tile height, which happened to get few pixels off every now and then, due to the nature of the world-space transformation`s algorithm optimizations, for which I just implemented a workaround - see the wireframe:

post-19882-0-57793900-1392591390_thumb.gif

 

- re: gameplay - actually, once you implement the basic gameplay, it's too late to introduce any major changes to the concept, since the refactor would be more work than just initially implementing the subset (e.g. original klax) of the larger design. But, that does not matter, since it's not like I'm going to leave my current primary PC project for this, anyway - I am merely investigating the concept at this moment.

 

- re: 40 objects - that's only a problem if you go for object-list approach, where OP is re-rendering them every single frame. If I go for double-buffering (which will bring the performance down, so I might not be hitting those target 25 fps - but let's wait for the benchmarks), I pay the cost of static objects only once, upon initial rendering - once they're in both screen buffers, their performance hit is zero afterwards :)

 

Thus, only the dynamic - animated objects matter for the performance. Are there really 10 of those ? I saw plenty videos of klax that had 5 tiles max, moving across the background. 10 tiles at play would be the double of 5, so it's kinda important. I guess I'll go check some playthroughs again.

Link to comment
Share on other sites

How is that a problem? There's nothing else moving on the screen. I've got more rocks than that moving in Rebooteroids + all the other stuff, and they are all objects @ 60fps.

 

40 objects - that's only a problem if you go for object-list approach, where OP is re-rendering them every single frame.

Edited by CyranoJ
  • Like 5
Link to comment
Share on other sites

It's still taking performance away, every single frame, for all static non-moving objects, even if it runs at 60 fps. So, from that standpoint, it's not really a better solution compared to double-buffering where you pay the performance price only once (upon rasterizing it first and last time, compared to -say- 60 times per second-as would be the case with OP).

 

But we certainly aren't trying to compare the performance of poor old 68k with jag-specific chips, are we ? That would be roughly as fair as comparing Atari 2600 and PS4. Sure, you could do that, but :)

Link to comment
Share on other sites

25fps - ick. This game was killer on the Lynx, had digitized sound, and ran silky smooth.

You certainly aren't implying that 25 fps in an action - puzzle game like this is insufficient ? Did you ever play Flip-Out on Jag ? All these years I thought it's just the VJ, until I finally bought the cart and realized the VJ does indeed behave realistically with all framedrops.

 

That game has terrible framerate, and close to the final levels, it feels like below 10 fps - everything slaws to a crawl.

 

And there's even no 3d gfx - just 2D sprites, for which jag is supposed to be designed for - to handle them in 100+ fps...

 

So, how exactly, in a game where you don't rotate 180 degrees (as in, say, FPS game), would 25 fps feel 'ick' ?

Link to comment
Share on other sites

No.

 

The Object processor is fetching bitmaps from RAM and drawing the lines anyway. It may as well be drawing the objects. Sure, there is a bit more bus activity, but only on the lines where the objects are - for all the other lines, there is just the processing of the OP data.

 

If most of your play area is blank, and you've defined a solid bitmap the size of the screen to blit into, then you are wasting far more bandwidth than using objects. You also don't need to double buffer when you use the OP - so more memory to play with.

 

 

It's still taking performance away, every single frame, for all static non-moving objects, even if it runs at 60 fps. So, from that standpoint, it's not really a better solution compared to double-buffering where you pay the performance price only once (upon rasterizing it first and last time, compared to -say- 60 times per second-as would be the case with OP).

 

But we certainly aren't trying to compare the performance of poor old 68k with jag-specific chips, are we ? That would be roughly as fair as comparing Atari 2600 and PS4. Sure, you could do that, but :)

  • Like 2
Link to comment
Share on other sites

In the end, I can't really totally bypass OP either (even though I 'draw' using 68k), since fundamentally, the OP is drawing the screen buffer from memory, line by line.

 

You do bring an interesting point, though - where is that threshold where you waste more bandwidth by simply drawing one screen-sized bitmap full of static objects vs OP composing the screen full of smaller static bitmaps.

 

This would make for an interesting exercise, one which is doable only on real HW.

 

Of course, for bitmap drawing, OP can't be beat, there is no question about that - it is a specific chipset designed to do very specific seat of functionality. It's a pity, there is just one bus, though....

 

 

Sometime later this year, I should be able to add OP/Blitter functionality to my codebase, so for the time being, it's gonna be just 68k.

 

 

 

I still think it's fun to push 68k as far as possible using just the high-level C ;)

  • Like 1
Link to comment
Share on other sites

You do bring an interesting point, though - where is that threshold where you waste more bandwidth by simply drawing one screen-sized bitmap full of static objects vs OP composing the screen full of smaller static bitmaps.

 

 

If you use depth sorting and smart branching in the list, there won't ever be one - the OP will beat a static bitmap/blitter every time on efficiency. The 'threshold' happens when you want all your nice objects to line up horizontally at the same vertical height.... then you'll see some very interesting tearing*....

 

 

*unless you are using VJ :P

  • Like 2
Link to comment
Share on other sites

 

- re: 40 objects - that's only a problem if you go for object-list approach, where OP is re-rendering them every single frame. If I go for double-buffering (which will bring the performance down, so I might not be hitting those target 25 fps - but let's wait for the benchmarks), I pay the cost of static objects only once, upon initial rendering - once they're in both screen buffers, their performance hit is zero afterwards :)

 

Thus, only the dynamic - animated objects matter for the performance. Are there really 10 of those ? I saw plenty videos of klax that had 5 tiles max, moving across the background. 10 tiles at play would be the double of 5, so it's kinda important. I guess I'll go check some playthroughs again.

 

40 objects is trivial stuff for the OP, especially when there's only ever maybe, what, 10 of those ever on the same line - if the Jaguar excels at one thing it's sprite/object handling.

 

10 tiles flip-flopping down the play field is the most I've seen with a quick youtube of the arcade game. Take a look here: http://youtu.be/ifMrDactR1o?t=6m30s

 

It's pretty fast and frenetic stuff when it gets interesting.

 

EDIT: What the heck, AA? That took me about 6 edits to make the linky work! :lol:

  • Like 1
Link to comment
Share on other sites

In the end, I can't really totally bypass OP either (even though I 'draw' using 68k), since fundamentally, the OP is drawing the screen buffer from memory, line by line.

 

You do bring an interesting point, though - where is that threshold where you waste more bandwidth by simply drawing one screen-sized bitmap full of static objects vs OP composing the screen full of smaller static bitmaps.

 

 

Don't forget, if you are using a frame buffer you are using bandwidth to populate and redraw portions of the framebuffer each time you up date it, those updates then have to be read back to be displayed on the screen. The OP at least will pull in the framebuffer in 64bit wide chunks (I assume you have them phrase aligned?) so will do so very efficiently. The 68k will cough and splutter the data into them in very painful 16bit chunks every few ticks. certainly no where near as efficient.

 

You really should invest some time in getting the blitter to do the donkey work for the 68K. It too can throw around 64bits of RAM and run at clock speed. An understanding of the OP and generally how the Jag actually works will help you with your experiments.

 

For example, why have a frame buffer the size of the screen? it only needs to be the size of the 'belt' section, with things like score etc in their own 'buffers' (if you inside on using buffers for all elements of the screen).. you then get the OP to draw only what is needed where it is needed on the screen, rather than getting it to draw massive areas of empty space.

  • Like 2
Link to comment
Share on other sites

Imagine the reaction of the Jag-fans in 1994 if they had heard developers were discussing about how to push the Atari® Jaguar™ 64-Bit Interactive Multimedia System to display a game of Klax.^^

 

Regarding the rumors about a home version of the arcade game Klax, Atari CEO Sam Tramiel had this to say: "Our top engineers are working on ironing out the issues keeping Klax from the Jaguar. We know the fans are excited for Klax, and while there is no definite announcement to be made, we can say that we are confident to be able to bring the Klax-experience home to Jaguar fans. And when that is done we will have a look at the feasibility of having other arcade hits such as Rampart ported to the Jaguar, or Jaguar 2 if that's what it takes to get a perfect version of the game made. There's a lot of stuff really unleashing the 64-bit power in the works for our customers, so stay tuned.

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

Imagine the reaction of the Jag-fans in 1994 if they had heard developers were discussing about how to push the Atari® Jaguar™ 64-Bit Interactive Multimedia System to display a game of Klax.^^

 

"push"ing the Jaguar, someone bring a lolcat or spidey, now!

 

If Jaguar had been given a Klax it could have ended up a faithful and fun port, a terribly wonky and stuttery mess infested with fart-inflated-beach-toys or we'd have got Klax-o-tron 2000 and that itself could have gone one of two ways.

  • Like 2
Link to comment
Share on other sites

Damnit, why doesn't the forum support the irony symbol? To be clear, my post was not intended to seriously suggest the Jag had problems with vanilla Klax.^^

 

Well of course :) I'll just never pass on an opportunity to stick out a magic middle finger to the push-the-jaguar muppets and their arse<> elbow ways :lol:

 

And what do you mean "vanilla" - the F*CK?! Klax is rainbow!

 

iced.jpg

Link to comment
Share on other sites

You certainly aren't implying that 25 fps in an action - puzzle game like this is insufficient ? Did you ever play Flip-Out on Jag ? All these years I thought it's just the VJ, until I finally bought the cart and realized the VJ does indeed behave realistically with all framedrops.

 

That game has terrible framerate, and close to the final levels, it feels like below 10 fps - everything slaws to a crawl.

 

And there's even no 3d gfx - just 2D sprites, for which jag is supposed to be designed for - to handle them in 100+ fps...

 

So, how exactly, in a game where you don't rotate 180 degrees (as in, say, FPS game), would 25 fps feel 'ick' ?

No disrespect to your coding skills, I followed the VR BASIC thread, and this, and you do great work.

 

The ick comment is more a general thing for the Jag. Klax is 4 years older than the Jaguar, and the little Lynx pulls it off in what appears to be full framerate. It's frustrating to see the Jag (always described as this mythical beast of unbelievable power) do an old game, and really a 2D tile based one at that, at a low framerate. I would expect 60fps for this (50 in PAL land) is all.

 

Just read to the end - if you're getting 25fps from just the 68000 using C, I will not describe that as ick, that's pretty impressive.

Link to comment
Share on other sites

Imagine the reaction of the Jag-fans in 1994 if they had heard developers were discussing about how to push the Atari® Jaguar™ 64-Bit Interactive Multimedia System to display a game of Klax.^^

 

I'm sorry, does the idea of Klax 3D for Jag offend you ? At least I'm actually doing something productive with the system, instead of just bashing. Then again, your definition of productive may as well be different...

 

How about you give us links to at least 2-3 ports of Klax into 3rd dimension ?

Link to comment
Share on other sites

I'm sorry, does the idea of Klax 3D for Jag offend you ? At least I'm actually doing something productive with the system, instead of just bashing. Then again, your definition of productive may as well be different...

 

How about you give us links to at least 2-3 ports of Klax into 3rd dimension ?

No need to apologize, my mistake. Were you born with that stick in your ass or did that only happen later?

Link to comment
Share on other sites

No disrespect to your coding skills, I followed the VR BASIC thread, and this, and you do great work.

 

The ick comment is more a general thing for the Jag. Klax is 4 years older than the Jaguar, and the little Lynx pulls it off in what appears to be full framerate. It's frustrating to see the Jag (always described as this mythical beast of unbelievable power) do an old game, and really a 2D tile based one at that, at a low framerate. I would expect 60fps for this (50 in PAL land) is all.

 

Just read to the end - if you're getting 25fps from just the 68000 using C, I will not describe that as ick, that's pretty impressive.

OK, now I see what you mean. Of course, if we are talking about old-school 2D gfx, then smooth 60 fps is certainly to be expected from Jag - especially since there's only so many animated pieces.

 

But 3D ? How many 3D jag games actually run in 60 fps ? Don't get me wrong, I'm not saying it can't be done with Klax - but I myself certainly can't, since I'd have to code everything in ASM and use all coprocessors - which I won't - since I am just using 68k and high-level C.

I kinda assumed that 25 fps should be more than enough.

 

Of course, all this is strictly theoretical, till I actually benchmark it.

Link to comment
Share on other sites

OK, now I see what you mean. Of course, if we are talking about old-school 2D gfx, then smooth 60 fps is certainly to be expected from Jag - especially since there's only so many animated pieces.

 

But 3D ? How many 3D jag games actually run in 60 fps ? Don't get me wrong, I'm not saying it can't be done with Klax - but I myself certainly can't, since I'd have to code everything in ASM and use all coprocessors - which I won't - since I am just using 68k and high-level C.

I kinda assumed that 25 fps should be more than enough.

 

Of course, all this is strictly theoretical, till I actually benchmark it.

No worries - I like Klax, and I'm certainly interested in whatever you come up with.

Link to comment
Share on other sites

No need to apologize, my mistake. Were you born with that stick in your ass or did that only happen later?

Oh, it looks like you discovered / [were discovered by] Cartman's Anal Probe 3.0 with an automatic smart-@ss face-recognition-based targetting system.

 

Hope you enjoyed the splash, bro !

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