Sonic 2 DX Thread/ Sonic 2 SMS help.

Discussion in 'Discussion & Q&A' started by Bluestreak, Aug 24, 2022.

  1. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    227
    Location:
    Eastwatch Island
    So, I'm getting really far with Sonic 2 DX! I have been releasing a few closed betas now, and I'm pretty satisfied with what has been done. Mr. Cat even helped with the data overflow issue with editing Aqua Lake since it shared a bank with Crysyal Egg. Now, we have a few new issues. In Crystal Egg, if the fish Badnik (a flying Chopper) is edited, it causes the entirety of Act 1 & 2 to vanish from existence. All are gone, and said levels don't load. I presume it's some kinda memory overflow the compiler didn't catch.

    Here are the sprites in question:

    BubbleMother.png

    The older sprite for Bubbler's Mother, however, does not cause this issue:

    dotpict_animation_20220824_103411.gif

    The new one must take up too much data by being too detailed, but how can it be fixed so I can use the better one?

    Also, this thread will double as a way to track progress and get community input on various stuff.
     
  2. Nik Pi

    Nik Pi Well-Known Member Member

    Joined:
    Feb 14, 2022
    Messages:
    109
    Location:
    Kazakhstan
    Your sprites looks good, but, I don't sure, that the level crashes, because sprite is so detailed. I think, the problem is in code of badnik, or, in zone initiation code.
    I can't tell you more, because I not so much know about SMS sprites, but I sure, problem in code, not in sprite.
    Maybe, you changed something accidentally, and didn't notice it, or didn't attach any importance to it.

    Also, maybe problem is in zone tiles, or in layout or mappings, if you changed this incorrectly
     
    Last edited: Aug 25, 2022
  3. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    227
    Location:
    Eastwatch Island
    I do know the more detailed you make a sprite, the more data it takes, due to each pixel's color having a value to it, and the lighter the color, the more "space" it takes. I do suspect that Aspect Edit, like KiddEd, is prone to causing bugs sadly that the compiler doesn't catch.
     
  4. Devon

    Devon DROWN, DROWN, DROWN MYSELF! Member

    Joined:
    Aug 26, 2013
    Messages:
    1,401
    Location:
    your mom
    ...what? I get the first point if the art is being compressed (if you mean uncompressed, then 2 sprites of the same size, no matter the amount of colors used, should take the same amount of space), but what on earth do you mean by the second one about lighter colors taking up more space? That makes no sense to me. If there's compression involved, does it have to do with how that works? Otherwise, the "size" of each pixel in bits should be the same.

    Note that I have no experience hacking the SMS games, so bear with me, but still, in a general sense, I'm not sure what you are talking about.
     
    Last edited: Aug 26, 2022
  5. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    227
    Location:
    Eastwatch Island
    See, I was thinking the color's value equals it taking more space in the ROM, with black taking the least space (R0, G0, B0), with white taking the most (R3, G3, B3). I will have to look and see if said sprites are compressed or uncompressed.

    Because I remember as I made Aqua Lake more detailed, it caused a memory overflow in the ROM, and Mr. Cat had to put it in a separate bank from Crystal Egg. Note that I did not add more tiles to Aqua Lake as well.
     
  6. Devon

    Devon DROWN, DROWN, DROWN MYSELF! Member

    Joined:
    Aug 26, 2013
    Messages:
    1,401
    Location:
    your mom
    Yeah, uncompressed at least (even if compressed, it depends on the algorithm), that's not how it works. Each pixel value is 2 bits each, which is enough to hold values 0 through 3 (00, 01, 10, and 11).
     
  7. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    227
    Location:
    Eastwatch Island
    So no matter the pixel color, it still is 2 bits no matter what. That eases my nerves a bit. Still makes me wonder why when I tried to make graphics more detailed in Sonic Chaos it had an overflow.

    But anyway, I wish I could get ahold of Mr. Cat for help. He usually helps me when I need it. But I also need to start looking at how Aspect's Sonic engine works, because let's face it, Project Aspect failed because I couldn't figure out how to change object positions, and that my art would have caused overflows eventually.

    Also, Slogra has allowed me to use modified versions of his sprites I made. Here are some I already made.

    S2DX_SpritesSlogra-Style.png

    They are gonna act as a "stretch goal" for if I have time when I get all the other stuff done. As you can tell, the sprites are made to be more similar to the Sonic 2 prototypes.
     
    Last edited: Aug 27, 2022
    Nik Pi likes this.
  8. Devon

    Devon DROWN, DROWN, DROWN MYSELF! Member

    Joined:
    Aug 26, 2013
    Messages:
    1,401
    Location:
    your mom
    If the graphics are compressed, then that'll happen. Generally speaking, the more complex data is, the less well it will compress.
     
  9. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    227
    Location:
    Eastwatch Island
    Gotcha! Compression sucks. :/ So I guess the goal is to watch out for editing compressed graphics now. The question now is how to possibly fix those compression issues, or make them more efficient.

    Ugh this hack gets more and more troublesome.

    Maybe I shoulda stuck to just doing Game Boy and NES stuff.

    But then again, I wonder if there is a way to uncompress and re-compress something, and if that would help at all.
     
    Last edited: Aug 27, 2022