Jump to content
IGNORED

Klax, Atari ST to Jaguar conversion


JagChris

Recommended Posts

To quote, The Rock "It Doesn't Matter" How the Jag is programed when a game is being made, what matters is we get more games for the Jag. VladR thinks outside of the box when to it comes to Jag, this why I'd loaned him my Jaguar Dev Kit. :thumbsup: :thumbsup: At the end of all we're after same goal to make games for the Jag. :dunce:

  • Like 3
Link to comment
Share on other sites

How do you get this ending? My cousin has the ps2 version which from my understanding is an emulation of the arcade hardware. He made it to level 100 and all he got was a generic message saying 'Thanks for playing Klax' with no animation like described here. Do you have to not warp or what?

 

 

 

The original arcade showed an animation of an arcade machine sucking a player into it. The Lynx version shows the player getting sucked into his Lynx. :D

Link to comment
Share on other sites

The original arcade showed an animation of an arcade machine sucking a player into it. The Lynx version shows the player getting sucked into his Lynx. :D

 

 

 

How do you get this ending? My cousin has the ps2 version which from my understanding is an emulation of the arcade hardware. He made it to level 100 and all he got was a generic message saying 'Thanks for playing Klax' with no animation like described here. Do you have to not warp or what?

 

 

 

Probably it was no longer the 90's so there wasn't time for sucking. :)

Link to comment
Share on other sites

To quote, The Rock "It Doesn't Matter" How the Jag is programed when a game is being made, what matters is we get more games for the Jag. VladR thinks outside of the box when to it comes to Jag, this why I'd loaned him my Jaguar Dev Kit. :thumbsup: :thumbsup:

There was really only ever one person who stated THOU SHALT NOT and reeled off his list of commandments of how and why anyone should ever consider making Jaguar games, and look at the carnage and hostility that left in its wake and see where it got him in the end... hardly seems worth it, does it?

 

When it comes to making games, it's not about the hows, wheres and whys, nobody gives a damn about any of that - it's irrelevant. It's all about the end result and how fun a game might be to play... that's the thing that is just lost on some people... the creator's enjoyment along the way is entirely driven by what they're doing themselves and their own motivation, but that's irrelevant in the context of a gamer experiencing the fruits of their labour. The kind of nonsense where people shout about THE ONE TRUE WAY to program Jaguar ended years ago when a few over-sized egos and vapourwaremongers upped and left to set up a secret squirrel church of true believers... and judging by the hive of activity that turned out to be (yes, that's sarcasm based on the tumbleweeds witnessed when they left the front door wide open for a few months recently), you can only laugh, shake your head and shrug as you consider that ever since they sulked off, taking the worst of the worst miscreants in tow, there have been more and more people picking up the Jaguar productivity bug and giving things a go for themselves. That's no coincidence if you ask me. As stormy as things appear to get from time to time these days, it absolutely pales in comparison to how things were not so long ago.

 

Much of what Vlad is doing and saying is entirely in line with the kind of stuff people who now frequent these forums have been saying for years in the face of fierce opposition (opposition that, bizarrely, rarely ever came accompanied with end result to back any of it up). Vlad has already shown more in a few months than they did in almost a decade. That can't be a bad thing. Nobody here says it is. They would likely dismiss that as "standing on the shoulders of giants", lol, whatever. The only negative for Vlad is that sometimes he seems compelled to prove points to entirely the wrong people and to do so by extrapolating the results of small sections of his code into what a full game might offer on actual hardware, when the only real way to prove anything like that is to just make a finished game. It's a minor distinction but an important one and certainly not something over which people should be drawing lines in the sand. If Vlad thinks he has a wall of detractors and nay-sayers here he's wrong, as it's not his efforts or results that were ever questioned but the actual context in which they were presented and extrapolated upon. If his motivation for working on a polygon-based Klax was GGN's sarcastic comments on the first page of this thread, then that's great that he found motivation, just unfortunate that he mistook it for someone saying "you can't do this" or "you can't do that", when it was simply more in a long line of understandable jibes directed at the kinds of people mentioned earlier in this post. But whatevs, it's really not important now... someone is making a new game, one that might even get finished unlike others in the past, and that's effing great.

 

