Super Haxagon is a cross platform, open source Super Hexagon clone for the Nintendo 3DS, Nintendo Switch, Windows, Linux, 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.
You can download the latest build on the releases page to the right.
Warning: The windows/linux versions requires a graphics adapter with OpenGL 3.2 or higher. Super Haxagon may be unsupported on first generation Intel processors, Remote Desktop sessions, or VMs with no hardware acceleration. See #22 for details.
- Cross Platform
- Widescreen support
- High Refresh Rate support
- Custom Levels
- OGG decoder for BGM
- High Score Saving
Super Haxagon targets the 3DS, Switch, Windows (MinGW + MSVC), and Linux. For desktop platforms, it uses a cross platform library called SFML, so it will probably also compile on other platforms that support it.
- Clone this repository with
git clone https://github.com/RedTopper/Super-Haxagon.git --recursive
- Get MinGW and DevkitPro and install dependencies listed in the Makefile
- Use the provided Makefile with the command
make TARGET:=3DS
- Install either the CIA or 3DSX on your 3DS
- Get MinGW and DevkitPro and install dependencies listed in the Makefile
- Use the provided Makefile with the command
make TARGET:=SWITCH
- Copy the .nro to
sdmc:/switch/SuperHaxagon/SuperHaxagon.nro
and launch it from the hbmenu
- On Linux (I use WSL/Ubuntu), get and build Ndless
- Use the provided Makefile.nspire with the command
make -f Makefile.nspire
- Copy
haxagon.tns
to the ndless folder - Rename
levels.haxagon
tolevels.haxagon.tns
and copy it to the ndless folder
- Note: you may need the Visual C++ Runtime
- Download SFML for your MSVC version
- Rename the SFML folder to
SFML-MSVC
and place it in libraries - Use Visual Studio to open a folder with the CMake file
- Build the game
- Press play
- Note: you may need the Visual C++ Runtime
- Download SFML for your MinGW version
- Rename the SFML folder to
SFML-MinGW
and place it in libraries - Use the provided Makefile with the command
make TARGET:=WIN64
OR use the CMake file - Copy the
romfs
folder andSFML/bin/openal32.dll
library next to the built executable (only needed with Makefile) - Launch the executable
- Install SFML through your distro's package manager
- Clone this repository
- Use the CMake file or Makefile
make TARGET:=LINUX64
to build it - Launch the executable
Thanks everyone for:
- The toolchain by devkitPro
- The 3DS 2D engine by fincs at devkitPro/citro2D
- The CTR User library by Smea at devkitPro/libctru
- The Switch User library by Switchbrew at switchbrew/libnx
- The font Bump IT UP by aaronamar at fontstruct.com
- Steveice10 for the build tools at RedTopper/buildtools (MIRROR)
- Steveice10 for the banner tool at RedTopper/bannertool (MIRROR)
- Sean T. Barrett for OGG decoding at nothings/stb
- The SFML developers for, well, SFML
- Audio from Open Hexagon at SuperV1234/SSVOpenHexagon
- ...and Kevin MacLeod for more music at incompetech.com
- and all of the people on the contributors page (seriously, you guys rock!)
Music Attribution
Werq by Kevin MacLeod
Link: https://incompetech.filmmusic.io/song/4616-werq
License: http://creativecommons.org/licenses/by/4.0/
Screen Saver by Kevin MacLeod
Link: https://incompetech.filmmusic.io/song/5715-screen-saver
License: http://creativecommons.org/licenses/by/4.0/
Call Me Katla, Baby by Dunderpatrullen
Captain Cool by Bossfight
Commando Steve by Bossfight
Dr. Finkelfracken's Cure by Bossfight
Jack Russel by Bossfight
The Maze Of Mayonnaise by Bossfight
Link: https://github.com/SuperV1234/SSVOpenHexagonAssets
License: ᵖˡᵉᵃˢᵉ ᵈᵒⁿ'ᵗ ˢᵘᵉ ᵐᵉ
Below are a few screenshots featuring the various platforms that Super Haxagon 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.
(Signature Verification)