# SSVOpenHexagon is a Super Hexagon clone with JSON and Lua level files

> SSVOpenHexagon is a C++20 open source clone of Super Hexagon, built on a stack of the author's own libraries and SFML, with game files written in JSON and Lua and pseudo-3D effects. The trade is that it depends on a family of sibling projects, and its build instructions live on a wiki outside the repository.

**vittorioromeo/SSVOpenHexagon** — C++20 FOSS clone of "Super Hexagon". Depends on SSVStart, SSVEntitySystem, SSVLuaWrapper, SSVMenuSystem, JSONcpp, SFML2.0. Features JSON/LUA customizable game files, a soundtrack by BOSSFIGHT, pseudo-3D effects.

- Repository: https://github.com/vittorioromeo/SSVOpenHexagon
- Website: https://vittorioromeo.com/openhexagon.html
- Stars: 658 · Forks: 76
- Language: C
- License: NOASSERTION
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/vittorioromeo-ssvopenhexagon

## The clone is the point, and the original author supports it

The framing in the README is unusually direct for a clone. Open Hexagon is inspired by Super Hexagon, created by Terry Cavanagh, and the README states that Terry fully supports Open Hexagon, linking a post of his own to say so. The game itself is described in one line as a fast-paced adrenalinic arcade game that is easy to learn but hard to master, built around four buttons and one goal, which is to survive, and the README adds that it is now available on Steam. The structure of the credits section tells you how the project is organised in practice: an original inspiration section naming Cavanagh, a source contributors section naming six people including John Kline, Zly, AlphaPromethium, Misa Elizabeth, Ivory Duke and MultHub, and a testing section crediting a channel with the name Maniac. A clone that lists its inspiration first and its contributors second is making a claim about its own nature, and that is worth taking at face value when you decide what to use it for.

## The dependency stack is the author's own family of libraries

The repository description names the dependencies, and the list is more informative than it first looks. It depends on SSVStart, SSVEntitySystem, SSVLuaWrapper and SSVMenuSystem, all of which carry the same prefix, and then on JSONcpp and SFML2.0. Two things follow from that. First, this is not a self-contained project: a build pulls in four sibling libraries from the same author, so the actual surface area of the code is larger than the repository suggests. Second, the four names describe the architecture. An entity system is the game object model, a Lua wrapper is how the game is scripted, a menu system is how the user interface is built, and the start library presumably handles bootstrapping and the main loop. The JSONcpp dependency is the second half of the scripting story, because the project description says the game files are customizable in JSON and LUA, which means the content format and the behaviour format are two different things.

## Customisable game files are the feature that makes it a platform

The description says the project features JSON and Lua customizable game files, and the repository layout backs the idea that content is separated from code. There is a public/ directory and an art/ directory, so assets and data sit outside src/, and there is a server/ directory and a webpage/ directory, which suggests the project has a networked component with a browser front end rather than a purely local arcade game. The build outputs are also split, with build/ for development builds, buildlx/ for what appears to be a Linux build, buildrel/ for release builds, and a _RELEASE/ directory, which is the convention of a project that ships packaged releases rather than a single binary. The presence of an old/ directory at the root also indicates that this is a codebase with a long history rather than a fresh implementation, and the pseudo-3D effects in the feature list are the kind of rendering flourish that a long-lived project accumulates as its engine grows.

## The build instructions are not in the repository

This is the single most practical thing to know before you start. The README's Building section contains one sentence: building instructions are available on the wiki, with the link pointing at a wiki hosted under a different account on GitHub, not at the project's own repository. Everything else in the README is credits, links and a description of the game. That means the repository itself is not self-documenting for a new contributor, and the build knowledge lives in a wiki page that is outside the version control of the source it describes. The top-level entries suggest a substantial build system that is nonetheless conventional: a CMakeLists.txt, a build.sh script, a .clang-format file with a companion clangformat_everthing.sh script, a .gitmodules file with an extlibs/ directory for vendored dependencies, and a .github/ directory for the CI configuration. There is also a release_checklist.md and a run_prepared_release_test.sh script, plus prepare_release.sh and a Linux-specific prepare_release_linux.sh, which tells you releases are scripted rather than ad hoc.