Vlad's apparent dislike for sarcasm and humour around this place is something he's either going to have to just live with, learn to ignore or better still, channel into yet more productivity... because this place and others like it have sure as heck took themselves way too seriously at times. Jaguar is a 20 year old games console, not an object of worship and most definitely not a boring and dry place to do business in a serious and assiduous manner... all those old grandiose delusions of being the CEO of a software company and other such nonsense we were all subjected to back then, the pseudo-official "press release" nonsense, when is that ever going to sit right with people living in the real world? Tiresome. Jaguar is just a fun means to have a laugh and be productive with like-minded individuals. It's an open platform and deserves open users and producers not secretive boys club cliques and highly guarded patented techniques. For me, Vlad is in the former camp, not the latter, and that's A. Very. Good. Thing.

 

At the end of all we're after same goal to make games for the Jag. :dunce:

This.

 

Nice :thumbsup:

[insert "funny English gif" here]

  • Like 6
Link to comment
Share on other sites

I found some time today and refactored the code to allow for multiple (right now, 15) parallel cubes being animated (plus 75 stashed 3D cubes), alongside with run-time adjustment to cube/converyorbelt dimensions (thus giving player the variability of various playfields / camera angles / distances):

 

jag vid will follow soon...

 

This is not a full-speed vid (we had that last week, albeit in lower quality), since game would be played at regular speed - so I wait for vblank at the end of each frame, and there's still ample performance buffer for audio/input/gameplay code.

 

From the benchmark of the last week's build that JagChris ran on his Jag I have interpolated the performance differential (e.g. used a coefficient to account for higher framerates under my VJ compared to real jag) and it looks like I could easily double/triple the amount of concurrent cubes to 30-45 and still retain the 60 fps it still runs at on Jag (under VJ, it is well over 100 fps).

 

With an additional trick, I believe I can double that number to 70-90 animated cubes (I would love to find some time to actually create a short demo with 100 cubes fluently animating) and still retain totally fluid animation/gameplay.

 

Oh, and by the way, this build already uses the final gameplay code to initialize/animate/destroy blocks at run-time from the precomputed array, so that constitues about 80% of the gameplay code that has to be run during 3D animation (all other gameplay code stops 3D animation in all Klax ports, thus it's irrelevant how many cycles the block putting/score update/klax flash/other stuff take).

 

I also estimate about 20% of frame time to be reserved for audio.

 

Yes, there is no input yet, but I hope you are not going to state that reading jag's input registers takes as much time as calculating 3D transformation, visibility culling, Bresenham traversal and final rasterization of the polygons for 15 cubes ?

 

Then again, I would not be surprised if you did,there were already countless nonsensical quotes about 'potential performance' of my C rasterizer....

 

I've never managed to get your HERO demo to run at anything above 3fps, even in VJ, so I'd have to disagree that 25fps is achievable.

 

However, using a GPU sprite engine and forgetting about all that 3D gibberish, you could nicely manage 60fps.

 

So the challenge is to make something that you know will turn out to be a jerky, horrible, slow, unplayable mess.

 

 

And again your back with the 25fps. Like you'll ever get 25fps out of that...

You could clock the background fps on your fingers without a watch.

 

 

And what on Earth is the point of creating a version of Klax that runs at -7 fps

 

 

VJ is about 2x the speed of the Jaguar for tests like these... so make that 3fps.

 

 

 

Well, yeah - I understand you would still cry about 3 fps even if this build ran in front of your face and there is nothing I can do to change that. You've clearly made your mind before you actually saw anything.

 

 

It's a pity there are not more active jag 3D coders on this forum. I feel like I could make this jaguar 3D rasterizer way, way faster, under appropriately skilled guidance...

Link to comment
Share on other sites

Also, why do "real" 3D, when the illusion of 3D can be done using tile / sprite based methods and run multiple times faster, smoother, and look better at the same time?

You must have missed the part talking about the dynamic camera. When you strafe, the camera adjusts the angle (not fully finished in current build, yet) - which is impossible with pre-rendered 2D sprites, since you would need multiple angles per each distance/position, thus you'd run out of memory very fast.

 

Also, as you can see from the vid above, I finished the implementation of a functionality that allows definition of boards of different sizes . camera angles and and cube dimensions - which will allow the player to play levels with way more cubes in play than in oldschool 2D Klax.

 

Imagine being in space - take a huge spaceship/transporter with multiple huge docking ramps, each of different dimensions, colors, camera angles. This will certainly spice up the monotone gameplay / levels of classic Klax played over same field, same bricks, same everything...

 

Also, why do "real" 3D, when the illusion of 3D can be done using tile / sprite based methods and run multiple times faster, smoother ?

So, the Jag can somehow run and display games at over 60 fps ? By multiples (of 60 fps), we are therefore getting into 120/180/240 fps territorry !

 

I certainly did not know Jag is such a powerful monster ! 120 fps ? Whooot....

 

 

 

 

 

EDIT : I forgot to mention smoothness - right now, in my C rasterizer, each cube moves exactly 1 pixel at a time, thus it is as smooth as it gets under the default resolution.

Edited by VladR
Link to comment
Share on other sites

nice to see some progress toward a real 3D klax on the jaguar. i think it would've been a cool early jaguar game to show off the 3D potential of the system. i can image image gourad shaded tiles to show off lighting effects as they flip forward, a texture mapped board (or whatever that's called), over a static 2D background. the polygons aren't really necessary for Klax but i think it makes the game much more impressive if you can execute it with the same overall polish of the 2D version with the depth added by shifts in the camera or adjustable angles.

 

