SuperHaxagon, like the original game Super Hexagon by Terry Cavanagh, has only one goal. Survive as long as possible by avoiding the falling walls in a trippy, spinny frenzy!
SuperHaxagon is a cross-platform, open source Super Hexagon clone for the Nintendo 3DS, Nintendo Switch, Windows, Linux, Portmaster, Miyoo Mini, and the TI-Nspire (yes, the calculator). It is developed in C++ and uses no additional libraries for the core logic, making it easy (in theory) to port to new platforms. It also has a GUI based level editor called Haxa Editor.
- Cross-platform with modular drivers
- Music timed camera and spin effects
- Device independent 3D effects
- Supports any aspect ratio
- Supports high refresh rates
- Create custom levels
- Save files for scores
- Build toolchain with cmake
The latest release can always be found here:
https://github.com/RedTopper/Super-Haxagon/releases
(You may need to click "Show all assets" to find the download for your platform)
You can view the latest instructions with the links below:
- Nintendo 3DS
- Nintendo Switch
- TI-Nspire (Calculator)
- MiyooMini (OnionOS)
- PortMaster (Retro Handhelds)
- macOS arm64
- Windows x86_64
- Flatpak (Steam Deck/Immutable Distro) x86_64
- Linux (SDL2 with controller support) x86_64
- Linux (SFML static link) x86_64/arm64
Offline install instructions are included in your download inside the README.md.
It may be possible to build and run SuperHaxagon on other platforms, as it is designed to be portable. You can likely build it by following the instructions below. I'd love to hear any success for building for other platforms!
The first step is always to clone this repository with:
git clone https://github.com/RedTopper/Super-Haxagon.gitThen, find your device in the driver directory.
- Example for building an example driver
- N3DS for the Nintendo 3DS
- Nspire for the TI-Nspire
- SDL2-Linux for Linux with the SDL2 backend (incl. Flatpak)
- SDL2-Miyoo for the MiyooMini
- SDL2-PortMaster for PortMaster and retro gaming handhelds
- SFML-Linux for Linux with the SFML2 backend
- SFML-macOS for macOS
- SFML-Windows for Microsoft Windows
- Switch for the Nintendo Switch
The original game Super Hexagon by Terry Cavanagh
The people on the contributors page (seriously, you guys rock!)
Licenses for assets provided by the following people can now be found in the CREDITS.md file:
Individual library credits and licenses have moved to the device driver itself. Please check out these individual LICENSE.md files for links to the wonderful projects that make SuperHaxagon possible!
- N3DS Driver for the Nintendo 3DS
- Switch Driver for the Nintendo Switch
- Nspire Driver for the TI-Nspire
- SFML Driver for Linux, macOS, and Windows
- SDL2 Driver for PortMaster and MiyooMini
SuperHaxagon is now licensed under GPLv3 (or later) to ensure that any implementation across any platform will remain open for as long as possible!
The individual drivers originally written by me are dual-licensed under MIT to ensure other projects that do not want to use the GPL can continue use this code to port their projects to new platforms.
New drivers may elect to use this "dual licensing" scheme, or simply use GPLv3 if they want more copyleft protections.
This license does not apply to assets or iconography, which have various licenses listed out in the CREDITS.md file.
If you are looking to swap out the existing music tracks with your own, you may be wondering what's up with those
.txt files next to the tracks. These metadata files provide information to the game about when to time beats,
spins, tilts, zooms, and any other effects while the music is running.
While it may be possible to automatically generate the "beats" from the music itself at runtime, some platforms (the TI-NSpire, mostly) don't have the spare CPU cycles to deal with decoding music, so I found the best balance to write out the events manually.
You can open these .txt files in Audacity as a
Label Track. If they change, the
events that the game can recognize are found in the Play::update() function within Play.cpp, and are
currently as follows:
- S: A large, sudden spin
- I: Invert the background colors
- BL: Large beat, when the music is really thumping
- BS: Small beat
- TL: Tilt the level by moving the main camera to the left
- TR: Tilt the level by moving the main camera to the right
- Z: A huge, diving zoom.
(Yes, deleting these files is cheating)
Below are a few screenshots featuring the various platforms that SuperHaxagon compiles on. The 3DS version is packaged with a custom 3D banner to make it look official. Additionally, the gif was recorded on actual Nintendo Switch hardware.












