Jump to content
IGNORED

A very noob question/proposition.


darkfalzx

Recommended Posts

Hello,

I am a pixel artist and indie developer familiar with only the high-level dev languages like basic (ZX Spectrum variety) and GameMaker Studio. I have published several games for PC and modern consoles (PS4/Xbone/OUYA(?!)), and was wondering if Jaguar could be a feasible target to re-code my games on. Now, at the moment I'm only testing the waters to get an idea of how complicated Jag development would be, and to see if anyone in the community would be willing to come along for the ride. Here are some videos of my games in action:

Ultionus: A Tale of Petty Revenge

https://youtu.be/9nFw09e7TDs

Mystik Belle

https://youtu.be/LZvCqdcBiNY

Maziak

https://youtu.be/9MfgVYvIPYo

 

Ultionus is the simpler and more straight-forward of the two finished commercial games. It's a sidescrolling shooter with minimal special effects. It is rather asset-rich, and does include a fair number of skeletal-ish sprite animations for bosses, but I'm sure those could be worked around or pre-baked.

 

beX8AdS.gif

 

Mystik Belle is the more complex game. It's a combination of a point-and-click adventure and a metroidvania. The light effects, though real-time in the original, could either be greatly simplified or pre-baked into the scenery. Personally, I would much rather see this game on the Jag, as the system, in my opinion, severely lacks games with a plot and large, pretty 2D sprites.

Maziac was my very first finished PC game all the way back in 2004. Though it's primitive, it is likely that it could be re-done on Jag with less effort than the others. It uses a tile-based lighting system that could serve as a testing ground for effects used in Belle.

 

Please let me know if I'm insane to even propose something like this, or if someone here would be willing to at least play around with those games' assets to see if they are interested.

Edited by darkfalzx
  • Like 13
Link to comment
Share on other sites

Welcome to the crazy world of the Jag :) It would be cool to get more original IP on the Jag (IIRC the trailer for Ultionus got me buying A-Rivals album :D )

Would be a fun challenge to work on something like that, having assets and gameplay already laid out and essentially a porting project could be fun. Just wish I had more free time or I would jump at it myself. of course if you were happy with it taking quite a long time... :D

 

Jag *should* be happy pushing quite a fair amount of pixels, some of the effects may need a heavy amount of .. ahem cheating or rethinking/removal but overall game should mostly be able to survive. Other issues (not played the games so I don't know 100%) might be the controls, no analog sticks on a jag pad, just d-pad, music might need reworking or time spent developing appropriate playback routines.

  • Like 6
Link to comment
Share on other sites

Just wish I had more free time or I would jump at it myself. of course if you were happy with it taking quite a long time... :D

I am absolutely fine with it taking ages, as long as we can get it done by the end.

 

Being a pixel artist with something like 25 years of experience, I am quite familiar with all sorts of trickery that can go into making VFX. In fact, since I'm quite a lousy programmer, all of my games use my own software "ghetto shaders" as opposed to hardware ones that would make them much faster and more efficient. For something like Belle or Maziac I imagine the following "lighting" system:

 

The screen being broken down into a chunky grid, with each space being either 8x8 or even 16x16. On this grid, a lighting table would be calculated. It could be updated either per-frame, or once every 3-4 frames, as it's so chunky, a delay wouldn't make a ton of difference (though in this case the updated table would have to be buffered, then applied all at once).

The light map would then be applied as such: the background tilemap would use 4-bit indexed tiles using a single unified 16 color palette. We'll keep 8 versions of said palette in memory, from brightest to dimmest, and will apply one to the screen tile based on the light level of the region. Assuming an 8-bit indexed mode is used, this would leave us another 128 colors for other elements. However, if Jag can have more than a single 256 color palette in use at the same time, we could have several "temperature" palettes for the background tiles, like, say cold and warm.

 

Thoughts?

 

Also, if anyone wants to familiarize themselves with my commercial games to see if a port/recode is feasible, PM me, and I'll give you a Steam or Humble code.

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

I've been messing with Raptor Basic, but so far I couldn't really get anything to display properly.

I would definitely need help here, or preferably an experienced programmer, or someone with a pre-existing engine capable enough to pull this off.

 

I've been converting Belle assets to 4-bit color (not very difficult, as the game was developed with a limited palette), but was wondering - can Jag pull off resolution of, say 360x270? I know it's an unorthodox one, but this way the proportions of objects on screen will be affected the least. I fear that at 320x240 the on-screen action will appear far too crowded without scaling the sprites down by about 1/4 (in which case we might as well lower the resolution to 320x200, and squish the sprites vertically to display right in 4:3).

Edited by darkfalzx
Link to comment
Share on other sites

360 horizontal could be done, but your pixels won't be square. The vertical resolution is pretty much what it is, being that the output of the Jaguar is tuned for televisions with a fixed vertical resolution. You get slightly more scanlines with PAL, but you lose some framerate for that (50 Hz for PAL, 60 Hz for NTSC).

 

You do realize that the Jaguar is a very old machine, and as such, doesn't have things like OpenGL or DirectX? No alpha channel either. If you can live within those kind of restrictions, you should be fine, assuming there's enough bandwidth to do all the things that you want to do on the screen (and sound!).

 

Hope that answers at least some of your questions. :)

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