i haven't read the previous 11 pages of the thread so i don't know what the ultimate goal for this project (just to show off some polygons on the jaguar or to do a full overhaul of the arcade game?), but it's nice to see VladR making some progress on the jaguar and someone trying to take a stab at a real 3D game.

Edited by Willard
Link to comment
Share on other sites

 

for sure :P

 

It looks way cleaner on my phone but once I get it on my PC I have to have Irfanview play it because Media Player Classics Codecs butcher it for some reason. Irfanview plays it but its dirty, as you can see. But at least you get an idea how fast it moves on real hardware.

Edited by JagChris
Link to comment
Share on other sites

I forgot to mention smoothness - right now, in my C rasterizer, each cube moves exactly 1 pixel at a time, thus it is as smooth as it gets under the default resolution.

But not 1 pixel every frame, right? That'd be a bit weird I'd have thought as it'd negate the perspective effect and make the game play feel a little wonky, wouldn't it? I'm sure you didn't mean that as you have all the geometry for your coloured bars.

 

You get around that kind of effect with sub-pixel accuracy for sprites, not being locked to having them move at only 60/30/20/15/whatever. (as an example, Raptor has 16.16 sub-pixel accuracy, just been playing with it the other day).

 

As for "smooth", it all depends on what you're looking at really. Something can be smooth in terms of frame-rate, but I find the "wobble" effect often displayed by low-res polygons that are square to the to axis to be pretty unsightly at times, when they creep over onto more scanlines and wider into more pixels and drop from others and the reverse when getting further away. I suppose that's another advantage of bitmaps and another challenge for the person wishing to use low-poly low-res 3d objects.

 

 

cj said...

cj said...

cj said...

cj said...

cj said...

cj said...

 

Sigh...

 

Neither of you are correct until a finished game exists as you're both speculating. Guessing what someone will do and counter-guessing what you will do seems unproductive. Just do it. Show it. Then there's nothing to waste time with such a pointless back-and-forth,.

  • Like 1
Link to comment
Share on other sites

Better than letting a bunch of other people make up your mind for you about an entire forum.....

 

Anyway, good luck with Klax, I like that game - If you plan to port it, don't arse up the game play, because if you botch that it doesn't matter what you put on the screen.

 

 

 

You've clearly made your mind before you actually saw anything.

 

Link to comment
Share on other sites

My understanding is that VladR has not yet actually played Klax. IMO if he wants to really do a 3D version he should spend some time(actually quite a bit of time) with the actual game because I do agree with CJ on this. If the gameplay isn't there the pretty polygons will lose their luster real quick.

 

If he can do the 3D right AND the gameplay right then that would be something.

 

Better than letting a bunch of other people make up your mind for you about an entire forum.....

 

Anyway, good luck with Klax, I like that game - If you plan to port it, don't arse up the game play, because if you botch that it doesn't matter what you put on the screen.

 

 

 

 

My cousin is absolutely hooked on Klax. He plays the hell out of it on the PS2. He's beat it at least twice. He has never seen the ending where the guy gets sucked into the arcade cabinet though. Is that an urban Klax myth? Or do you have to fulfill some criteria to see that?

Link to comment
Share on other sites

here is a vid of the current state on real hardware

Thanks a lot for posting a YT vid from a real Jag !

 

What did it look like ? How smooth it felt ? Did you notice any tearing artifacts ? I sure don't see any on the vid (and there are none under VJ), but it's YT vid, so it's hard to tell.

