Jump to content
IGNORED

Old school platformer comes to the jag


GroovyBee

Recommended Posts

What you also have to consider about that myth is that not all programmers are created equal. What is "hard" to one programmer can be considered as a walk in the park to somebody else. Its all down to a persons ability, knowledge and experience. For example, from the current jag programmers I've talked to none of them consider the jag to be hard to program for (myself included).

 

The people who perpetuate this myth seem to belong to one of three catagories.

 

1. They are not themselves programmers.

2. They have never actually tried to program on the Jaguar.

3. They lacked the ability to stay focused long enough to complete a project.

 

There is nothing inherantly difficult about programming this system that a basic acceptance of your own skill level and experience cannot overcome. Bad workmen will always blame their tools.

 

As far as 3D rendering goes, however, the way I think about it is this.

 

I have Griff/Inner Circle [sT demo crew] 3D render source code, along with several other famous ST crews render engine source codes from the ST days. A direct one to one port of this code to the Jaguar, 68000-68000 would give the Jaguar a 2x speed boost over the ST.

 

Factor in that the ST planar bitmap mode, when converted to Jaguar chunky would give another speed boost in the rendering section of code, and that the Jaguar's CRY mode would make doing the lighting calculations trivial, and you get yet more speed.

 

Factor in the blitter for line filling, instead of software rendering, you get even more speed.

 

Factor in a non direct port to the GPU - which would be again fairly trivial given the architectural similarities in the instruction sets of the 68000 and the JRISCs and you get an even bigger performance increase.

 

Given that the basic ST version of the engine could deliver a frame rate and experience above and beyond most of the existing Jaguar 3D polygon games, it's not beyond reason to expect super slick smooth graphics from the system. Check out 'No Second Prize' on the ST for an example - 8Mhz, pure 68000, silky smooth goodness. All it will take is someone willing to put in the time and effort to do the hard work. A lot more of which is required than is needed for the ability to whine about the state of affairs and bemoan the lack of pre-built libraries that don't exist.

 

So, Am I going to be the one to port this code? No. I have absolutely no interest in 3D games. I like my retro 2D, thank you very much. That is my personal preference. I grew up with classic arcade games, that's what I like playing, that's what I enjoy making. That's what the rest of the people in the team I work with enjoy. We do this for fun. For ourselves. Because we enjoy it. However, it's all out there on the net, waiting. It won't take much from someone with the dedication, experience and motivation to do it.

 

So, pretty much what I'm saying is: Those who can (and have the motivation, skillset and time) do, those who can't sit about on forums complaining that they've been waiting for someone to write code for them for years so they can realise the dreams they can't make happen themselves.

  • Like 8
Link to comment
Share on other sites

Yes we all know if someone is determined they can work through anything but I think he was answering why the Jag was considered hard to program for.

 

What you also have to consider about that myth is that not all programmers are created equal. What is "hard" to one programmer can be considered as a walk in the park to somebody else. Its all down to a persons ability, knowledge and experience. For example, from the current jag programmers I've talked to none of them consider the jag to be hard to program for (myself included).

 

I found this myself working on the SoundEngine. I have always wanted to write a tracker player, ever since I 1st heard one on the ST, always seemed like awesome amazing voodoo, I had no idea how to write such a thing. I never tried back then, but getting back into the Jag I thougt why not.. I wrote it up 1st on the 68K as I mostly knew that from ST tinkerings, but learnt a LOAD more about that through just plugging away.. I was however really daunted by the RISCs, strange new hardcore, difficult buggy devices... oh noes..

 

You know what, when I actually sucked it up and tried.. they are easy! different, but easy (I am saying this from the point of view of someone that can already do 68K assembly fairly reasonably). Yeah there are bugs, and quirks, but you soon find them and find the work arounds and with a little thought about what you want the code goes down easy and off you go. The hardest part for me is working with the old Atari tools and docs. They are full of bugs and errors, so half the time the issue has been with those and not the RISCs! The whole of the SE is written using Atari's Madmac and ALN (in DOSbox), any extra bits I needed I have written myself. It's just like programming any other system, think it through logically and away you go.

 

The Jag's not hard, it has its own learning curve, and there are now thankfully some helpful clueful guys about who will happily help out with problems and issues (I like to count myself among their number :D ), looks like the old asshattery ways of the self proclaimed super elite are dieing away YAY! This is the most exciting time I have whitnessed for the Jag in all my years on here!

  • Like 7
Link to comment
Share on other sites

You know what, when I actually sucked it up and tried.. they are easy! different, but easy (I am saying this from the point of view of someone that can already do 68K assembly fairly reasonably). Yeah there are bugs, and quirks, but you soon find them and find the work arounds and with a little thought about what you want the code goes down easy and off you go. The hardest part for me is working with the old Atari tools and docs. They are full of bugs and errors, so half the time the issue has been with those and not the RISCs! The whole of the SE is written using Atari's Madmac and ALN (in DOSbox), any extra bits I needed I have written myself. It's just like programming any other system, think it through logically and away you go.

 

The JRISCs are very THUMB like in their instruction set. Once you start thinking ahead as to where the instructions actually execute in the JRISC pipeline and that condition codes are ANDed together and not OR'd you can make some good progress. When you factor in the two sets of 32 registers to play with it eases algorithm implementation and also means that you can prepare a bunch of "constants" in advance (if needed). The only limiting factors in my mind are the fact that there are only 2 registers that can be used in indexed addressing modes, reads/writes from/to GPU/DSP memory are always 32 bits wide, accessing main RAM is slow and that condition code checks aren't OR'd. With those "features" in mind you adapt your choice(s) of algorithm to suit your problem(s) at hand.

  • Like 1
Link to comment
Share on other sites

