Jump to content
IGNORED

Old school platformer comes to the jag


GroovyBee

Recommended Posts

Today was the first day of the Video Olympics event at the Lass O'Gowrie pub in Manchester, UK. For a laugh I ported the SDL version of A&F's Chuckie Egg originally reverse engineered into "C" (from the BBC micro version) by Paul Brook over to the jag. The jag is so hard to program for, that it took a massive 3 hours :o (last night) to rip out the SDL code and replace it with jag code to get it running at a decent frame rate :-

 

post-21935-0-10938200-1344110027_thumb.pngpost-21935-0-76116000-1344110034_thumb.png

 

Photo of it running on real hardware (NTSC) :-

 

post-21935-0-93869600-1344110210_thumb.jpgpost-21935-0-68773300-1344110219_thumb.jpg

 

The original code is GPL'd so I'll be releasing the source along with a binary image. I doubt there will be an NTSC release because the games needs 256 vertical scan lines. There have been adaptations of the game in the recent past that have reduced the vertical screen requirements so I may go down that route.

 

Many thanks to Linkovitch and sh3-rg for testing. The game caused a few laughs and plenty of smiles and was therefore a complete success in my eyes.

 

There are no plans for a CD or cart run.

  • Like 14
Link to comment
Share on other sites

Just force it into interlace mode and geta nice picture of a BBC CUB monitor to act as a surround for the reduced play-area size :D should take not long to get it working and would look win :D

 

g'awn, you know it will look awesome and makes sense :D

 

:lolblue: I might just put that in ;).

  • Like 1
Link to comment
Share on other sites

Looking good.

 

Thanks for the compliment. It plays exactly like the BBC version so its a very good reverse engineering job by Paul Brook.

 

Don't interlace it though, all those single-pixel lines would flicker like crazy. I guess you could interlace it and then have it stretched 2:1 but that wouldn't really help.

 

If I can find a volunteer for the graphics I might have updated and classic modes. I don't really want to spend too long on it because it was a "make people laugh" kinda project.

Link to comment
Share on other sites

You could try writing the screen to a scaled bitmap, and use the OP to shrink it down to NTSC size - that way there's no code needed!

 

Its mainly score, lives and timer and a big yellow bird taking up most of the top of the screen. It was just a fun little project to take to the event today. As soon as it was going I pretty much called a halt on it :lol:. It needs a bit more work to get the frame rate higher and then with a title page and high scores its pretty much done.

 

Well done, GB!!

 

Thanks for the compliment.

Link to comment
Share on other sites

Looking good.

 

Don't interlace it though, all those single-pixel lines would flicker like crazy. I guess you could interlace it and then have it stretched 2:1 but that wouldn't really help.

 

They shimmer a bit, but I haven't really noticed too much flickering, plus if you run it through a half decent LCD it tends to buffer the fields and you get a solid image :D

Link to comment
Share on other sites

Very great work GB !!!!!

 

Thanks for the compliment but I think Paul Brook deserves a lot more credit. He did all the really hard work in reverse engineering the original BBC micro 6502 game into working "C" code.

 

Yes very hard to code !!! xD Another example !!!!!

 

The jag just gives you more options to solve your in-game problems so there is never an "ultimate" single solution. Game coding is always a trade off between the resources the machine offers you, what you need to do behind the scenes in the game and what experience you have coding/debugging etc.

  • Like 6
Link to comment
Share on other sites

Keep up the good work! I hope a to see a NTSC fix.

 

Its certainly possible. It just makes the game a bit harder because you have less room to move around in to avoid the big duck when its released from the cage.

I've got an idea, You'd played Jr. Pac-man right? You know how the maze move with Jr Pac-Man when you go left or to right of the maze maybe you can do the same for your game instead the maze moving left to right just make where it move down and up that way you don't to have re-size your levels or do something more like Gauntlet or Dark Chambers.

Link to comment
Share on other sites

I've got an idea, You'd played Jr. Pac-man right? You know how the maze move with Jr Pac-Man when you go left or to right of the maze maybe you can do the same for your game instead the maze moving left to right just make where it move down and up that way you don't to have re-size your levels or do something more like Gauntlet or Dark Chambers.

 

Possible, but you have to get on and off lifts in later levels so having the screen scrolling up/down would affect how you play the game. It'll be easier to alter the levels and then the play mechanics are what Chuckie Egg fans expect ;).

Link to comment
Share on other sites

Just force it into 50hz. I know almost all PAL TV's will accept PAL60 (NTSC size) signals. I'm sure the majority of NTSC screens should be able to accept PAL size signals, especially the more modern ones.

 

I'd rather just alter the level layouts. The Acorn Atom had a Chuckie Egg port recently and that has a comparable vertical resolution to an NTSC console (approximately 200 scan lines).

Link to comment
Share on other sites

Just force it into 50hz. I know almost all PAL TV's will accept PAL60 (NTSC size) signals. I'm sure the majority of NTSC screens should be able to accept PAL size signals, especially the more modern ones.

Actually, that was more or less a joke :D

AFAIK, there are a lot more NTSC TV sets that don't support 50 Hz than PAL set that don't support 60 Hz. So it's probably not a wise solution.

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

Just force it into 50hz. I know almost all PAL TV's will accept PAL60 (NTSC size) signals. I'm sure the majority of NTSC screens should be able to accept PAL size signals, especially the more modern ones.

Actually, that was more or less a joke :D

AFAIK, there are a lot more NTSC TV sets that don't support 50 Hz than PAL set that don't support 60 Hz. So it's probably not a wise solution.

Really? Well that's a bit poo, isn't it?

I wonder how NTSC HDTV sets handle things?

Then again, a lot of HTDV sets don't seem to like the non-interlaced signals the Jag and other old games systems produce anyway.

Link to comment
Share on other sites

Off topic, but when people say that the Jag is notoriously difficult to program for, what does this mean?...is it that there's no software developer tools to allow easier programming? I'm curious, but something tells me the answer must be a complex one as well.

 

There are a lot of myths about the jaguar and this is one of them. I haven't had a problem with the official development kit documentation so far. The only problem is a lack of source code examples in the actual docs themselves because you have to go off and look them up (and then they might not actually do what you want them to do ;)). I don't have an Alpine or an archive of the official set of example code that came with the dev kits either. But with the availability of useful information on the Internet (Jagware, AtariMuseum etc.) and files Curt Vendel has put out to the community its not such an issue these days.

 

If you've done any moderately complex programming in assembler then the jag isn't a problem. If you've never got your head around how high level language concepts like arrays, linked lists or bit packed structures actually work at a low level then constructing an object list for the jag's object processor is going to be a problem. But having said that once you get some code that works it becomes part of your personal programming library and gets adapted and used in your projects as time goes on.

 

Sure the jag has its quirks and silicon bugs but you have to learn to live with them and to work around them when you need to. That is all part of developing your game. Its "you vs the machine" to get it to meet/exceed your goals and thats the fun part. Well... to me it is ;).

 

Writing games is always a trade off. With jag development these days you can write your game in "C" with "heavy load" parts moved out to the blitter and object processor and 68k assembler if needed. If you have a more demanding game then you offload parts to the GPU and make use of some architecture parallelism. There is no perfect solution to a game. Its all down to the game style/genre, personal choice/ability and what makes it fun for you as a developer. If you want to wring out every ounce of performance from the jag you can. If you want to write a simple game every month you can. Just have fun doing what you want to be doing.

 

With Reboot's RAPTOR engine on the horizon and U235's sound engine already available then the entry point to developing games on the jag in the future is coming down.

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