Link to comment
Share on other sites

Am curious as to what kind of different performance could be gotten out of the latest m68k gcc for something like this compared to vbcc.

That is an excellent point !

 

Well, from my commercial experience with other C++ compilers, there can be massive difference in performance even between two consecutive versions of the compiler, so the difference between two different compilers will certainly be there. Then again, the new one could also be slower, for all we know.

 

This experiment is only really doable under Linux, which as I said many times already, I work with on a daily basis at work (multiple different distros), but I principally refuse to use them at home.

 

But, since this wouldn't be an actual development, a mere compilation test, I suppose I could make an exception, fire up a VM with some linux distro, install few compilers, and build few executables under different optimization levels.

Chris - should I forget about it, please remind me of it in few months, ok ?

 

And thanks for the vid capture from jag !

Link to comment
Share on other sites

nice to see some progress toward a real 3D klax on the jaguar. i think it would've been a cool early jaguar game to show off the 3D potential of the system. i can image image gourad shaded tiles to show off lighting effects as they flip forward, a texture mapped board (or whatever that's called), over a static 2D background. the polygons aren't really necessary for Klax but i think it makes the game much more impressive if you can execute it with the same overall polish of the 2D version with the depth added by shifts in the camera or adjustable angles.

That is correct. The 3D allows me to procedurally change the look of the board/cubes at run-time, thus each level can have a different color scheme and lighting (which I plan to show a bit later).

As I mentioned few posts above, I can now have different dimensions of the board and cubes, so each level can really play different.

 

3D gives you opportunities you simply don't have the memory for when using 2D [in jaguar].

 

 

i haven't read the previous 11 pages of the thread so i don't know what the ultimate goal for this project (just to show off some polygons on the jaguar or to do a full overhaul of the arcade game?), but it's nice to see VladR making some progress on the jaguar and someone trying to take a stab at a real 3D game.

Well, from last 11 pages there is one thing obvious - there is only 1 person who actually wants this game - JagChris.

 

Everybody else had their fun posting quasi-sarcastic pictures how there is no time for new Klax in 2014, so I don't suppose it is a reasonable use of my coding skills to create a game for a single person.

 

 

 

 

so i don't know what the ultimate goal for this project - just to show off some polygons on the jaguar ?

Yes - this is to prove that a 'slow' C can be used [assuming you know how ;) ] to create a 3D game at 60 fps without tearing AND without abusing any of the Jaguar's coprocessors (Blitter, DSP, GPU, OP) :)

Link to comment
Share on other sites

Yes - this is to prove that a 'slow' C can be used [assuming you know how ;) ] to create a 3D game at 60 fps without tearing AND without abusing any of the Jaguar's coprocessors (Blitter, DSP, GPU, OP) :)

Which you have yet to do. ;)

 

I feel I should note that the Klax tiles have structure to them, they are not just simple rectangular prisms. Also, they flip end over end as they come down the board; they only slide when the player makes them.

 

Also, I'm having a hard time understanding exactly *why* anyone would want a Klax with a camera that strafes back and forth, especially when lots of tiles are coming down the board! It seems to me that you don't have the slightest inkling as to what makes Klax fun to play, or indeed, what makes it uniquely Klax.

 

That said, by all means, make your game, but don't call it Klax, because it seems to bear only a superficial resemblance to it. :P

  • Like 3
Link to comment
Share on other sites

Which you have yet to do. ;)

Uhm, no. I don't. I already proved that my C rasterizer is fast enough to run at 60 fps, without tearing, with 15 animated cubes (and 75 static cubes).

 

And there is still ample performance buffer for the audio (I reserve about 20% of frame time) and input. I even have the per-frame gameplay code that initializes, picks, kills and inserts new cubes into the play - exactly same code that will happen in the actual game.

The rest of the game effects happen when the game pauses cubes, thus it's irrelevant how much performance those effects require.

 

At this point, if anyone still feels this does not prove much, after all those 10 pages of flaming by Reboot that it will not go over 3 fps, and that those routines of my mean nothing, when there are multiple cubes in play, then nothing will persuade them.

 

In this world, there's plenty people that have the voting right (even though they should be revoked of it), yet I can't do anything about it.

 

It's a free world - you can voice your opinion, irrespective of how stupid and ignorant it is, for those in the know.

 

Why should I waste my time trying to persuade such a breed the world they live in is wrong ?

 

Ignorance is bliss...

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