don't click here

Question about Sonic Jam

Discussion in 'Engineering & Reverse Engineering' started by Blastfrog, Apr 10, 2012.

  1. Blastfrog

    Blastfrog

    See ya starside. Member
    Since this is a technically oriented question, I've put it here instead of general.

    How does Sonic Jam work exactly? I know that it's a port, and not emulation, but how exactly is the engine structured? How does it store the game assets? Most importantly, how are graphics handled? Is it bitmap based, or do they have some sort of tile renderer setup instead? How easily could one include high-color graphics, like using a 256 color palette instead of a 64 color palette? Has it ever been hacked before? If not, how easy would it be? Not that I have any intention of doing so, but it was just a curious question that popped into my head.
     
  2. Hivebrain

    Hivebrain

    Administrator
    3,047
    154
    43
    53.4N, 1.5W
    Github
    Graphics are stored as MD-style tiles and palettes, so you couldn't replace them with anything better than you would with an ordinary hack.
     
  3. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I don't know much about the data structures apart from the pieces I stole, but I can say that the object layouts (at least for S3K) are in the same format. The S3 object layouts even use the different object IDs from that game rather than being based around the S3K ones.

    The engine isn't encumbered by the same MD VDP limitations, so you might be able to make more interesting object layouts by jamming more sprites on screen. I couldn't say how well it performs in that case though. It'd be interesting to see if it's in any way affected by the classic place-a-billion-super-monitors-in-MHZ-and-break-them RAM corruption chicanery from the MD.
     
  4. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    I think pretty much all the bugs from the original games still remain in Sonic Jam.
     
  5. ICEknight

    ICEknight

    Researcher Researcher
    Something I've been wondering for some time now... Are the different versions of each game (Easy, original) stored as independent executables?
     
  6. Blastfrog

    Blastfrog

    See ya starside. Member
    I just think it would be really cool if there were a disassembly. Imagine all the cool shit one could do. I think a really cool hack idea would be to strip it down to make each game standalone, and rewrite the renderer to use high-color bitmaps instead of low-color tiles. From that point, people could probably make some really cool hacks. Imagine a high-color Megamix, or maybe high-color S3C. It would be just like having the original Genesis games to edit, but so many more possibilities due to the more powerful hardware. I personally would prefer it as a platform for fangames than engines on the PC, as you could play it with real hardware and get real scanlines, and have perfect sync without needing to use v-sync. I would far prefer a fangame on the Saturn using a CRT with RGB input than one on the PC with an LCD screen.
     
  7. dsrb

    dsrb

    Member
    3,149
    0
    16
    But that's implying that you could get enough people who were (1) willing and (2) sufficiently good at programming the Saturn, a rather complex beast as far as console hardware goes.

    Also, CRT display and scanlines are nice, but fangames on LCD don't look terrible (because computer-based scaling is much less crap than that of most TV sets), and I don't think many people are as concerned about sync 'issues' and suchlike as you are (no offence and all)--especially to the extent that they would move to developing for the Saturn.

    -

    Is Sonic & Knuckles Collection much different in this respect? Or is it, too, just a ported engine that uses the same formats for assets? (Me noob.)
     
  8. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,735
    334
    63
    SonLVL
    It's a ported engine with MIDI music (which has been replaced for high quality music already) and an emulated VDP.
     
  9. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Would that fit in memory though? (remember that unlike the original games, everything needs to be pulled into RAM) A better idea would be to hack it so it can take advantage of the larger amount of palettes in the Saturn and use that to make more colorful graphics, even if each individual sprite is still limited to 15 colors (that was the whole deal with the SNES anyways...).