Small blocks. Infinite worlds.
Build, paint and explore structures made of truncated octahedrons, the 14-faced cells that tile space.
octa-walkthrough.mp4
- 🏰 85 builds: landmarks, old towns, ships, machines and fantasy worlds, mostly 80,000 to 130,000 cells each. Every build assembles from the bottom up in its own sky, ground or water.
- 🖌️ Brush in new cells in any palette color, or swallow them with a black hole.
- ↩️ Undo and redo the last ten strokes.
- 🔍 X-ray view to see inside any build.
- 💾 A compact
.octafile format: 12 bytes per cell, plus one byte for its color. - 📦 Offline and dependency-free: no account, no API key, no addons. A standalone Go toolkit generates the builds.
Install Godot 4.4 or newer (tested with 4.7.2), then:
git clone https://github.com/makevoid/godocta.git
cd godocta
bin/run # or: godot --path .You can also open project.godot in Godot and press F5. On macOS, double-click Launch Octa.command. On Windows, run godot --path . from a terminal.
The builds are already in the repository. You only need Go 1.22+ to regenerate them.
Press Enter on the welcome screen to start. The top bar holds the menus and file actions. The toolkit is on the left, and the selected tool's settings appear at the bottom right.
Open Primitives (or press 1–4) for a cube, sphere, pyramid or cylinder. Every arrangement assembles cell by cell. Press R to replay it.
Brush in · B |
Black hole · E |
|---|---|
![]() |
![]() |
| New cells fly in and snap to the surface under the brush. | Every cell inside the globe is swallowed. |
- Drag to paint across the surface. Hold still to fill one round spot.
- Change the size with the Radius slider or [ and ], from 0.6 to 12 cells.
- Undo and Redo (Cmd/Ctrl+Z, Cmd/Ctrl+Shift+Z) step through the last ten strokes.
- Right drag orbits without leaving the tool. Orbit (V) switches back to plain navigation.
Click Explore builds and search the collection, or use Load to open any .octa file. Save writes your edited arrangement back out.
| Explore builds | Castle, ready to edit |
|---|---|
![]() |
![]() |
| Carve with a big black hole | Paint with a palette color |
|---|---|
![]() |
![]() |
Brush in uses Auto by default, so new cells copy the color of the cells they grow from. On a colored build, you can pick one of eight swatches, or click More to see all 16.
| Input | Action |
|---|---|
| Drag · right drag with a tool | Orbit |
| Wheel / pinch | Zoom |
| Shift + drag / middle drag | Pan |
| F | Reframe the build |
| X | X-ray view |
| ? / H | Help card with every control |
Eiffel Tower · Neuschwanstein · Golden Gate Bridge · Pirate Galleon · Floating Islands · Sydney Opera House · Saturn V Launch · Venice Grand Canal · Japanese Castle. See all 85 →
| Guide | Contents |
|---|---|
| Controls | Every mouse, toolbar and keyboard control, plus brushing tips |
| Builds | The full collection with cell counts, and regenerating builds in Go |
| How Octa works | The cell lattice, presets, scripting your own arrangements, and rendering |
| Architecture | Every GDScript class, data flow, shaders, workers and worlds |
| Development | Tests, screenshots, the walkthrough video, web export and change recipes |
| Go generator | CLI, density, geometry and grid APIs, components, and adding scenes |
| OCTA format | Binary layouts and cross-language compatibility |
| Credits | Artwork provenance and distribution notices |
Contributions are welcome. See CONTRIBUTING.md, and run python3 tools/check.py before opening a pull request. Report bugs in issues, and report vulnerabilities as described in SECURITY.md.
The desktop app has been tested on macOS. Windows and Linux are untested, and the web export is an experimental preview.
MIT © makevoid and Octa contributors.