This is the most exciting time I have whitnessed for the Jag in all my years on here!

 

I've been thinking the same thing for a while now.

 

I'd just like to point out that Atari had a 3D renderer api in their sdk samples. I would recommend you start off by using that instead of wasting your time porting some ST 3D code.

 

I would agree if the "some ST 3D code" in question wasn't a demoscene production. Atari's 3D library is incredibly poorly optimised and intended mostly as an example.

Link to comment
Share on other sites

I'd just like to point out that Atari had a 3D renderer api in their sdk samples. I would recommend you start off by using that instead of wasting your time porting some ST 3D code.

 

Yup, and that code sucks. Demo code eats it for lunch. I suggest you compare some old ST demos, or even some old ST games like 'Interphase' or 'No Second Prize' to the best the Atari renderer examples can do before even thinking about comparing apples to oranges!

 

[edit]

 

Actually, when it comes to games...Could a gamer tell the difference between a well written, optimised, highly streamlined and clean piece of code that plays really, really badly because the game itself sucks, and a badly written piece of code that is full of worm-like, slow, unoptimised [possibly compiled BASIC] hell that plays nicely and is enjoyable? Of course not, and why should they? What something is written in, and how something is written is nowhere near as important as how well it plays or how much enjoyment is derived from it.

 

All this 'chasing the optimum' stuff is meaningless to 99.99% of the player base. People just want to have fun.

 

[second edit]

CHUCKIE EGG IS A HELL OF A LOT OF FUN! AND THAT IS *ALL* THAT MATTERS IN THIS CASE! THREE HOURS WELL SPENT, GB!

  • Like 3
Link to comment
Share on other sites

All this 'chasing the optimum' stuff is meaningless to 99.99% of the player base.

 

Whoa, hang on, that kind of precision seems a little far fetched - you're implying 10,000 people even know what a Jaguar is.

 

People just want to have fun.

 

I thought that was just girls? Remember, the Jaguar is serious bu$ines$$, don't let leftfield concepts such as fun get in the way.

Edited by sh3-rg
  • Like 3
Link to comment
Share on other sites

CHUCKIE EGG IS A HELL OF A LOT OF FUN! AND THAT IS *ALL* THAT MATTERS IN THIS CASE! THREE HOURS WELL SPENT, GB!

 

I've spent a couple of hours on it tonight and its much quicker than it was and now its full screen width too :D. I'm also going to reduce the height of the display area it needs so that an NTSC version is possible. I'll add some more images tomorrow evening hopefully.

  • Like 4
Link to comment
Share on other sites

CHUCKIE EGG IS A HELL OF A LOT OF FUN! AND THAT IS *ALL* THAT MATTERS IN THIS CASE! THREE HOURS WELL SPENT, GB!

 

I've spent a couple of hours on it tonight and its much quicker than it was and now its full screen width too :D. I'm also going to reduce the height of the display area it needs so that an NTSC version is possible. I'll add some more images tomorrow evening hopefully.

I can't wait.

Link to comment
Share on other sites

Its coming along slowly. The hens and player are now on the object processor and the frame rate is pretty good now. Next I need to put the caged bird, lifts and the score/lives/timer back in and then make it NTSC compatible. It'll probably be a few more weeks before its finally released.

 

post-21935-0-62169100-1344457615_thumb.pngpost-21935-0-53811500-1344457629_thumb.png

  • Like 3
Link to comment
Share on other sites

Yes, jazz up the game something like what Nintendo did for Mario on SENS in Super Mario all Stars, make those Chuckie Egg fans drool over the Jag version of Chuckie Egg. :P

 

There have been quite a few remakes and Chuckie Egg inspired games over the years. There is plenty of information on them over at The Chuckie Egg Professional's Resource Kit.

  • Like 1
Link to comment
Share on other sites

The new score/timer/level/bonus and lives display are in the game and working. The game's playfield bitmap is now 212 pixels high (it was 256) which should be fine on NTSC machines. I need to make it NTSC/PAL in the next set of code changes. The lifts on some levels need some work because they finish in the status bar area. Hopefully that won't make much difference to the game if they finish their travels a bit early.

 

post-21935-0-95455000-1344553054_thumb.pngpost-21935-0-04417600-1344553070_thumb.png

 

It is also possible for the player's head/body to move over the status bar area whilst jumping on the very top platform/ladders but I don't see that as a problem either.

  • Like 5
Link to comment
Share on other sites

As someone who worked on the Jaguar when it was 'retail' nearly twenty years ago, when all this stuff was weird and new and strange (oh wait, no it wasn't, it was pretty easy moving from 68000 to JRISC then, even with the basic tool chain - code is code!) I have to say you have my respect, GB. That is a fantastic slap in the face to the 'this shit is hard' brigade ;)

 

C'mon everyone - LETS MAKE MORE GAMES AND HAVE FUN!

  • Like 7
Link to comment
Share on other sites

Liking the loving you're giving this old classic ;) Keep up the great work & looking forward to the 3d version in 6 months time! :D

 

Thanks for the compliment. I doubt I'll do a 3D version of the game. I played the old DOS 3D Chuckie Egg and it just doesn't feel right to me.

 

As someone who worked on the Jaguar when it was 'retail' nearly twenty years ago, when all this stuff was weird and new and strange (oh wait, no it wasn't, it was pretty easy moving from 68000 to JRISC then, even with the basic tool chain - code is code!) I have to say you have my respect, GB. That is a fantastic slap in the face to the 'this shit is hard' brigade ;)

 

Thanks for the kudos. Its been a ton of fun getting stuff up and running on the jag.

 

C'mon everyone - LETS MAKE MORE GAMES AND HAVE FUN!

 

Agreed! Its a hobby and it should be fun.

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