don't click here

Sonic 3D: How'd they do it?

Discussion in 'General Sonic Discussion' started by stormislandgal, Feb 22, 2006.

Thread Status:
Not open for further replies.
  1. stormislandgal

    stormislandgal

    It's not a phase! Tech Member
    4,534
    10
    18
    Married life <3
    That 3D intro movie for Sonic 3D... I've always wondered how they did it. Are there actually 3D models in it? I'd think it's 3D because if you look in the background, you can see a sort of fog effect, where some of the background didn't load until Sonic/the camera got close to it.
    I highly doubt it was compressed art, as if I'm not mistaken, Sonic and the background do have different palettes. Given that it would be compressed art, the mappings would put some of Sonic's palette around him on the ground and trees.

    It's been bugging me ever since I got my Dreamcast and learned how 3D graphics work...
     
  2. hxc

    hxc

    spotteddove Researcher
    1,023
    1
    18
    I would say its a movie, I would say almost 100% that it does not use models.
     
  3. Rika Chou

    Rika Chou

    Tech Member
    5,276
    170
    43
    No. Standard Genesis 8x8 tiles.
    What is your logic here? It is compressed, and drx recently cracked the compression format. It would have to be a pretty good compression format for it to be loaded into the VRAM so quickly withough lag.

    The entire movie uses only one pallet line with three main colors. (blue, green, brown) The art blends these just right, so on a TV screen it looks much more smooth than it actually is.
     
  4. Aurochs

    Aurochs

    Единый, могучий Советский Союз! Tech Member
    2,343
    0
    0
    Whatever catches my fancy
    The only Genesis game that used actual 3D models was Virtua Racing, and it had to have special hardware to change them into VDP tiles.
     
  5. Tom41

    Tom41

    Pheer the baby EggRobo! Oldbie
    291
    0
    0
    UK
    It's a pre-rendered movie, with the Genesis itself doing minimal processing. Just like an AVI file, it reads the data and converts them to 8x8 tiles, which can then be displayed by the VDP. I'm not sure if it is compressed, but it seems quite likely to make it fit into the small 4MB space of a Genesis cart.

    If you look at Puggsy on the SegaCD, that uses video clips... played on EXACTLY the same system (Travellers Tales Video Player) as is used in Sonic 3D. You could probably hack the compressed video out of Sonic 3D and play it on the Puggsy video player, but there would be little point ;)
    Sonic CD (original SegaCD version) used uncompressed video, just storing the 8x8 tiles in sequence. If you open the video file in Tile Layer Pro, you'll see all the tiles used for each frame of video. That's why the video files on Sonic CD are so large!
    If you had a LOT of time and patience, you could assemble them into frames and save them out.

    When played back, the Sonic 3D video uses a smart technique to make it look like there are more colors than there actually are. Some areas of the video have a 'speckled' graphic instead of a solid color, that makes it look like a darker or lighter shade of that color. Each 'frame' of video actually lasts for 2 frames, and the pattern alternates between frames. For example, a line with a pattern of 010101 on the first frame would have a 101010 pattern on the second.
     
  6. drx

    drx

    mfw Researcher
    2,254
    351
    63
    :rolleyes:
    Hmm, I'm not sure if it's compressed or not, I'd have to check. Because I found out that, the frames are copied to VRAM from RAM using DMA. Now, the trick is, that the game swaps A-Plane VRAM address each two frames. So, the first frame is $C000, the second $E000. This is probably made to fix the compression lag? I don't know. DMA is very fast, so it shouldn't be a problem, and if it was uncompressed, the DMA would be made from the ROM, not from RAM (would be a little pointless, wouldn't it?)

    Edit: btw, just a random thing - if you want to see how shitty the Traveler's Tales logo looks without Shadow and Highlight mode, enable this code - 022d80:8c00
     
  7. drx

    drx

    mfw Researcher
    2,254
    351
    63
    :rolleyes:
    Also, if anyone cares, the code for the intro is stored at $1e926, and is called by an jsr instruction at $426. All the time handling is done by the $1e926 code, so if you nop the jsr out, you just skip the intro. (000426:6004)
     
  8. Tweaker

    Tweaker

    Banned
    12,387
    3
    0
    Or use Genecyst. =P

    We need to start using shadowing/highlighting in our hacks. Think of how much better our art would look!
     
  9. Rika Chou

    Rika Chou

    Tech Member
    5,276
    170
    43
    L_L

    But didn't you say on hacking-cult that you cracked the format already?

    I remember you has some sort of contests. Stephen won. with the guess of "Sonic 3D intro".

    Sonic team never did, so I never will. Even if I did know how. (It was used on Sonic CD, but that dosen't count.:P)
     
  10. drx

    drx

    mfw Researcher
    2,254
    351
    63
    :rolleyes:
    Rika: hmm, I cracked some other compression format in Sonic 3d. I didn't say it was used for intros :P This one is different...

    Btw, shadow/highlight was used in Sonic 2 Beta (for the 'night mode', which isn't night mode at all). And all you have to do, is write $08 to the VDP register $0c instead of $00. (move.w #$8c08,($c00004).l)
     
  11. Tweaker

    Tweaker

    Banned
    12,387
    3
    0
    Luigi_Link and Nemesis beat you to to that conclusion by about 3 years there champ.
     
  12. TapamN

    TapamN

    Member
    106
    4
    18
    Polygonial Genesis games:
    Virtua Racing (Uses SVP)
    Hard Drivin'
    Race Drivin'
    M1 Abrams Battle Tank
    LHX Attack Helicopter
    F-117 Night Storm
    F-15 StrikeEagle II
    F-22 Interceptor
    Mig-29 Fulcrum
    EDIT: Steel Talons
    EDIT 2: Jimmy White's Whirlwind Snooker

    Polygons with 2D:
    Red Zone
    F1 World Championship Edition
    Kawasaki Superbike Challenge

    And on a related note...
    Wolfenstein 3D style Genesis games:
    Duke Nukem 3D
    Zero Tolerance
    Zero Tolerance 2 (Beta)
    Bloodshot
    Toy Story (One level)

    Other Things:
    Treasure Logo
    Ranger-X Wireframe Level Intro
    Red Zone FMV
     
  13. ICEknight

    ICEknight

    Researcher Researcher
    Really? Where? Never noticed that.

    Or import the Puggsy FMV into Sonic 3D.

    Once somebody cracks the format and isolates the needed functions, it would be a matter of time to make custom intros for the Sonic mods. Hmmm...
     
  14. LocalH

    LocalH

    roxoring your soxors Tech Member
    3,314
    37
    28
    Nunya
    Rock Band 3 Deluxe
    This technique is also widely used on the C64, where it's known as "interlacing", for example "color-interlacing" (which is what this is doing) and "resolution interlacing" (which is more or less unique to the C64 or any other system with a "fat pixel" mode and hardware fine scroll, where you have two bitmaps in multicolor 160x200 mode, and you switch between them every frame while toggling the horizontal scroll between two adjacent values as well every frame, giving a pseudo 320x200 multicolor display).
     
  15. Rika Chou

    Rika Chou

    Tech Member
    5,276
    170
    43
    Tidel Tempest Zone does, IIRC.

    Although, I could be wrong as it's been a while.
     
  16. ddrmaxromance

    ddrmaxromance

    Member
    477
    0
    0
    Sorry for being somewhat off-topic, but:

    1. I have Hard Drivin'. That game ran soooo slow. It was very advanced, but it just played too slow..Why would they release a game like that?

    2. What level in Toy Story are you talking about exactly? Was it the one where Woody is riding on the RC-car racing to U-Haul Car? :)
     
  17. TapamN

    TapamN

    Member
    106
    4
    18
    The level I was thinking of was the one were you have to find all of the aliens inside the claw machine, you walked around in a first person view. However, the level you mention probably uses a similar process to draw the trailers and houses.

    The Genesis version of Hard/Race Drivin' is slow? There's a SNES version.

    And it doesn't use a SuperFX chip.
     
  18. Aurochs

    Aurochs

    Единый, могучий Советский Союз! Tech Member
    2,343
    0
    0
    Whatever catches my fancy
    umm whut. The VDP cannot render polygons. This means that there is no such thing as a "polygonal" Genesis game. I mentioned Virtua Racing because it uses polygonal data internally, but it sends to external hardware to be converted into data that the VDP can understand. That means that it is not a truely "polygonal" game.
     
  19. Ultima

    Ultima

    Games Publisher Tech Member
    2,398
    1
    18
    London, England
    Publishing mobile games!
    What about Silpheed?
     
  20. Tom41

    Tom41

    Pheer the baby EggRobo! Oldbie
    291
    0
    0
    UK
    The Sega-CD added functionality for some polygon rendering, and the rendered graphics are passed to the VDP as raster bitmaps for output. Bear in mind that the vast majority of graphics in Silpheed are NOT rendered by the console itself. They were rendered on hugely powerful Silicon Graphics machines, then converted into FMV for inclusion in the game. This is why the backgrounds very rarely interact. All Silpheed is is Space Invaders with fancy backgrounds :)
     
Thread Status:
Not open for further replies.