Knuckles' Clackers

Introduction

Knuckles Clackers is the first major Knuckles Chaotix game mod for the poor, ill-fated, underrated Sega Genesis 32x addon. It is meant to be an unofficial fan-made sequel (like a "Sonic 5") to Knuckles' Chaotix for the 25th anniversary of the US release of the game (in May 2020).


Its main focus is to create harder levels, less empty zones, and to create new content for the powerful Knuckles Chaotix game engine, as well as implement proper loop chunk and pathswapping sections. (The original game had very empty zones with respect to placement of ring, badnik, gimmick, and other objects types compared to its predecessors.) Its other focus is to research and to document how the Chaotix engine works with a more annotated disassembly, and to tinker around with its Sega 32x engine features. (High-color Sega 32x sprite artwork, SMPS32x music with 4-channel PWM; level data paging system for tiles, blocks, and chunks; large amount of Genesis VRAM available, design levels with its 2 palettes lines for both Plane A and Plane B FG/BG tilemap data)


The mod aims to be the first fully-fledged modification of the game, featuring:

  • New levels

    • Ports and edits of beta Techno Tower and Speed Slider Zones layouts and assets from Sonic Crackers

    • New zones

  • New music

  • New artwork

    • Genesis tilemaps, sprites

    • 32x sprite artwork

    • Genesis/32x palettes and palette cycling

    • Genesis animated level art

  • Assembly code edits where possible/necessary

  • Some restored/recreated Chaotix beta content

Chaotix Hacking/But why?

As of the time of this writing, there have ever only been 4 public Knuckles' Chaotix mods ever created by various Sonic modding sceners:

  • Newtrogic High Zone

    • First ever Chaotix mod!

    • Features minor art/palette edits

    • Audio edits

      • Ports of Sonic SMPS tunes

      • Swapping of some song's slot IDs

      • Some song's instruments edited

    • Other random edits

  • Sonic in Knuckles' Chaotix

    • Chaotix mod with Mighty character replaced with Sonic the Hedgehog (like with Sonic Crackers)

  • Knuckles Chaotix translation (Spanish)

  • Sonic 4: Cybernetic Outbreak (game mod)

    • Custom game engine based on Sonic 3 & Knuckles, with Sega 32x support implemented

    • Various Knuckles' Chaotix 32x features implemented

      • 32x Framebuffer usage for high-color game sprites

      • SMPS32x sound engine for PWM usage (percussion)

    • New artwork

    • Ability to play solo or with the 2P Combi tether system

    • Epic boss battles

Years ago (back in 2011), due to the lack of research and Chaotix game mods, I felt like doing some preliminary research into the game, starting with further documenting the game's object types and subtypes, and integrating the data into SonED2's Chaotix ROMulan support. I never fully finished it.

Nowadays, with my increased knowledge of how the Sega Genesis and 32x work (68k assembly), I feel like researching even further deeper into how the game works and on finishing up that object documentation.


Furthermore, I'm interested in leveraging the engine's robust features that the Sega 32x hardware provides:

  • Enhanced level design

    • 2 Genesis palette lines (32 colors) for both the Genesis' Planes A & B (FG/BG layers) for levels

    • Tile, Block, and Chunk paging system for levels

  • Enhanced graphics

    • High-color 32x CRAM for game object sprites

  • Enhanced audio (z80 sound driver for music and audio)

    • 6 FM channels

    • 3 PSG channels

    • 4 PWM channels for epic percussion loops

      • Software panning and volume control

Knuckles' Clackers features

In comparison to these simple Chaotix mods of old, Knuckles Clackers shall crack open Chaotix modding, take it to the next level, and shall feature:


  • New Zones

    • Sonic Factory Zone (SFZ)

      • Based on Sonic Advance 3's transporter area

      • Replaces Tutorial Zone

    • Techno Tower Classic Zone (TTZC), Speed Slider Classic Zone (SSZC)

      • Port of the beta Techno Tower and Speed Slider Zones and assets from Sonic Crackers to the Knuckles Chaotix game engine

      • 1st act is a port of the only level from each zone from Crackers (act 1), with finished object layouts and other minor edits.

      • Other acts (2-5) are original acts using the zone's chunks/and new assets

    • Robo Ruins Zone (RRZ, replaces AAZ)

    • [TBD] Zones, replacements for

      • Botanic Base Zone (BBZ)

      • Marina Madness Zone (MMZ)

      • Isolated Island Zone (IIZ)

      • World Entrance/Newtrogic High Zone (WE)

    • The other new zones contain original artwork and assets

  • New SMPS32x audio/edits

    • Various conversions of music (6 FM+3 PSG+4 PWM channels)

    • New PWM sample slots

    • Restored Crackers DAC samples

      • Backwards compatiblity for Crackers music ports

  • New art

    • Genesis tilemaps, sprites

    • 32x sprite artwork

    • Genesis/32x palettes and palette cycling

    • Genesis animated level art

  • ASM edits

    • Basic ASM edits to get the new levels/mod to work

      • Modified Dynamic Level Events

      • Level Animated Art

      • Palette cycling

      • Etc.

    • Restored/recreated beta and enhanced/edited game content

      • New game features and game objects

        • Combi Breaker Monitor subtype

          • Temporarily removes the Combi tether system (until partner is called)

        • Properly working Sonic 2 styled loop and path swapper segments!

Knuckles' Chaotix Research

Research into how Knuckles Chaotix works is also being done during Knuckles' Clackers development. Full details at the research page

      • Further document object types and subtypes (dig through the Knuckles Chaotix disasm)

      • improve and finally finish my SonED2 Knuckles' Chaotix object definition files

      • Implement the object definition files into SonLVL

      • Increase and improve what features SonED2's ROMulan scripts can edit for Chaotix

      • Improve and further document the incomplete disassembly of Knuckles Chaotix

        • Code segments

          • Motorola 68k (Genesis)

          • Master/Slave Hitachi SH-2 (Sega 32x)

          • Zilog Z80 (Genesis sound driver)

        • Commentary for functions

        • Further annotation

          • User-friendly names for RAM addresses

          • Define Constants and names

          • Define Sega Genesis and 32x hardware ports and bitfields/usage

      • Share my research!

Expo'd at the 2021 BitBridge Halloween Showcase!