Super-Haxagon
Super Haxagon is a cross platform, open source Super Hexagon clone for the Nintendo 3DS, Nintendo Switch, Windows, and Linux. 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.
Download
You can download the latest build on the releases page to the right.
Features
- Cross Platform
- Widescreen support
- High Refresh Rate support
- Custom Levels
- OGG decoder for BGM
- High Score Saving
Building
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
3DS Build
- 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
Switch Build
- 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
PC Build
... with MSVC on Windows
- 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
... with MinGW/msys on Windows
- 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
... with GCC on Linux
- 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
Credits
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 Steveice10/buildtools
- 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: ᵖˡᵉᵃˢᵉ ᵈᵒⁿ'ᵗ ˢᵘᵉ ᵐᵉ
Cross Platform
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)