More actions
- Super-Haxagon
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.
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
TI-Nspire Build
- 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
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!)
<details><summary>Music Attribution</summary>
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: ?????? ???'? ??? ??
</details>
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.
<img width="500" src="./media/screenshots/HNI_0013.JPG" alt="3D Banner" title="3D Banner"/> <img width="500" src="./media/screenshots/Windows_2020-07-10_014324.png" alt="In Game Windows" title="Windows"/> <img width="500" src="./media/screenshots/luma-2020-07-11-06-48-44-586.png" alt="In Game 3DS" title="3DS"/> <img width="500" src="./media/screenshots/switch.gif" alt="In Game Switch (GIF)" title="In Game Switch (GIF)"/> <img width="500" src="./media/screenshots/nspire.png" alt="TI-Nspire" title="TI-Nspire"/> <img width="500" src="./media/screenshots/20200727_015021.jpg" alt="Hardware" title="Hardware"/>
<details><summary>More Screenshots</summary>
[[File:./media/screenshots/Windows_2020-07-10_014650.png|Title Screen Windows]] [[File:./media/screenshots/luma-2020-07-11-06-42-12-193.png|Title Screen 3DS]] [[File:./media/screenshots/Windows_2020-07-10_014604.png|Death Spiral Windows]] [[File:./media/screenshots/luma-2020-07-11-06-55-45-531.png|Death Spiral 3DS]]
</details>
<details><summary>Proof of Concept</summary>
[[File:./media/screenshots/scr_2_MERGED.png|Humble Beginnings]] [[File:./media/screenshots/scr_1_MERGED.png|Humble Beginnings]]
</details>
(Signature Verification)