Skip to content

RedTopper/Super-Haxagon

Repository files navigation

Banner

SuperHaxagon SuperHaxagon

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.

Features

  • 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

Download

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)

Install

Platforms SuperHaxagon runs on

You can view the latest instructions with the links below:

Offline install instructions are included in your download inside the README.md.

Other platforms

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!

Building

The first step is always to clone this repository with:

git clone https://github.com/RedTopper/Super-Haxagon.git

Then, find your device in the driver directory.

Credits

The original game Super Hexagon by Terry Cavanagh

The people on the contributors page (seriously, you guys rock!)

Assets

Licenses for assets provided by the following people can now be found in the CREDITS.md file:

Libraries

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!

License

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.

Beatmaps

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)

Screenshots

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.

Screenshots 3D Banner In Game Windows In Game 3DS In Game Switch (GIF) TI-Nspire Hardware
More Screenshots

Title Screen Windows Title Screen 3DS Death Spiral Windows Death Spiral 3DS

Proof of Concept

Humble Beginnings Humble Beginnings