Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

Super Haxagon 3DS: Difference between revisions

From GameBrew
Created page with "{{Infobox 3DS homebrew | title = Super Haxagon | image = https://dlhb.gamebrew.org/3dshomebrew/SuperHaxagon.jpg|250px | type = Puzzle | version = 3.4.0 | licence = Mixed | aut..."
 
No edit summary
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = Super Haxagon
|title=Super Haxagon
| image = https://dlhb.gamebrew.org/3dshomebrew/SuperHaxagon.jpg|250px
|image=Superhaxagon2.png
| type = Puzzle
|description=Super Haxagon is a Super Hexagon like clone for the 3DS.
| version = 3.4.0
|author=RedTopper
| licence = Mixed
|lastupdated=2025/04/23
| author = RedTopper
|type=Action
| website = https://github.com/RedTopper/Super-Haxagon
|version=3.9.1
| download = https://dlhb.gamebrew.org/3dshomebrew/SuperHaxagon.rar
|license=MIT
| source = https://dlhb.gamebrew.org/3dshomebrew/SuperHaxagon.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/superhaxagon.7z
|website=https://github.com/RedTopper/Super-Haxagon
|source=https://github.com/RedTopper/Super-Haxagon
}}
}}
<youtube>5mDjFdetU28&t=7s</youtube>
Super Haxagon, formerly named Super Hexaspire, is a cross platform, open source [http://superhexagon.com Super Hexagon] clone for the Nintendo 3DS, Nintendo Switch, Windows, Linux, and the [https://education.ti.com/en/products/calculators/graphing-calculators/ti-nspire-cx-cas TI-Nspire] (yes, the calculator).


#Super-Haxagon
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 [https://github.com/RedTopper/Haxa-Editor Haxa Editor].


Super Haxagon is a cross platform, open source [http://superhexagon.com/ Super Hexagon] clone for the Nintendo 3DS, Nintendo Switch, Windows, Linux, and the [https://education.ti.com/en/products/calculators/graphing-calculators/ti-nspire-cx-cas 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 [https://github.com/RedTopper/Haxa-Editor Haxa Editor].
==Features==
* Cross Platform.
* Widescreen support.
* High Refresh Rate support.
* Custom Levels.
* OGG decoder for BGM.
* High Score Saving.


== Download ==
==Installation==
Available in 3DSX and CIA formats.
* CIA - Install the .cia with the CIA manager of your choice.
* 3DSX - Use the .3dsx provided with the Homebrew Launcher.


You can download the latest build on [https://github.com/RedTopper/Super-Haxagon/releases the releases page] to the right.
Additionally, feel free to check out the level editor at [https://github.com/RedInquisitive/Haxa-Editor Haxa-Editor]. There's a wiki that documents how to use it. External levels are supported by dropping the levels.haxagon in sdmc:/3ds/data/haxagon/. They'll load on the home menu after the builtin levels.


== Features ==
'''Note:''' You must dump your [[DSP1 3DS|DSP firmware]] to hear the music.


* Cross Platform
==User guide==
* Widescreen support
Super Hexagon is a fast-paced twitch game in which you control a triangle on a hexagonal grid in the center while walls come from the edges of the screen.
* High Refresh Rate support
* Custom Levels
* OGG decoder for BGM
* High Score Saving


== Building ==
The controls are simple: you must pivot the triangle to the opening in order to survive.


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.
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/superhaxagon3.png
https://dlhb.gamebrew.org/3dshomebrews/superhaxagon4.png


# Clone this repository with <code>git clone https://github.com/RedTopper/Super-Haxagon.git --recursive</code>
==Changelog==
'''v3.9.1'''
* nspire: There are now at least two buttons to perform all basic actions, in case one of your keys is sticky.
* sdl2 and sfml: Drivers and downloads have been renamed to better show what back-end the driver is using.
* all: Downloads now have a README.md that gives offline instructions on how to set up your platform, as well as a link back to this repo.
* all: Downloads now have a vX.X.X.txt file that includes some metadata for the release, like which commit hash the download came from, version information, how it was built, and the time it was built.
'''v3.9.0'''
* macos: new platform!
** GitHub Actions will now build a macOS (M1) bundle automatically for new PRs going forward!
** Intel-based macOS devices should still build, but there is no automated builds at this time.
** Thanks [https://github.com/adc-ax @adc-ax] for helping out with macOS bugs!
** (macOS support was previously added by [https://github.com/mathieudel @mathieudel], but unfortunately I did not maintain it.)
* steamdeck: new platform!
** The SDL2 flatpak build will auto-detect SteamDeck and enter fullscreen.
** Switched to SDL2 for controller support in flatpak.
** Tested on hardware!
** (Technically you could install the flatpak on SteamDeck, but the experience wasn't very good.)
* all: License change to GPLv3 (or later) for the core game.
** Drivers are dual licensed under GPLv3-or-later OR MIT.
** All downloads now include a copy of the license AND licenses for all dependencies.
* all: Levels no longer speed up during &quot;level ups&quot;
** Instead, one big speedup happens at 60 seconds.
** Thanks [https://github.com/zaphod77 @zaphod77] (Fixes [https://github.com/RedTopper/Super-Haxagon/issues/34 #34])
* all: LAST Major driver refactor, ALL platform specific files are now located in <code>driver</code>
* all: All platforms now build with GitHub actions!
'''v3.8.3'''
* New features:
** 3ds, switch: For platforms that embed music into the ROM, you can add custom title music by placing a <code>title.ogg</code> next to your scores.db file. [https://github.com/RedTopper/Super-Haxagon/issues/35 #35]
** miyoo: This release uses the Ports folder instead of the Apps folder on OnionOS [https://github.com/RedTopper/Super-Haxagon/issues/39 #39]
* Fixes:
** all: Pressing right no longer has priority over pressing left. Instead, the last direction to be pressed "wins". This makes switching directions faster and easier. [https://github.com/RedTopper/Super-Haxagon/issues/36 #36]


=== 3DS Build ===
'''v3.8.2'''
* New features for this release:
** portmaster: new platform!
*** Please use the "autoinstall" folder to install the zip manually from this repo. It is "Ready to Run" and contains all assets, including the romfs folder.
*** For muOS: <code>/mnt/mmc/MUOS/PortMaster/autoinstall/</code>
*** For Knulli: <code>/media/SHARE/system/.local/share/PortMaster/autoinstall/</code>
*** For other CFWs, see the Portmaster documentation for your platform..
** miyoo mini: new platform!
*** Tested only on OnionOS.
*** Install by placing SuperHaxagon folder into <code>/mnt/SDCARD/App/</code>, then place <code>romfs</code> folder in <code>/mnt/SDCARD/App/SuperHaxagon/romfs/</code>
*** Pixelation filter applied to look extra retro (and totally not because I have to do software rasterization and rendering at full resolution would be too taxing for the CPU!).
** 3ds: fixed a bug that prevented the proper loading of stereo .WAV files.
** all: Replaced SFX with ones created by [https://github.com/TwistBit @TwistBit]! Thanks! (Fixes [https://github.com/RedTopper/Super-Haxagon/issues/32 #32]).
** all: Pumped up the level beats (Fixes [https://github.com/RedTopper/Super-Haxagon/issues/31 #31]).
** all: Controls are shown on the title screen by pressing "back".
** all: Main menu has new "tilt" effects while selecting levels.
** all: New main menu music (I got tired of Werq).
** all: Tilt effects for levels 2-4.
** all: Zoom effects for levels 2-4.
** all: Platform now shown on the top of the title screen.


# Get MinGW and DevkitPro and install dependencies listed in the Makefile
'''v3.7.0'''
# Use the provided Makefile with the command <code>make TARGET:=3DS</code>
*New features for this release:
# Install either the CIA or 3DSX on your 3DS
**all: New title menu before the level select.
 
**all: Camera pans and color transitions between most states.
=== Switch Build ===
**switch: You can now use "X" to rotate right, like the 3ds.
 
*Under the hood features:
# Get MinGW and DevkitPro and install dependencies listed in the Makefile
**all: Drivers cleaned up to officially use "Pimpl".
# Use the provided Makefile with the command <code>make TARGET:=SWITCH</code>
**all: Drivers no longer make excessive pointer de-references and instead direct calls to the Impl itself.
# Copy the .nro to <code>sdmc:/switch/SuperHaxagon/SuperHaxagon.nro</code> and launch it from the hbmenu
**all: Drivers now have "Surface" classes that contain core rendering logic, split out from Platform.
 
**all: Game uses new SurfaceGame class, which implements software matrix transforms.
=== TI-Nspire Build ===
**all: Code cleanup, where applicable.
 
# On Linux (I use WSL/Ubuntu), get and build [https://github.com/ndless-nspire/Ndless Ndless]
# Use the provided Makefile.nspire with the command <code>make -f Makefile.nspire</code>
# Copy <code>haxagon.tns</code> to the ndless folder
# Rename <code>levels.haxagon</code> to <code>levels.haxagon.tns</code> and copy it to the ndless folder
 
=== PC Build ===
 
==== ... with MSVC on Windows ====
 
# Note: you may need the [https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads Visual C++ Runtime]
# Download SFML for your MSVC version
# Rename the SFML folder to <code>SFML-MSVC</code> 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 [https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads Visual C++ Runtime]
# Download SFML for your MinGW version
# Rename the SFML folder to <code>SFML-MinGW</code> and place it in libraries
# Use the provided Makefile with the command <code>make TARGET:=WIN64</code> OR use the CMake file
# Copy the <code>romfs</code> folder and <code>SFML/bin/openal32.dll</code> 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 <code>make TARGET:=LINUX64</code> to build it
# Launch the executable
 
== Credits ==


==Credits==
Thanks everyone for:
Thanks everyone for:
* The toolchain by [https://github.com/devkitPro devkitPro].
* The 3DS 2D engine by fincs at [https://github.com/devkitPro/citro2d devkitPro/citro2D].
* The CTR User library by Smea at [https://github.com/devkitPro/libctru devkitPro/libctru].
* The Switch User library by Switchbrew at [https://github.com/switchbrew/libnx switchbrew/libnx].
* The font Bump IT UP by aaronamar at [http://fontstruct.com/fontstructions/show/155156/bump_it_up fontstruct.com].
* Steveice10 for the build tools at [https://github.com/Steveice10/buildtools Steveice10/buildtools].
* Sean T. Barrett for OGG decoding at [https://github.com/nothings/stb nothings/stb].
* The SFML developers for, well, [https://www.sfml-dev.org/ SFML].
* Audio from Open Hexagon at [https://github.com/SuperV1234/SSVOpenHexagon SuperV1234/SSVOpenHexagon].
* ...and Kevin MacLeod for more music at [http://incompetech.com/ incompetech.com].
* and all of the people on the [https://github.com/RedTopper/Super-Haxagon/graphs/contributors contributors page].


* The toolchain by [https://github.com/devkitPro devkitPro]
Music Attribution:
* The 3DS 2D engine by fincs at [https://github.com/devkitPro/citro2d devkitPro/citro2D]
* [https://incompetech.filmmusic.io/song/4616-werq Werq] by Kevin MacLeod (http://creativecommons.org/licenses/by/4.0 License).
* The CTR User library by Smea at [https://github.com/devkitPro/libctru devkitPro/libctru]
* [https://incompetech.filmmusic.io/song/5715-screen-saver Screen Saver] by Kevin MacLeod [http://creativecommons.org/licenses/by/4.0 License].
* The Switch User library by Switchbrew at [https://github.com/switchbrew/libnx switchbrew/libnx]
* [https://github.com/SuperV1234/SSVOpenHexagonAssets Open Hexagon]:
* The font Bump IT UP by aaronamar at [http://fontstruct.com/fontstructions/show/155156/bump_it_up fontstruct.com]
** Call Me Katla, Baby by Dunderpatrullen.
* Steveice10 for the build tools at [https://github.com/Steveice10/buildtools Steveice10/buildtools]
** Captain Cool by Bossfight.
* Sean T. Barrett for OGG decoding at [https://github.com/nothings/stb nothings/stb]
** Commando Steve by Bossfight.
* The SFML developers for, well, [https://www.sfml-dev.org/ SFML]
** Dr. Finkelfracken's Cure by Bossfight.
* Audio from Open Hexagon at [https://github.com/SuperV1234/SSVOpenHexagon SuperV1234/SSVOpenHexagon]
** Jack Russel by Bossfight.
* ...and Kevin MacLeod for more music at [http://incompetech.com/ incompetech.com]
** The Maze Of Mayonnaise by Bossfight.
* and all of the people on the [https://github.com/RedTopper/Super-Haxagon/graphs/contributors 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>
Super-Haxagon Timeline:
* 2021: TI-Nspire release
* 2020: Nintendo Switch release
* 2020: Windows and Linux release
* 2020: 3DS version 3 (Complete Rewrite)
* 2017: 3DS version 2 (Complete Rewrite)
* 2016: 3DS version 1
* 2013: TI-Nspire version Alpha


(Signature Verification)
==External links==
* GitHub - https://github.com/RedTopper/Super-Haxagon
* GBAtemp - https://gbatemp.net/threads/release-super-haxagon-3-0.571175
* GBAtemp - https://gbatemp.net/threads/release-super-haxagon.455778
* Reddit - https://www.reddit.com/r/3dshacks/comments/i2zxjp/super_haxagon_30_a_super_hexagon_clone
* Reddit - https://www.reddit.com/r/3dshacks/comments/5m2eiz/release_super_haxagon_a_super_hexagon_clone_for

Latest revision as of 02:13, 27 April 2025

Super Haxagon
General
AuthorRedTopper
TypeAction
Version3.9.1
LicenseMIT License
Last Updated2025/04/23
Links
Download
Website
Source

Super Haxagon, formerly named Super Hexaspire, 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.

Features

  • Cross Platform.
  • Widescreen support.
  • High Refresh Rate support.
  • Custom Levels.
  • OGG decoder for BGM.
  • High Score Saving.

Installation

Available in 3DSX and CIA formats.

  • CIA - Install the .cia with the CIA manager of your choice.
  • 3DSX - Use the .3dsx provided with the Homebrew Launcher.

Additionally, feel free to check out the level editor at Haxa-Editor. There's a wiki that documents how to use it. External levels are supported by dropping the levels.haxagon in sdmc:/3ds/data/haxagon/. They'll load on the home menu after the builtin levels.

Note: You must dump your DSP firmware to hear the music.

User guide

Super Hexagon is a fast-paced twitch game in which you control a triangle on a hexagonal grid in the center while walls come from the edges of the screen.

The controls are simple: you must pivot the triangle to the opening in order to survive.

Screenshots

superhaxagon3.png superhaxagon4.png

Changelog

v3.9.1

  • nspire: There are now at least two buttons to perform all basic actions, in case one of your keys is sticky.
  • sdl2 and sfml: Drivers and downloads have been renamed to better show what back-end the driver is using.
  • all: Downloads now have a README.md that gives offline instructions on how to set up your platform, as well as a link back to this repo.
  • all: Downloads now have a vX.X.X.txt file that includes some metadata for the release, like which commit hash the download came from, version information, how it was built, and the time it was built.

v3.9.0

  • macos: new platform!
    • GitHub Actions will now build a macOS (M1) bundle automatically for new PRs going forward!
    • Intel-based macOS devices should still build, but there is no automated builds at this time.
    • Thanks @adc-ax for helping out with macOS bugs!
    • (macOS support was previously added by @mathieudel, but unfortunately I did not maintain it.)
  • steamdeck: new platform!
    • The SDL2 flatpak build will auto-detect SteamDeck and enter fullscreen.
    • Switched to SDL2 for controller support in flatpak.
    • Tested on hardware!
    • (Technically you could install the flatpak on SteamDeck, but the experience wasn't very good.)
  • all: License change to GPLv3 (or later) for the core game.
    • Drivers are dual licensed under GPLv3-or-later OR MIT.
    • All downloads now include a copy of the license AND licenses for all dependencies.
  • all: Levels no longer speed up during "level ups"
    • Instead, one big speedup happens at 60 seconds.
    • Thanks @zaphod77 (Fixes #34)
  • all: LAST Major driver refactor, ALL platform specific files are now located in driver
  • all: All platforms now build with GitHub actions!

v3.8.3

  • New features:
    • 3ds, switch: For platforms that embed music into the ROM, you can add custom title music by placing a title.ogg next to your scores.db file. #35
    • miyoo: This release uses the Ports folder instead of the Apps folder on OnionOS #39
  • Fixes:
    • all: Pressing right no longer has priority over pressing left. Instead, the last direction to be pressed "wins". This makes switching directions faster and easier. #36

v3.8.2

  • New features for this release:
    • portmaster: new platform!
      • Please use the "autoinstall" folder to install the zip manually from this repo. It is "Ready to Run" and contains all assets, including the romfs folder.
      • For muOS: /mnt/mmc/MUOS/PortMaster/autoinstall/
      • For Knulli: /media/SHARE/system/.local/share/PortMaster/autoinstall/
      • For other CFWs, see the Portmaster documentation for your platform..
    • miyoo mini: new platform!
      • Tested only on OnionOS.
      • Install by placing SuperHaxagon folder into /mnt/SDCARD/App/, then place romfs folder in /mnt/SDCARD/App/SuperHaxagon/romfs/
      • Pixelation filter applied to look extra retro (and totally not because I have to do software rasterization and rendering at full resolution would be too taxing for the CPU!).
    • 3ds: fixed a bug that prevented the proper loading of stereo .WAV files.
    • all: Replaced SFX with ones created by @TwistBit! Thanks! (Fixes #32).
    • all: Pumped up the level beats (Fixes #31).
    • all: Controls are shown on the title screen by pressing "back".
    • all: Main menu has new "tilt" effects while selecting levels.
    • all: New main menu music (I got tired of Werq).
    • all: Tilt effects for levels 2-4.
    • all: Zoom effects for levels 2-4.
    • all: Platform now shown on the top of the title screen.

v3.7.0

  • New features for this release:
    • all: New title menu before the level select.
    • all: Camera pans and color transitions between most states.
    • switch: You can now use "X" to rotate right, like the 3ds.
  • Under the hood features:
    • all: Drivers cleaned up to officially use "Pimpl".
    • all: Drivers no longer make excessive pointer de-references and instead direct calls to the Impl itself.
    • all: Drivers now have "Surface" classes that contain core rendering logic, split out from Platform.
    • all: Game uses new SurfaceGame class, which implements software matrix transforms.
    • all: Code cleanup, where applicable.

Credits

Thanks everyone for:

Music Attribution:

Super-Haxagon Timeline:

  • 2021: TI-Nspire release
  • 2020: Nintendo Switch release
  • 2020: Windows and Linux release
  • 2020: 3DS version 3 (Complete Rewrite)
  • 2017: 3DS version 2 (Complete Rewrite)
  • 2016: 3DS version 1
  • 2013: TI-Nspire version Alpha

External links

Advertising: