I want your maps

Discussion in 'General Sonic Discussion' started by Black Squirrel, Apr 10, 2018.

  1. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    We should be able to do all of this with wiki templates - flipping images is part of the CSS spec these days.
     
  2. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    There's a bit more going on, though. Certain tiles will use different palettes within the same chunk, for example. Spring Yard Zone has some areas like that.

    In the end, that might be a bit too much like building an entire renderer for sonic art through CSS. And who knows, that might be possible, I just next to nothing about building webpages haha.

    That actually brings up another question -- regarding tiles and blocks, those don't always have attached palettes to them. Sometimes a tile in a block is intended to use different palettes in different contexts. How should those be handled when exporting these graphics? Export each tile in every combination of palette line per zone?

    To clarify, the block definitions are what defines what palettes tiles use. Blocks are just 4 references to tiles as 16 bytes (2 bytes per tile). Those references define the color of the tile. So tiles themselves are colorless. They store indexes to palette entries, but what are in those palette entries vary depending on which palette line the block definition tells them to use.
     
  3. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    Right now the main focus is being to compare different builds of a game, so as long as graphics are uploaded in a comparable way, I'm not too worried at this stage. We can always revisit this if we want to do something more clever at a later date.
     
  4. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,287
    2
    18
    SonLVL
    So for full level maps, should objects be included? If so, should extra graphics that illustrate the objects' behavior be included, or only the graphics that appear in the game? Should the underwater portions of the level be rendered with the underwater palette? If a level's art changes partway through (AIZ1 intro, AIZ2 boss), should I stitch two rips together so they appear as a continuous map? Should I include the animated tiles in the map or just leave them as "X" graphics?

    Addendum: I could export the object graphics to a separate image, or even multiple images for FG low, FG high, sprite low, sprite high, and the two collision paths, or any other combination of graphics you might need.
     
  5. GoldS

    GoldS

    Oldbie
    201
    0
    16
    USA
  6. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    I'm just gonna go through level by level and start posting stuff, I'll start with the palettes in Sonic 2. My utility actually populates out 64 palette lines, so I'll just post all 4 banks populated per zone address, unless it's some rotating value, and then i"ll just post that single line.

    EDIT: Just realized only the top 3 banks are correct, haha. Forgot about the Sonic & Tails & Objects palettes. Oops. I'll go back and edit these later.

    Emerald Hill Zone ($2A22):
    [​IMG]

    Emerald Hill Zone/Aquatic Ruin Zone Rotating Water ($1E7A)
    [​IMG]

    Wood Zone ($2A82)
    [​IMG]

    Wood Zone Rotating Conveyor Belts ($1F1A)
    [​IMG]

    Metropolis Zone ($2A2E)
    [​IMG]

    Metropolis Zone Rotation 1 ($1F2A)
    [​IMG]

    Wing Fortress Zone ($2B42)
    [​IMG]

    Hill Top Zone
    [​IMG]

    Hidden Palace Zone ($2C02)
    [​IMG]

    Oil Ocean Zone
    [​IMG]

    Mystic Cave Zone
    [​IMG]

    Casino Night Zone
    [​IMG]

    Chemical Plant Zone
    [​IMG]

    Death Egg Zone
    [​IMG]

    Aquatic Ruin Zone
    [​IMG]

    Sky Chase Zone
    [​IMG]
     
  7. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    Objects are good - I wouldn't add anything "new" to illustrate how they work though, because we can cover that elsewhere (or find some way of adding annotations at a later date).

    It could definitely be beneficial to have multiple versions of maps, so we have as many bases covered as possible. I'll leave it up to you to work out how you want to display water - our current set of Sonic 2 maps leave it out. For my purposes right now, something similar to how Chemical Plant has been done here would be sufficient, however the more meaningful variations we have (e.g. with or without water at various heights, collisions, palette/graphics changes, etc.), the less work will need to be done at a later stage, if we decide that, actually, yes water is useful (and tbh it probably is).


    Angel Island is a pain because it swaps out its graphics. I'd suggest maybe two variants of that one at least. I can't think of any other 2D Sonic game that's quite as radical in this regard - most are just palette swaps, and I could create a million of those fairly quickly from a base set.
     
  8. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    Very :)

    TCRF have a head start with some of these prototypes, but only because Sonic Retro hasn't adapted to changing tides. We should be more than qualified to offer better Sonic coverage than we are now.
     
  9. Hivebrain

    Hivebrain

    Administrator
    2,770
    0
    16
    53.4N, 1.5W
    HivePal 2.0
    Is there a reason to have palettes uploaded as files? They could be saved as text and displayed with a template.
     
  10. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    Well black squirrel said actual visual representations are preferred, rather than raw values.

    I know jack shit about web programming since, like, 1996. Are web colors still a thing? Ia that why raw values aren't appreciated?

    All levels in sonic 3 (and knuckles chaotix) do, actually. Its not as much of a pain as you think. The way it works is that levels have multiple tile sheets, a primary sheet with shared tiles used by every act, and a secondary sheet used by specific acts. The primary sheets are used to hide zone transitions, while the secondary sheets change. Angel island zone is a bit more extreme, but the other zones also do the same thing. The solution is to just separate the primary and secondary tiles. They already are separated in the ROM.
     
  11. Novedicus

    Novedicus

    Pour your misery down on me Tech Member
    Didn't see these on the wiki, so...

    [​IMG]
    [​IMG]

    Emerald Hill/Green Hill maps from the Simon Wai proto.
     
  12. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    I had it in my mind that one day we might want to have animated GIFs.

    Though I suppose you could do that in CSS these days. It's not something I've looked into, but yeah I suppose you could just use raw values to generate them.

    Iiinteresting
     
  13. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    It just keeps getting interesting then -- by raw values, do you mean the HEX values the genesis uses, or do you mean the RGB values they correspond to? If the latter, there is a bit of a discussion about how to represent those kind of values as accurately as possible compared to the Genesis output.
     
  14. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    There will always need to be some sort of conversion to #RRGGBB (hexadecimal) because that's how colours are rendered in web browsers. But that's just a bit of maths, and I'm sure it wouldn't take much time to figure out what works best.

    Something like:


    Maybe have it so when you hover over a square, it displays the Mega Drive hex value. Dunno.
     
  15. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    In that case, I recommend we give you the raw hex values from the Genesis and then people can discuss the best math conversions. The discrepancy comes from the change in bit depth from normal 24-bit color that most displays use, and the 9-bit color the Genesis used, and precisely where the steps between colors lies. IIRC the most obvious conversion actually isn't correct and makes the colors appear slightly too bright, there is another less obvious mathematical conversion that members discussed that is more accurate.
     
  16. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,287
    2
    18
    SonLVL
    The most accurate color values gathered from real Megadrives are 0, 52, 87, 116, 144, 172, 206, 255.
     
  17. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,274
    1
    18
    There is also highlight and shadow, too, don't forget those.
     
  18. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    Now you do :eng101:
     
  19. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,287
    2
    18
    SonLVL
    Sonic games generally don't use S/H, and for something like a palette comparison, I don't see why we'd need to show S/H variants.
     
  20. Black Squirrel

    Black Squirrel

    Fifty paces towards the sun, cooking beets. Wiki Sysop
    4,994
    2
    18
    Northumberland, England
    The soil knows all.
    Question:

    if you wanted to make a table of palettes on the wiki, and let's say the code looked a bit like this

    Code (Text):
    1.  
    2. {{table|
    3. | colour1=
    4. | colour2=
    5. | colour3=
    6. | colour4=
    7. | colour5=
    8. ...
    9.  
    10. }}
    what would you like to pass to each of these arguments?

    My guess, and it's only a guess because I'm not wise to these things, is that it's a three digit hexadecimal value BGR. And because a value can only be 0, 2, 4, 6, 8, A, C or E, the reddest red would be "00E".


    Is this correct?