Skip to content

RedTopper/Super-Haxagon

Repository files navigation

Banner Render

Icon 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.

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.

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, TI-Nspire, Windows (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.

  1. Clone this repository with git clone https://github.com/RedTopper/Super-Haxagon.git --recursive

For Users With Podman or Docker:

You can use the provided tools/compose.yaml file for creating sane build environments. The following examples use podman-compose and podman on fedora, but a similar result can likely be done with docker by replacing podman-compose with docker compose (untested).

From within the tools directory, run the following commands replacing the placeholders:

  • <platform>: The platform to build for: 3ds switch nspire linux
  • <cpus>: The number of parallel jobs to default to, usually the CPU core count of your computer (ex: 8)

Create the build environment with:

podman-compose build <platform> --build-arg JOBS=<cpus>

Then build Super Haxagon with:

podman-compose up <platform>

If you need a shell within the build environment, run:

podman-compose run --rm <platform> bash

Then run the following to kick off a build from the /haxagon/build directory:

../build.sh

For more advanced users, feel free to modify the compose.yaml file to your needs.

For Linux Users Without Containerization:

Install SFML's developer package using your system's package manager (this is usually the one that ends in -dev or -devel). Then:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make

Note: This build will be dynamically linked with SFML and will require SFML to be installed on any machine you want to run Super Haxagon on. For static building, use the container or build SFML yourself.

For Flatpak Users:

Run tools/linux/flatpak.sh from the root of the repo.

For Windows Users:

  1. Install Visual Studio 2022
  2. Place a copy of SFML in libraries/SFML (Create the directory)
  3. Open this repository in Visual Studio and press "Play"

Credits

Thanks everyone for:

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.

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