## A C++ codebase with a decade of history and a small team

The repository tells a story through its directory names. There is an include/ directory and a src/ directory, the conventional split for a C++ project of this size, a test/ directory for the test suite, a misc/ directory, a CODEOWNERS file that names who reviews which part, and a vbox/ directory which is a VirtualBox configuration, almost certainly for running the networked server component during development. The primary language recorded for the repository is C, though the project description says C++20, and the topic tags list cpp, cpp11, cpp14, game, game-development, gamedev and open-hexagon, which is a tag set that has not been touched since the C++14 era. The age is confirmed by the release history, where the newest two tags are 2.0-preview from 2013-07-14 and 1.92b from 2013-07-03, and a version number of 1.92b with a letter suffix is the naming convention of a game that shipped many point releases over months. The repository is not archived and the last push was on 2026-05-22, so work continues, but the release line is a decade old and the newer build directories suggest the modern structure exists alongside the older one.

## Where the licence question is unresolved

The licence is the item to check yourself, because the repository records it as a custom licence that GitHub cannot classify and the project ships a LICENSE file at the root. Nothing in the README states the terms, and the README does not have a licensing section at all, which is unusual for a project of this size and leaves a reader without a plain statement. That matters here more than it would for a small library, because the game is a clone of a commercial title and now also appears in the description as available on Steam, which implies a commercial release exists somewhere. A clone that has commercial ambitions inherits the original rights holder's constraints on the game design itself, and the practical question for anyone considering building on this code is what the LICENSE file actually permits. Read it before you plan to ship anything, and treat the absence of a plain statement in the README as a reason to look rather than as an implied permission.

## Conclusion

SSVOpenHexagon suits a developer who wants to read a complete arcade game built on a modern C++ stack, or who wants to author their own levels in JSON and Lua, and who is prepared to assemble the sibling libraries the project depends on. It does not suit a player looking for a finished game, since the project is a development snapshot whose newest tagged release is from 2013, and it does not suit anyone who wants a build that a single command produces. Before adopting, read the building instructions on the wiki, since the README does not carry them, and note that the last push to the repository was on 2026-05-22 with the newest tags being 2.0-preview and 1.92b, both from 2013.

## FAQ

### What is SSVOpenHexagon?

It is a C++20 open source clone of Super Hexagon, described as a fast-paced arcade game built around four buttons and the goal of surviving. The README states that Terry Cavanagh, the creator of Super Hexagon, fully supports the project, and the game is now available on Steam.

### What does SSVOpenHexagon depend on?

The repository description names SSVStart, SSVEntitySystem, SSVLuaWrapper and SSVMenuSystem, all from the same author, along with JSONcpp and SFML2.0. The four sibling libraries cover bootstrapping, the entity model, Lua scripting and the menu system, so a build pulls in code from outside this repository.

### How do I build SSVOpenHexagon?

The README does not contain the steps. It points to building instructions on a wiki hosted at a separate GitHub account, and the repository itself carries a CMakeLists.txt, a build.sh, a .clang-format file, an extlibs/ directory and a .gitmodules file for vendored dependencies.

### How are game files customised in SSVOpenHexagon?

The project description states that the game files are customizable in JSON and LUA, and the repository layout separates the content from the code with public/ and art/ directories outside src/, alongside a server/ directory and a webpage/ directory for the networked part of the project.

### What licence is SSVOpenHexagon released under?

The licence field in the repository metadata is a custom licence that GitHub cannot classify, and the terms are in the LICENSE file at the root of the repository. The README itself has no licensing section, so the file is the only source for the terms, which matters for a clone of a commercial game.

## Sources

- [Issues](https://github.com/vittorioromeo/SSVOpenHexagon/issues)
- [Project website](https://vittorioromeo.com/openhexagon.html)
- [README](https://github.com/vittorioromeo/SSVOpenHexagon/blob/master/README.md)
- [Releases](https://github.com/vittorioromeo/SSVOpenHexagon/releases)
- [vittorioromeo/SSVOpenHexagon on GitHub](https://github.com/vittorioromeo/SSVOpenHexagon)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/vittorioromeo-ssvopenhexagon