I am absolutely fine with it taking ages, as long as we can get it done by the end.

 

Being a pixel artist with something like 25 years of experience, I am quite familiar with all sorts of trickery that can go into making VFX. In fact, since I'm quite a lousy programmer, all of my games use my own software "ghetto shaders" as opposed to hardware ones that would make them much faster and more efficient. For something like Belle or Maziac I imagine the following "lighting" system:

 

The screen being broken down into a chunky grid, with each space being either 8x8 or even 16x16. On this grid, a lighting table would be calculated. It could be updated either per-frame, or once every 3-4 frames, as it's so chunky, a delay wouldn't make a ton of difference (though in this case the updated table would have to be buffered, then applied all at once).

The light map would then be applied as such: the background tilemap would use 4-bit indexed tiles using a single unified 16 color palette. We'll keep 8 versions of said palette in memory, from brightest to dimmest, and will apply one to the screen tile based on the light level of the region. Assuming an 8-bit indexed mode is used, this would leave us another 128 colors for other elements. However, if Jag can have more than a single 256 color palette in use at the same time, we could have several "temperature" palettes for the background tiles, like, say cold and warm.

 

Thoughts?

 

Also, if anyone wants to familiarize themselves with my commercial games to see if a port/recode is feasible, PM me, and I'll give you a Steam or Humble code.

 

There are probably quite a few limitations of the jag that would need to be worked around. The CPU is woefully low compared to even a basic PC, it is 25 years old tech remember :) The GPU which you could argue has the most grunt offers only ~25MIPS worth of processing roughly, and only 4KB of RAM. There is a fair amount of framework and lifting that might need to be done to allow larger code to be paged in and out of the CPU.

 

There is only a single 256 colour palette available to the hardware, technically you could use old palette switch techniques to increase this but you are talking 256 colour per scanline using CLUT based graphics. 16bit and 24 bit graphics are completely possible, however digitally modifying them once again requires that CPU resource. It may be possible to pre-calc some bits, but we are also limited to 2MB of RAM, Some assets can be loaded from the Cart ROM potentially, but not really a good idea for graphics assets due to the bus speeds and contention fun that Jag has.

 

I am not saying none of this isn't possible, but there may need to be some serious compromises made, and some serious time committed to writing some bits and pieces potentially. Frameworks like Raptor and RB+ could help get things going, but are going to require the game fit into their way of working (like any engine does).

  • Like 4
Link to comment
Share on other sites

Ultionus looks like Phantis, an old 8 bit game from Spain.

Ultionus was a remake/spiritual sequel/homage to Phantis as well as some other Dinamic games.

 

You do realize that the Jaguar is a very old machine, and as such, doesn't have things like OpenGL or DirectX? No alpha channel either. If you can live within those kind of restrictions, you should be fine, assuming there's enough bandwidth to do all the things that you want to do on the screen (and sound!).

 

I do realize Jag is a very old system probably closer to Genesis and SNES than to, say, PSX, Saturn or even GBA. The core of my games would definitely need to be re-coded from scratch, and to discover whether or not such a re-code was doable is the point of this whole post. The game I would optimally like to bring to Jag is Mystik Belle. At its core, it's essentially a simple metroidvania platformer with a Dizzy-like adventure component. In this proposed conversion, the most challenging aspects would be to approximate some sort of a lighting system (I imagine a tile-based solution), and to manage my large sprites.

 

So, the vertical resolution is locked at 200? That kind of sucks, and certainly makes it more feasible to re-scale art.

 

 

 

There are probably quite a few limitations of the jag that would need to be worked around. The CPU is woefully low compared to even a basic PC, it is 25 years old tech remember :) The GPU which you could argue has the most grunt offers only ~25MIPS worth of processing roughly, and only 4KB of RAM. There is a fair amount of framework and lifting that might need to be done to allow larger code to be paged in and out of the CPU.

 

There is only a single 256 colour palette available to the hardware, technically you could use old palette switch techniques to increase this but you are talking 256 colour per scanline using CLUT based graphics. 16bit and 24 bit graphics are completely possible, however digitally modifying them once again requires that CPU resource. It may be possible to pre-calc some bits, but we are also limited to 2MB of RAM, Some assets can be loaded from the Cart ROM potentially, but not really a good idea for graphics assets due to the bus speeds and contention fun that Jag has.

 

