don't click here

Adventures with Chaotix

Discussion in 'General Sonic Discussion' started by Black Squirrel, Jan 23, 2021.

  1. E-122-Psi

    E-122-Psi

    Member
    2,503
    683
    93
    This guy looks cool, like something that would be a halfway imposing obstacle used in something like the original Megadrive games.

    It's a shame the badniks are so underplayed in this game, likely because they hadn't figured out any way to mesh good level and obstacle design with the cumbersome ring mechanic.
     
  2. Black Squirrel

    Black Squirrel

    sometimes the real thing™ Wiki Sysop
    9,136
    3,009
    93
    Northumberland, UK
    not making new christmas avatars
    Bump me do.


    14:02

    Quality control out of the window at Sega's booth - watch the player get stuck on the loops in Speed Slider.

    So, which build?

    Well 1207 doesn't have a morning palette so not that. One would expect the 0111 prototype to be later as it's dated after Winter CES took place. But let's check

    [​IMG] [​IMG] [​IMG]
    1227 | 1229 | 0111

    The diagonal flag bits were removed in 0119 so that build's clearly too late.

    In the 1227 (and 0111) protos, a giant ring is visible from this point. Not in 1229.

    It's not a foregone conclusion that this build is 1229 (after all it might a build we don't have!) - there's 5 minutes on the clock and 500 points were obtained from somewhere (possibly that giant ring), but yeah... I might have guessed correctly.

    Oh and if you're an idiot and think this might be from the final game:

    [​IMG]

    It really isn't.
     
    • Informative Informative x 9
    • List
  3. muteKi

    muteKi

    Fuck it Member
    7,899
    149
    43
    If the 1229 build was made to be a source for footage in a CES preview that would explain why it's missing features that the build from two days before had (ie the ring). Incomplete features or stuff they're not ready to reveal getting hidden in a specific build. Longstanding mystery potentially solved?
     
    • Informative Informative x 2
    • Agree Agree x 1
    • List
  4. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,428
    1,744
    93
    your mom
    Bump!

    I apologize if this has been pointed out before, but I haven't seen this in this thread or on the wiki.

    I was doing some digging on my own and I came across this totally unreferenced sprite that seems to have been meant to go with sprite set 0x2E (the one at 0x172F64). This particular sprite can be found at address 0x173B68. It looks like some kind of coil. The wiki does mention something about "a coiled spring-like object", but I wasn't sure if it referred to this, so here it is.

    [​IMG]

    This is the only unreferenced sprite in the game it seems.
     
    • Informative Informative x 11
    • List
  5. CaseyAH_

    CaseyAH_

    human incarnation of Palmtree Panic 'P' Mix Member
    Chaotix is like an endless well of things no one has seen before because no one bothered to check.
     
  6. HEDGESMFG

    HEDGESMFG

    Oldbie
    1,413
    1,334
    93
    I still pray for the day we can properly romhack and begin to at least tweak this title (and Saturn 3D Blast too...)...

    I just want those 2 games to be accessible by modern standards.

    Anyway, nice find. Does that conclude all of the visual assets hidden in the data 100% now?
     
  7. McAleeCh

    McAleeCh

    Oldbie
    1,544
    575
    93
    I mean, I don't think we ever got an answer as to which build those unused Eggman intro graphics are hidden in, did we? I wouldn't rule out more undiscovered stuff still lurking somewhere amongst the various prototypes.
     
  8. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,428
    1,744
    93
    your mom
    I will say that Chaotix is quite a different beast compared to the other mainline Genesis games. Of course, it has its similarities, but its engine is definitely more complex and thought out. For instance, objects are stored in a linked list, which allows the game to just string through the slots that are loaded and tied together, rather than check every single slot to see if it has an object loaded into it like the other games do. There's also 4 different object pools that get set up for different types of objects (though they all pull their slots from the same area of memory, they just have their own list heads and paths). That's just one example, but it was definitely written to be more dynamic and optimized. Making a disassembly and hack of Chaotix would require a different set of eyes than one would have with the other games in order to make sense of it all, and that's not even accounting for all the 32X stuff...

    Fun fact: Sonic Crackers also features this same linked list setup and functions for objects (mostly, has some small differences) as well. If you ever wanted another little thing to prove that Crackers is an actual prototype of Chaotix, then there you go... even though it's definitely not needed now with all the other proof we have :P
     
    Last edited: Oct 14, 2023
    • Like Like x 4
    • Informative Informative x 3
    • List
  9. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,428
    1,744
    93
    your mom
    There's this string of text at address 0x2D997E that lists the programmers of the game. I don't think this appears in-game (it doesn't appear to be referenced anywhere by the game, plus it uses \r\n for line breaks) nor does it seem to be documented anywhere online.
    Code (Text):
    1.  
    2. 32X CHAOTIX TEAM PROGRAMER HIROSHI OKAMOTO,TOSHIAKI YAJIMA,TATUO YAMAJIRI,KENJI KAWAI AND CHIKAHIRO YOSHIDA
    3.  
    4. MD SONIC TEAM PROGRAMER HIROSHI OKAMOTO,TOSHIAKI YAJIMA,KENJI KAWAI,CHIKAHIRO YOSHIDA,SYUJI TAKAHASHI AND ARATA HANASHIMA
    5.  
    6. THANK YOU FOR PLAYING!! AND SEE YOU AGAIN!!
    7.  
     
    Last edited: Oct 19, 2023
    • Informative Informative x 8
    • List
  10. HEDGESMFG

    HEDGESMFG

    Oldbie
    1,413
    1,334
    93
    Is this just something that programmers hope we'll find? Is it text that would somehow be displayed in the game but never was?

    Yet another cool tiny find, 28 years later.
     
  11. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,428
    1,744
    93
    your mom
    Alright, so I would like to get some confirmation from a Chaotix nerd about some more potential unused graphics.

    For context, Chaotix does contain a small set of Nemesis compressed graphics that are meant to be rendered as sprites on the Genesis rather than the 32X for use in stages. Some of them are used, others are not, some even being completely unreferenced, it seems.

    The Genesis sprites that I do know are used are those structures in the background in Botanic Base, alongside the ground for the boss arena that crumbles downward, and the ones made for World Entrance... and that's it. So, let's take a look at what I uncovered, and maybe someone could confirm if some of them actually do appear in the game or not. I haven't seen any of these in any sprite sheet or wiki article or forum post either.

    First is this from Techno Tower (0x2D492E).

    [​IMG]

    The palm tree is a copy of the one found in the background, but formatted as a Genesis sprite. There's also some kind of small object, in which I just guessed the palette line.

    The next one are these clouds from Marina Madness (0x2D4718).

    [​IMG]

    And now, this palm tree (0x2D7D14) and block (0x2D7C6A) from Isolated Island.

    [​IMG] [​IMG]

    These sprites are the ones that are referenced in the game, but I haven't seen them actually being used in the game, which is why I wanted to get some confirmation in the event that I am wrong in my assessment.

    The next set of sprites don't seem to actually be referenced by the game. Most of these I merely guessed the palettes to the best of my ability, but they could be totally wrong. It's just enough to make out what the sprites are supposed to be, at least.

    First are these objects (0x2D6B50). The palette used is from Amazing Arena. The 2 objects on the left are actually the same sprite, but with different palette lines applied.

    [​IMG]

    Next is this thing (0x2D6D84). I've not found a palette that I was sure of, so I just applied Botanic Base's palette, since that was seemingly the only one that didn't come out too weirdly, but I highly doubt it was meant to be green.

    [​IMG]

    Next is this thing (0x2D6EB4). The palette used is from the final boss stage.

    [​IMG]

    Next is this structure/machine (0x2D7050). The palette used is from Marina Madness.

    [​IMG]

    Finally are these sprites that I know for certain are for Speed Slider, because the palette matches perfectly (0x2D764C).

    [​IMG]

    Again, if anyone more knowledgeable on Chaotix could lend a hand, that would be great.
     
    Last edited: Oct 21, 2023
    • Informative Informative x 15
    • Like Like x 2
    • List
  12. Chimes

    Chimes

    The One SSG-EG Maniac Member
    935
    644
    93
    AW YEAH IT'S REWIND TIME
    Happy Boxing Day, you goobs.
    So on the wiki there's a method on fixing the Sonic Clackers sound driver crash that involved editing a few bytes in the ROM.
    While it worked, I wanted to find a way to avoid the crash without modifying the ROM.
    And thus, I devised a very impractical yet usable method on avoiding this bug.

    1. Use the emulator BlastEm (I use the latest nightly revision, so I don't know if stable has any changes)
    2. As soon as you load the ROM, press U to access the debugger.
    3. Enter this command in the console:
    z80 set [$1C0A ] 0x81
    4. After you've entered it, type c and press Enter to go back to the game.

    This gives Clackers a song to munch on. From there, you can browse more of the menu.

    Additionally, you can use your terminal of your choice to load BlastEm with the debugger as soon as the ROM loads. Here's the commands.
    Now you can avoid crashing while taking way longer to load the game!
    Also, Electoria has some instruments that get gradually quieter the longer the song plays. What's up with that...?
     
    Last edited: Dec 27, 2023
    • Like Like x 4
    • Informative Informative x 4
    • List
  13. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,428
    1,744
    93
    your mom
    HOW TO PROPERLY ACCESS THE TIME ATTACK MENU IN PROTOTYPE BUILD 1207

    So, when you select the "TIME ATTACK" option, you will be presented a player selection screen. Whenever you move the selection, a word (2 byte) value at address 0xFFFAC0 will be increased or decreased by 0x20. Since there are 8 possible character selections, this effectively makes a full rotation an increase or decrease in 0x100. This is important, as this effectively makes the top byte a "rotation iteration ID" of sorts.

    Code (ASM):
    1.         btst    #3,d0                           ; Is right being held?
    2.         beq.s   .NotRight                       ; If not, branch
    3.         addi.w  #$20,player_selection           ; Rotate player selection to the right
    4.  
    5. .NotRight:
    6.         btst    #2,d0                           ; Is left being held?
    7.         beq.s   .NotLeft                        ; If not, branch
    8.         subi.w  #$20,player_selection           ; Rotate player selection to the right
    9.  
    10. .NotLeft:

    To activate the time attack menu, you must do 2 full rotations to the right, making that "rotation iteration ID" 2 (or the entire word value being between 0x200 and 0x2E0). From there, you must then go to the NPC selection menu (and for the record, the player selection "scene"/"game mode" (0x48) is separate from the NPC selection/stage select/time attack menus (0x10)).

    Once you have picked your NPC character, it will perform this check to determine whether to go to the normal stage selection menu or the time attack menu.

    Code (ASM):
    1.         addq.w  #4,scene_sub_id                 ; Go to stage selection menu
    2.         cmpi.b  #2,player_selection             ; Have there been 2 full player selection rotations to the right?
    3.         bne.s   .End                            ; If not, branch
    4.         addq.w  #8,scene_sub_id                 ; If so, go to the time attack menu instead

    [​IMG]

    I can also confirm that the whole "NUTS" thing seems to be a placeholder. The rank text is actually stored as a plain tilemap that gets directly loaded into VRAM.

    Code (ASM):
    1.         lea     Map_TimeAttackRankPlaces(pc),a1 ; Draw rank place numbers (1ST, 2ND, 3RD)
    2.         move.l  #$53140003,d0
    3.         moveq   #(192/8)-1,d1
    4.         moveq   #(8/8)-1,d2
    5.         moveq   #0,d3
    6.         jsr     DrawTilemap
    7.        
    8.         lea     Map_TimeAttackRankLabels(pc),a1 ; Draw rank labels (TIME, POINTS, RINGS, PLAYER, NPC)
    9.         move.l  #$54040003,d0
    10.         moveq   #(48/8)-1,d1
    11.         moveq   #(40/8)-1,d2
    12.         moveq   #0,d3
    13.         jsr     DrawTilemap
    14.        
    15.         lea     Map_TimeAttackRankData(pc),a1   ; Draw 1st place rank data (9'59'99, 00000, 000, NUTS, VECTOR)
    16.         move.l  #$54160003,d0
    17.         moveq   #(56/8)-1,d1
    18.         moveq   #(40/8)-1,d2
    19.         moveq   #0,d3
    20.         jsr     DrawTilemap
    21.        
    22.         lea     Map_TimeAttackRankData(pc),a1   ; Draw 2nd place rank data (9'59'99, 00000, 000, NUTS, VECTOR)
    23.         move.l  #$542A0003,d0
    24.         moveq   #(56/8)-1,d1
    25.         moveq   #(40/8)-1,d2
    26.         moveq   #0,d3
    27.         jsr     DrawTilemap
    28.        
    29.         lea     Map_TimeAttackRankData(pc),a1   ; Draw 3rd place rank data (9'59'99, 00000, 000, NUTS, VECTOR)
    30.         move.l  #$543E0003,d0
    31.         moveq   #(56/8)-1,d1
    32.         moveq   #(40/8)-1,d2
    33.         moveq   #0,d3
    34.         jsr     DrawTilemap

    Code (ASM):
    1. Map_TimeAttackRankPlaces:
    2.         dc.w    '1'-$20, 'S'-$20, 'T'-$20, ':'-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20
    3.         dc.w    '2'-$20, 'N'-$20, 'D'-$20, ':'-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20, ' '-$20
    4.         dc.w    '3'-$20, 'R'-$20, 'D'-$20, ':'-$20
    5.  
    6. Map_TimeAttackRankLabels:
    7.         dc.w    ' '-$20, ' '-$20, 'T'-$20, 'I'-$20, 'M'-$20, 'E'-$20
    8.         dc.w    'P'-$20, 'O'-$20, 'I'-$20, 'N'-$20, 'T'-$20, 'S'-$20
    9.         dc.w    ' '-$20, 'R'-$20, 'I'-$20, 'N'-$20, 'G'-$20, 'S'-$20
    10.         dc.w    'P'-$20, 'L'-$20, 'A'-$20, 'Y'-$20, 'E'-$20, 'R'-$20
    11.         dc.w    ' '-$20, ' '-$20, ' '-$20, 'N'-$20, 'P'-$20, 'C'-$20
    12.                
    13. Map_TimeAttackRankData:
    14.         dc.w    '9'-$20, "'"-$20, '5'-$20, '9'-$20, '"'-$20, '9'-$20, '9'-$20
    15.         dc.w    ' '-$20, " "-$20, '0'-$20, '0'-$20, '0'-$20, '0'-$20, '0'-$20
    16.         dc.w    ' '-$20, " "-$20, ' '-$20, ' '-$20, '0'-$20, '0'-$20, '0'-$20
    17.         dc.w    ' '-$20, " "-$20, ' '-$20, 'N'-$20, 'U'-$20, 'T'-$20, 'S'-$20
    18.         dc.w    ' '-$20, "V"-$20, 'E'-$20, 'C'-$20, 'T'-$20, 'O'-$20, 'R'-$20
     
    • Informative Informative x 16
    • List
  14. Prototype

    Prototype

    Member
    315
    78
    28

    Very much appreciated for figuring out how it determines which screen to go to! I was a little mystified!

    It does make me wonder who NUTS was intended to be. I have a couple of theories, one tying into the pre-release alternate name for Mighty (Nat the Armadillo) found in magazine screenshots. Why he was called that, I don't know, but the Japanese word for Summer is Natsu which could be transliterated into Nuts. I wondered whether Mighty/Nat/Natsu was supposed to be the first character you break out of the capsule, which would explain the song title "Door into Summer"

    Alternatively, it could have been an alternate name for Ray the Flying Squirrel, since Summer + Nuts would be a reasonable pun to make for him, and possibly also could tie into the western slang "nuts" meaning crazy rather than the lewd connotations.

    I mean, if you're replacing Sonic with Mighty, it's entirely possible that your next thought would be to replace Tails with Ray.

    Perhaps they didn't want two visually similar Sonic clones to be playable and wanted each character to be visually distinct, especially during the phase where they were all in on Espio.

    Could have also been a movement issue. They didn't know quite how to implement a potential flying squirrel movement within the clackers engine.

    But it's obvious they were scraping the old character barrel for this game, in a quantity over quality thing.

    Is there anyone involved in the game on X/Twitter that could shed light?

    Either way, if Ray was considered, he was a very early cut.
     
  15. cartridgeculture

    cartridgeculture

    Wiki Editor Member
    [​IMG]

    Quick interject. The phrase "Door Into Summer" long predates Chaotix (it's a Robert E. Heinlein book), and I think any theories trying to connect it to NUTS are probably barking up the wrong tree.

    In all honestly, someone at Sega CS3 was probably just a Heinlein fan, and thought the name sounded pretty.
     
    • Informative Informative x 9
    • Agree Agree x 1
    • List
  16. Jaxer

    Jaxer

    Member
    679
    472
    63
    Now I'm just wondering where the rest of Chaotix's songs get their names from.

    Most are rather obvious, such as Seascape and Midnight Greenhouse, but others such as Child's Song and Oriental Legend seem completely random. Are they references to something too?
     
  17. LF222

    LF222

    Member
    43
    13
    8
    So on "Oriental Legend" i believe personally that the big red metal sonic form is supposed to be themed after Oni, from japanese mythology, got the same signiture red color and wide open mouth with huge fangs, the enlongated ears even channel the horns. and naturally an oni is literally an Oriental legend
    Screenshot 2024-07-23 193242.png
     
    • Informative Informative x 12
    • List
  18. HEDGESMFG

    HEDGESMFG

    Oldbie
    1,413
    1,334
    93
    Given the recent discussions and statements on how Shadow's current design takes kabuki makeup influences, that tracks. I always feel like Sonic being such a western friendly franchise makes it easy to forget that it will still have deep ties into Japanese cultural influences and pop media, and the more the developers speak up, the more obvious it becomes.
     
  19. Mr. Cornholio

    Mr. Cornholio

    Member
    165
    96
    28
    This is actually the first I've heard of the phrase 'Door Into Summer' being used outside of Sonic myself. I always figured the track name was chosen as a way to signify the start of the game. Like the 'door' was a metaphor of some kind for you starting the adventure, since it plays in the first 'real' level where you have control over two characters at once. The 'Summer' bit I figured was chosen due to the green imagery of the level (which is typically associated with Spring/Summer).

    Knowing it originates from a science fiction novel makes a lot more sense. Reading the linked Wikipedia synopsis, suspended animation is mentioned, which is sorta similar to what state Mighty is in before he's rescued. I'm curious if this might have served as inspiration for the name chosen. It is also possible I'm over-analyzing this and it might be more probable the name was simply chosen because it sounded pretty like you stated.

    Honestly I'd place money on it being an early name for Heavy/Bomb? Like 'NUTS' in this case would be referring to a metal fastener. Granted I have little to support this idea other than if you eliminate Mighty, the name seems really random at this point in development.

    Chaotix is such an oddly designed title. There are so many baffling little choices that just makes it feel like the team was pretty uncertain what ideas were worth keeping or how far they should develop them.
     
  20. cartridgeculture

    cartridgeculture

    Wiki Editor Member