Adventures with Chaotix

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

  1. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Then the plot thickens - you can't visit any bonus stages in the training levels. Unless they give you 10,000 points for spawning a giant ring at the end.


    Fun fact: there's no point in having a score counter in the HUD for the training stages, because you can't get points during play. Even if you destroy the platform badniks, it doesn't award anything. So at some point they put in a fix to stop it reading -1 in those levels... and now it only ever reads 0.
     
    • Informative Informative x 2
    • List
  2. Robjoe

    Robjoe

    Member
    Okay, so this is neat.

    I was just screwing around in 1229's intro stage, because I'm not strictly familiar with all the different iterations the introduction went through. Something I mentioned in my first post or so here that might've been missed is that 1229 specifically (no other build that I'm aware of) has a debug feature where hitting Y makes your character grow, and X shrinks them. Being the spaz that I am, I was having fun mashing on all three of the top row of buttons, and then while jumping around giant...

    ItsHim!.png

    Well hello there! It's the flying carpet, from 0119 Speed Slider. And not just one, there were several dotting the sky. Very confused, I reset and started the level again, and they were gone, but then I realized: I had wondered if Z had a debug function like X and Y do, and sure enough, hitting Z in 1229 spawns a carpet just off screen in front of you. Just like in 0119, one character alone can't ride it, so I went forward and buddied up with Espio, and found that it's only partially functional at this point:

    DebugCarpet.png

    Both characters need to stand on it to activate it, but only Player 2 is stuck to it, leaving the other to be dragged along helplessly as you move it. My first thought was that it, and the grow/shrink functions, might've been the designers giving themselves easy movement tools, but this carpet not yet working right means it's not particularly useful for that, and you can just pause and move freely anyway. Perhaps whoever was in charge of coding objects would set Z to spawn whatever one they were currently working on, and 1229 was sent to QA in the middle of them implementing the carpet. Considering no other builds have these debug features though, it's slightly interesting that they ended up included in this build. Someone must have forgot to clean up after themselves! :ssh:
     
    Last edited: Feb 11, 2021
    • Informative Informative x 11
    • List
  3. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Now we just need one of them to use the mode button and we have a whole set.

    I was going to suggest maybe the second player could spawn something different but the second controller doesn't seem to respond in 1229... or 0111... or 0119. It wasn't fixed until 0202. Meanwhile 1207 and 1227 do have limited second player support, but the movement controls are mapped to weird buttons. It works fine in Crackers though!
     
    • Informative Informative x 3
    • List
  4. Flygon

    Flygon

    Member
  5. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Well in 1207/1227:

    X = Left
    Y = Down
    Z = Up
    Mode = Right

    With a three button controller, you get no response at all. I don't know if this layout matches any patterns with games or prototypes that struggle with the six-button pad.


    Which I guess means mode is used after all - just on the second controller.
     
    Last edited: Feb 11, 2021
    • Informative Informative x 3
    • List
  6. Flygon

    Flygon

    Member
    Do the other buttons do anything else in 1207/1227? Though, it's just as entirely possible they just screwed up the 6 button controller reading code.

    That layout does correspond with either option. It's probably just a 6 button controller code screwup though.
     
  7. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Not that I can see, though I guess you can't rule out some wacky situation or object where they suddenly work as intended.
     
  8. Robjoe

    Robjoe

    Member
    Good guess, but I unfortunately don't think any Saturn leftovers would show up in the main game code. Granted I'm not an authority here, but the Saturn uses two SH-2 processors like the 32X, and as I understand it, these are quite fundamentally different from the MD's 68000, to the point that porting between them would probably be more trouble than simply starting from scratch. From my light research into Chaotix's code, usually the MD is the one actually running the core of the game, and the 32X only does a few supplemental things. From what I can tell, the Master SH-2 is responsible for drawing the 32X sprites (just drawing, the MD still loads them into RAM and everything) as well as doing effects like scaling, and the Slave SH-2 seems to do nothing other than play the PWM samples. But, one major exception is the Special Stage: Both SH-2's are more deeply involved here, probably from all the rendering work that the polygons and such require, though one of the two is also responsible for loading sprites, palettes, animations, and other things (unlike the rest of the game). From a quick and cheap experiment of resetting the 68000 in Gens however, it seems the MD is still responsible for managing controller input, as well as playing sound effects and manipulating the background (both background layers are MD art). So if any Saturn code was carried over from the transition, it's most likely the Special Stage, as that's the only part of the game that seems to use an SH-2 as the "lead" processor. Possibly also the 32X drawing and scaling routines, but if there are any differences between 32X and Saturn rendering (no idea here), then they were most likely written from scratch too. Blastfrog postulated a few pages back, however, that some of the art might've been made for the Saturn and then adapted to the MD's color palette via heavy use of dithering, so perhaps some of its visuals survived....

    While I'm running my mouth on this subject, I've been wondering if most/all of the Saturn code being scrapped might at least partially explain why Chaotix seems so heavily rushed in some areas. Crackers' infamous title screen implies it was first built on April 1st, 1994, and its ROM header claims July 1994. Meanwhile, our earliest 32X build is from December 7th that same year. Without seeing a real Saturn build, it's difficult to say when the shift happened, but whatever time they spent developing that version would've mostly went down the drain. Not only did this probably put them massively behind schedule, it was probably a large blow to the team's morale to have months of work basically lost. For the programmers especially, who had to roll back to the MD code from Crackers and spend more time getting it integrated with the 32X, and then worry about reworking whatever features they'd made for the Saturn. No wonder this game doesn't do much with the 32X processors and basically comes off as "Mega Drive with special effects layered over it". But also the artists, if they were able to salvage their work on the levels, still had to waste their time converting it all for the much more limited MD color palette. And then with the programmers busy re-reinventing the wheel, there was little time to implement interactive mechanics in the levels, resulting in the bland and samey level design. They were apparently still figuring out what enemies and interactive elements Speed Slider could have as late as January 19th (just under a month of dev time left), and were doing so after the structure of the level design was already in place. Granted, you can always make some tweaks to a design, and they did mildly do so, but I've learned from experience that it's very awkward to do a layout before or during the process of brainstorming and implementing its gimmickry, because of course, gimmickry will have a large influence on what you build so as to properly introduce concepts and use them to their fullest potential. Working new objects into an existing level will kind of bottleneck your options for what to do, and I bet that's why Chaotix plays it so safe with mostly elevators, buttons and doors, and very basic enemies with little impact on gameplay. Likewise, if whoever did the level layouts had little-to-no idea what kinds of objects were going to go in, they too likely played it very safe and just made a bunch of open areas to run through, and dotted them with various platforms to hold goodies. Instead of structuring a layout around a mechanic and exploring different uses and challenges with it, they just did their best to leave areas where something could be placed, whatever the programmers would come up with.

    However, I must also mention that in the Tom Kalinske interview topic, drx seems unsure when the Saturn development happened. It's slightly possible that the Saturn version actually came first, and then after it was dropped, Crackers was them starting over and working out the basic game engine before incorporating the 32X. But I personally find this highly unlikely, not only because of how early it would've been to be worrying about Saturn development (Sonic 3 wouldn't have even been done yet), but Crackers has plenty of character sprites and other things that would be rendered obsolete when moving to the 32X, and they seemed to be planning to add even more (Knuckles, Charmy, Vector, Bomb, and Heavy). But, we know so little that I guess we can't entirely rule this possibility out, unlikely as it is.
     
    • Informative Informative x 4
    • List
  9. Prototype

    Prototype

    Member
    235
    31
    28
    You guys are doing such fantastic detective work. I haven't got much to contribute, but this thread is a daily check-in for me.

    Keep doing what you're doing.
     
    • Agree Agree x 9
    • Like Like x 2
    • List
  10. evilhamwizard

    evilhamwizard

    Researcher
    1,352
    281
    63
    By the way, something I requested a little while ago to the BizHawk project. I wish there was a code data logger for 32x emulation. A code data logger would just mark all the bytes that's executed and read by each specific processor at run time, good for finding completely unused code and data in a game. There's support for Mega Drive, but not 32x unfortunately. If we had that, it'd be a bit easier to find all this unused data and code without having to disassemble the game initially. It would help speed things up a little bit especially since there's a couple builds to go through.

    (hell a 32x emulator that works with the prototypes that lets you breakpoint/step/modify ram, etc would be great too. to this day i still dont know of anything that actually works. mame kinda comes close, but it doesn't run the protos. :()

    I was also wondering how feasible it would be at this point given what we might know about Chaotix to actually have layout/object placement rips from each build? The level design has me intrigued, looking at some of the layouts from the final. I would love to see how the layouts evolved over the last two months of development.
     
    Last edited: Feb 12, 2021
  11. Robjoe

    Robjoe

    Member
    Good lord, that would be heavenly. Really any newer emulator with proper debugging supporting 32X would be wonderful. I'm not exactly on the up-and-up regarding modern MD emulators, shamefully enough, but as far as I know, Fusion is still one of the best bets for doing 32X at all, and it obviously has no debugging support. As such, any time I try to investigate technical stuff I'm stuck using the even-older and far less accurate Gens KMod (or DebuGens for MARS palettes as I don't like how KMod displays them). Is there anything better out there?

    Also, regarding BizHawk, can it at least run 32X games and log what the 68000 is doing, or is it a complete no-go? 68k logging might still be helpful to me in a few endeavors.

    Actually, the ROMulan split and injection scripts SonED2 uses can be very easy modified to suit whatever older builds. Finding the addresses shouldn't be too hard for someone who's experienced disassembling this stuff. From there, I've been interested in doing object definitions for Chaotix (I already did most of the global ones and did a few Isolated Island things when dicking about with its layout a while back), though I've been lazy because it's a bit tedious. But I too would be interested in some comparisons. Hell, even time of day differences would be neat to check out, especially if the wiki could be made to flip between times for back-and-forth comparisons.

    Screw it, double-post because it's discovery time~

    At least, I hope this is new. So we all know about Speed Slider's loops. Functional up to 0119, then 0202 removes their path swappers, and 0208 finally updates the layout to get rid of them (though their tiles still exist even in the final). But why remove loops from a Sonic game?

    SpeedSliderLoop.png

    A common theory is that they can't really be displayed right when the characters are on the 32X and the level art is on the Mega Drive. For anyone not familiar with how 32X rendering works, that silly cable that runs from the Mega Drive's audio/video out port and into the 32X is literally taking the MD's final output (that for all it knows is headed to the TV/speakers) and pumping it into the 32X, which then plasters its graphics in front of and/or behind the MD's output. Since the 32X isn't working with the MD assets directly and is just receiving a static, compiled frame, it can't really put anything between the MD layers in order to, say, have Mighty in that shot appear behind the loop but still in front of the background. You're either in front of or behind the Mega Drive, and that's just that.

    So earlier, I was going through 32X art in the final, looking for the flying carpet's graphics to do a proper rip and animation for the the wiki. I found the index housing Speed Slider's enemies, and at the bottom was this strange, featureless graphic:

    SpeedSlider_LoopCover.png

    After a moment of looking at it, I realized it's about the same size as the loop, and sure enough...

    SpeedSliderLoop_WithCover.gif

    It's a pixel-for-pixel match! It seems they were going to cover the right side with two of this object to obscure the characters when passing behind the loop, similar to how they do the secret passages that hide the Bonus Stages. Unlike those fake walls though, this isn't drawn to blend in with the level. Either there's some way they were going to set it up so it hides the characters without being displayed itself, or this was just a proof of concept and they scrapped the loops before actually dressing it up. But by doing something like this, you really could have proper-looking loops. Not sure why they didn't use this. Maybe it caused a drop in performance (since Chaotix often struggles to maintain a smooth FPS).

    SpeedSliderLoop_Stuck.png

    ... or maybe it's because the game seems to struggle keeping both characters in the right plane at the right time, especially when moving left for some reason. Oh, Chaotix....

    Also, on the subject of the secret passage coverings, I don't think I've seen anyone point out that Marina Madness is the only level not to use them.

    MarinaMadness_SecretPassage-0119.png

    ... In the final, that is. They're gone as of build 0202, which coincidentally is the same build that simplifies the background for framerate reasons like Black Squirrel talked about. I wonder if they had to axe these for similar reasons.
     
    Last edited by a moderator: Feb 12, 2021
    • Informative Informative x 2
    • List
  12. Blastfrog

    Blastfrog

    See ya starside. Member
    I just remembered that the Saturn actually has an onboard 68k. I wonder if it's possible that they just kept the core engine 68k side even in the Saturn version, and thus didn't lose anything too significant there when going to the 32X. Losing weeks or months of engine work would go a long way in explaining the rushed and unfinished nature of the game, however.

    I also wanted to note that there are strong similarities in color choice and dithering techniques in the level art between Chaotix and Ristar. Ristar came directly after Chaotix, after Sonic Team's original core members reunited (such as Oshima, who directed CD and Chaotix). Perhaps they used some lessons learned here and applied them to another project.

    Is it possible that the "field stages" were the hubs? I have no idea what other purpose they would serve.
     
    Last edited: Feb 12, 2021
    • Informative Informative x 2
    • List
  13. muteKi

    muteKi

    Fuck it Member
    7,617
    20
    18

    This isn't QUITE true. Going into some secret area (hidden by those pseudo-transparent objects?) seems to be enough; entering a bonus stage is unnecessary. Speedrunners can trigger secret bonuses despite not having entered special stages (which is not always helpful because negative ring totals with a positive secret bonus don't cancel out, causing the score countdown at the end of the level to progress normally).
     
    • Informative Informative x 4
    • List
  14. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    I was wondering what that circlular graphic was for - good find.

    I don't think there's any of those in the training levels either. I'm not really sure how I even triggered that secret bonus - I can't seem to do it again (it's not the giant ring for the Special Stage).

    [​IMG]
    You also get these hybrids in Marina Madness. Not sure what's going on here - is the graphic missing but the effect still applied?
     
    Last edited by a moderator: Feb 12, 2021
    • Informative Informative x 3
    • List
  15. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    So, the Saturn question. While we've tackled Saturn console development before, this was done when we only had English sources. The Japanese magazines, particularly Beep! MegaDrive and Mega Drive Fan, will have loads more - when Sega Retro comes back online I'll have other priorities, so digging through will be a task for someone else.

    Overnight the September 1994 edition of Mega Drive Fan was uploaded (thanks Alambra!). This was published at the beginning of August, and it gives an idea of how Saturn development was progressing at the time. The hardware would have been close to final at this point, but the games were not done (and bearing in mind some of these were announced as far back as January 1994).


    https://retrocdn.net/index.php?title=File:Megadrive_Fan_1994-09.pdf&page=9
    Flagship product Virtua Fighter is only 40% done. They've pumped up the polygons since the Tokyo Toy Show in June, but it's clearly not much of a "game" with "rules" yet.

    https://retrocdn.net/index.php?title=File:Megadrive_Fan_1994-09.pdf&page=76
    Daytona USA is a whopping 10% done. They've got a car and a road.

    https://retrocdn.net/index.php?title=File:Megadrive_Fan_1994-09.pdf&page=76
    Clockwork Knight is 30% done. It has game mechanics in place, but a lot of the background art would be overhauled for the final release.

    https://retrocdn.net/index.php?title=File:Megadrive_Fan_1994-09.pdf&page=78
    Victory Goal is in a laughable state. They have mockups... and that's about it.

    https://retrocdn.net/index.php?title=File:Megadrive_Fan_1994-09.pdf&page=79
    And Panzer Dragoon looks like it's just a flying dragon and a background.

    Others are a mixture of pre-rendered imagery or simple graphics that may or may not be running on Saturn hardware. If this represents eight months of development (of the games Sega were clearly prioritising), that suggests to me that the Saturn hardware itself was very much in flux and that projects couldn't start in earnest until the middle of 1994.

    We know Sonic Crackers was worked on after our build, because remnants turn up in a prototype of Yuu Yuu Hakusho: Makyou Toitsusen (which Hidden Palace dates as June 1994, though if they're basing that off the header alone, it might be older). I would speculate then that if development did move to the Saturn, this would have occurred at some point during the summer of 1994. First rumours of Chaotix turn up at the end of 1994, so there's a six month window here where Saturn development may have taken place.

    Given the above games were actually announced, it stands to reason that the unannounced Saturn Chaotix would be in a less heathy state by August 1994. It takes a while to produce a game on any platform, so I would imagine 32X Chaotix would have to have been started in September or October 1994 at the latest. So if the process really was Mega Drive -> Saturn -> 32X, the Saturn part could have only been the priority for three or four months maximum. If you're having to redo all the code from scratch for a brand new video game console, I can't imagine it would have progressed further than a few engine tests, though if the Saturn version was due after the 32X, that's a different story.
     
    • Informative Informative x 6
    • List
  16. Robjoe

    Robjoe

    Member

    Very interesting! My first suspicion was that maybe it's a part of those pseudo-transparent fake walls, which as I pointed out last time, were removed from Marina Madness (in 0202, the same build that seems to have actually implemented the Secret Bonus). And sure enough, I was unable to even get the Secret Bonus in that level, even going as far as entering the Bonus Stage and collecting the special free-choice combi and stage selector items.

    So, mystery solved, right? Oh wait no, Chaotix is never that simple! In Botanic Base 1, I tried a run where I touched the secret wall, but didn't actually enter the room with the ring. Nothing. Okay, well let's try entering the room with enough rings to spawn the big ring object, but never touch it. Still nothing! I tried entering with less than 20 rings (so the object didn't actually spawn) and jumping where the big ring would be, and bam, then the game gives me the bonus. But if it's just for touching the bounds of the big ring object (with or without the 20 rings needed to spawn it), why can't I get it in Marina Madness...? Is it some series of flags involving both the fake walls and the big ring object? What a headache.

    But it gets worse! I went over to 0202 and tried out the Training stage that Black Squirrel managed to get the Secret Bonus in, and results varied. It almost seems like it's tied to the Speed Shoe monitors strewn about, but I had one run where I grabbed only one speedup, and actually got a 20,000 bonus, which I've never noticed happening ever before. So this bonus can go over 10,000, at least in this level in 0202 I guess. So then I did some more runs, and eventually had one where I grabbed a whopping three speed shoes and was only awarded 10,000.

    Thoroughly frustrated, I fired up SonED2 and buzzed around Botanic Base 1, Marina Madness 1, and Training 2 (all in the morning), and can confirm that, at least in the final, there are no extra objects in the big ring chambers. Just the fake walls and the ring itself. The speed shoe monitors in Training 2 also don't have anything out of the ordinary in their ID or subtype. So I guess if we really want to figure out what the hell is going on here, someone's going to have to look through some disassembled code, or at least track down whatever RAM variable(s) this thing is using. Why does one insignificant little bonus have to be so bizarrely complicated?


    Nice find. That is exactly what I was thinking might've been intended for the Speed Slider loop cover - it hides sprites it touches without actually showing up itself. Perhaps that was their intention with it, though I have no clue why it would be happening in that passageway.

    Thanks as well for taking the time to go through that magazine. Definitely sheds a bit of light on what might've happened with this game and the Saturn. Perhaps they weren't that far before the project shifted again to the 32X. I suppose we'll never know without that mythical proto drx missed out on.

    Thanks as well Blastfrog for pointing out the Saturn does indeed have a Motorola processor still in there. No idea how practical it would've been for running the main game, or if they would've done such a thing, but hey, this is why we do more thorough research before running our mouth, kids! :V Also re: Crackers Fields, I've always assumed they were a hub concept, being that they're open-looking, and one per level, but they're so barebones you can't quite be certain. I wonder if the Yuu Yuu Hakusho build had some actual gameplay mechanics to go with all the extra sprites the characters seem to have had....

    And another thing I was wrong about:

    CharmyBrake.png

    This sprite is actually Charmy braking. It's just barely seen behind his arm, like most of his teeny-tiny sprites.
     
    • Informative Informative x 5
    • List
  17. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Got it.

    [​IMG]

    A 10,000 point "secret bonus" is awarded for every active powerup. The more you have enabled, the more points you get. So it's not tied to the bonus stages at all.

    [​IMG]

    I'd have to experiment more but there could be a hard limit. I grabbed a load of stuff from Techno Tower 4's basement but I don't think it counted everything.
     
    • Informative Informative x 6
    • List
  18. LocalH

    LocalH

    roxoring your soxors Tech Member
    3,299
    13
    18
    wouldn't you like to know
    Guitar Hero II Deluxe
    Even as someone who has never properly played through Chaotix, this thread is damn fascinating.
     
    • Agree Agree x 4
    • Like Like x 2
    • List
  19. Quickman

    Quickman

    Tech Member
    5,590
    4
    18
    :x
    omg porjcet
    The 68k in the Saturn is only set up for driving the sound hardware. Using it for core engine work on the Saturn would be a spectacularly absurd decision.
     
    • Informative Informative x 6
    • List
  20. Black Squirrel

    Black Squirrel

    maybe the real thing™ Wiki Sysop
    6,485
    650
    93
    Northumberland, UK
    terrible Christmas avatars
    Chaotix is a big fan of having rare badniks - enemies that you may only encounter once or twice during normal play, if you even notice them at all. About half of its enemies aren't documented in the manual either, so you might miss this thing:

    [​IMG]

    The level design seems to encourage you to avoid it, and they're not wrong to do that - it's by far the most deadly badnik you'll ever see in a Sonic game, launching up to six homing missiles at the player if they're within range. It's unusally relentless for Sonic - obviously nothing is really a threat if you have rings, but it's a far cry from say, a Motobug in Sonic 1.

    It's also one the last badniks to be finished in Chaotix. While added in 0119, it wouldn't start working properly until 0208, as before then it was so deadly it killed itself:
    [​IMG]

    Well... I say "finished", but there is another one that's curious:

    [​IMG]

    This one moves backwards and forwards for a bit... and then completely stops. It also doesn't drop a depleted ring (even in the final game), so it's almost as if they forgot to finish it. So the least effective and most effective enemies are both in Techno Tower.
     
    Last edited: Feb 13, 2021
    • Informative Informative x 8
    • List