I am not saying none of this isn't possible, but there may need to be some serious compromises made, and some serious time committed to writing some bits and pieces potentially. Frameworks like Raptor and RB+ could help get things going, but are going to require the game fit into their way of working (like any engine does).

 

I am certainly spoiled by the modern systems. It would've been awesome to try and build at least a proof of concept. For now I'll continue to mess around with RB+ I guess... But then again - I'm an artist/writer/designer first, and programmer a distant second.

  • Like 4
Link to comment
Share on other sites

Was there ever any sort of physical release of Ultionus? If not, and getting it to function on the Jaguar just doesn't end up being feasible, have you considered companies such as Limited Run, Special Reserve or Strictly Limited to give it some more attention on PS4, Vita or Switch? I think the pixel art looks amazing.

There was never a physical run of Ulti, though I tried to produce one myself:

 

fkUY7Mu.png

 

Which unfortunately didn't get far.

There is little interest from people in Ulti, especially since the game is fairly old now. I have been quietly working on a major overhaul of it though, so maybe once that drops WayForward might want to publish it.

 

Oh, and Mystik Belle might get a limited release physical PS4 version. Due to my shitty programming the software "ghetto shader" badly clogs up Vita's pipeline, causing terrible fps, so unless I somehow switch to a real shader, that version isn't happening.

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

I do realize Jag is a very old system probably closer to Genesis and SNES than to, say, PSX, Saturn or even GBA. The core of my games would definitely need to be re-coded from scratch, and to discover whether or not such a re-code was doable is the point of this whole post. The game I would optimally like to bring to Jag is Mystik Belle. At its core, it's essentially a simple metroidvania platformer with a Dizzy-like adventure component. In this proposed conversion, the most challenging aspects would be to approximate some sort of a lighting system (I imagine a tile-based solution), and to manage my large sprites.

 

So, the vertical resolution is locked at 200? That kind of sucks, and certainly makes it more feasible to re-scale art.

Yes, the vertical resolution is what it is (being a byproduct of the NTSC signal), and you can get a bit more than 200 in NTSC mode. You can also double the vertical resolution if you want to work in interlaced mode, but you then halve your screen rate (30 Hz in NTSC). Also, it's more difficult to work with an interlaced screen, but it is doable.

 

It sounds like what you want to do is certainly feasible. Feel free to keep asking questions. :)

  • Like 1
Link to comment
Share on other sites

So, the vertical resolution is locked at 200? That kind of sucks, and certainly makes it more feasible to re-scale art.

All standard-definition consoles have the same limitation. The vertical definition is set by the TV standard and you can't change it: 240 lines for NTSC, and 288 lines for PAL.

 

You can use fewer lines of course, but the pixels aspect ratio will stay the same ; you'll only get additional blank lines at the top and the bottom of the picture.

 

Another point to consider is overscan. TVs crop the edges of the picture ; the exact amount depends on several things, but you need to make sure nothing important is displayed there, because the player may not see it. With that in mind, 200 visible lines is a safe assumption for NTSC.

  • Like 1
Link to comment
Share on other sites

 

There is little interest from people in Ulti, especially since the game is fairly old now. I have been quietly working on a major overhaul of it though, so maybe once that drops WayForward might want to publish it.

 

That.. would be awesome. Here's to hoping that one day comes through as a possibility. As for the Jaguar, I do wish ya well in attempting to create something here on the platform.

Edited by Stage_1_Boss
Link to comment
Share on other sites

You can also double the vertical resolution if you want to work in interlaced mode, but you then halve your screen rate (30 Hz in NTSC). Also, it's more difficult to work with an interlaced screen, but it is doable.

Interlaced mode isn't likely to be useful there: you get more lines, but the pixel aspect ratio would be even more unsuited to the original graphics.

Plus there are additional issues related to interlacing.

 

In theory you could compensate for the aspect ratio issues by using scaled sprites, but since the Jaguar only does nearest-neighbour interpolation, it would look bad (not to mention scaling has a performance impact).

 

Unfortunately there is often no easy way to solve this problem on classic consoles, short of reworking the graphics.

  • Like 1
Link to comment
Share on other sites

I was mostly impressed with Ultionus. Pixel art is good quality and out of the 3, the game I felt I would like to play.

There is a lot of full screen background graphics, but hey if Rayman could be done then why not!

Good luck.

 

Agreed, that one seemed the most interesting as well imo

Link to comment
Share on other sites

 

Out of all of them, only GraphicsGale saved proper 4-bit images. I use ProMotion for work, and I know it saves proper 4-bit PNG files, but the only kind of BMP I was able to get out of it was 8-bit.

 

Got some sprites to display properly, however, but it's gonna be a while until I figure this damn thing out. Though this is definitely easier than assembler, it's still pretty damn "to the metal", especially for a spoiled modern dev like myself.

Makes me really miss GameMaker: )

Edited by darkfalzx
  • Like 2
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...