Break Out Of Hareka's Underground, a roguelike game.
 
 
 
Go to file
Yon dc2eb47df8 randomize monster paths 2023-09-17 08:39:04 +00:00
assets backport some more js/wasm improvements from Harmonist 2019-11-19 09:29:42 +00:00
img update screenshot to show more recent features 2017-10-29 16:06:58 +00:00
.gitignore update .gitignore 2023-09-16 16:55:33 +00:00
Changes update Changes for release 2023-09-17 07:42:31 +00:00
LICENSE First public commit 2017-09-10 11:19:26 +00:00
README.md update dependencies and README instructions 2023-09-10 09:13:57 +00:00
animation.go adjustments in animation timings 2023-09-16 16:55:45 +00:00
ansi.go update ansi.go 2023-09-15 17:04:48 +00:00
aptitude.go experimental overhaul of dungeon structure (now 8+3 levels, instead of 13+3) 2018-11-12 16:36:16 +00:00
autoexplore.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
boohu.6 replace some remaining references to “magical stairs” by “magical monolith” 2019-11-21 17:04:09 +00:00
combat.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
credits.txt add mention in credits.txt for magical stones 2018-09-19 07:41:23 +00:00
draw.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
dump.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
dungeon.go replace some p.Add(gruid.Point{...}) with p.Shift(...) 2023-09-16 17:17:53 +00:00
dungeon_test.go some improvements to deserted town generation 2018-07-22 15:28:29 +00:00
encoding.go write some io stuff for replay file 2018-11-23 12:02:04 +00:00
events.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
game.go update Changes for release 2023-09-17 07:42:31 +00:00
game_test.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
go.mod update some dependencies 2023-09-15 17:22:08 +00:00
go.sum update some dependencies 2023-09-15 17:22:08 +00:00
images.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
io.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
items.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
js.go remove obsolete comment 2023-09-17 07:10:15 +00:00
log.go more improvements to character dump (ideas from Harmonist) 2019-11-08 14:29:53 +00:00
los.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
main.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
monster.go fix remaining pathfinding regression 2023-09-16 17:05:07 +00:00
neighbors.go replace some p.Add(gruid.Point{...}) with p.Shift(...) 2023-09-16 17:17:53 +00:00
path.go randomize monster paths 2023-09-17 08:39:04 +00:00
player.go fix pathfinding regression 2023-09-15 18:29:16 +00:00
pos.go replace some p.Add(gruid.Point{...}) with p.Shift(...) 2023-09-16 17:17:53 +00:00
pos_test.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
replay.go make all special keys work in replay too 2018-11-26 16:17:51 +00:00
rods.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
stairs.go Add 3 optional levels (until Depth:15) with more unique monster bands 2018-06-06 15:42:35 +00:00
stats.go remove unused code 2018-11-15 15:25:31 +00:00
status.go new potion of accuracy 2018-11-06 09:28:18 +00:00
stones.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
target.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
tcell.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
terminal.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
tiles.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
tk.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
ui.go position -> gruid.Point + minor refactorings 2023-09-15 16:41:44 +00:00
utils.go forgot to add seed to math/rand 2019-05-15 16:38:32 +00:00

README.md

Break Out Of Hareka's Underground (Boohu) is a roguelike game mainly inspired from DCSS and its tavern, with some ideas from Brogue, but aiming for very short games, almost no character building, and a simplified inventory.

Every year, the elders send someone to collect medicinal simella plants in the Underground. This year, the honor fell upon you, and so here you are. According to the elders, deep in the Underground, a magical monolith will lead you back to your village. Along the way, you will collect simellas, as well as various items that will help you deal with monsters, which you may fight or flee...

Boohu introduction screen

Screenshot and Website

Introduction Screeshot

You can visit the game's website for more informations, tips, screenshots and asciicasts. You will also be able to play in the browser and download pre-built binaries for the latest release.

Install from Sources

In all cases, you need first to perform the following preliminaries:

  • Install the go compiler.
  • Add $(go env GOPATH)/bin to your $PATH (for example export PATH="$PATH:$(go env GOPATH)/bin").

ASCII

You can build a native ASCII version from source by using this command:

go install

Alternatively, you may use the go build -o /path/to/bin/boohu to put the resulting binary in a particular place.

The boohu command should now be available (you may have to rename it to remove the .git suffix).

The only dependency outside of the go standard library is the curses-like library tcell, which is installed automatically by the previous go install command.

Portability note. If you want to avoid a dependency, try adding --tags ansi to the go install command. It will work on POSIX systems with a stty command, but has more limited functionality.

Tiles

You can build a graphical version depending on Tcl/Tk (8.6) using this command:

go install --tags tk

This will install the gothic Go bindings for Tcl/Tk. You need to install Tcl/Tk first.

Browser (Tiles or ASCII)

You can also build a WebAssembly version with:

GOOS=js GOARCH=wasm go build --tags js -o boohu.wasm

You can then play by serving a directory containing the wasm file via http. The directory should contain some other files that you can find in the main website instance.

Colors

If the default colors do not display nicely on your terminal emulator, you can use the -s option: boohu -s to use the 16-color palette, which will display nicely if the solarized palette is used. Configurations are available for most terminal emulators, otherwise, colors may have to be configured manually to one's liking in the terminal emulator options.

Documentation

See the man page boohu(6) for more information on command line options and use of the replay file. For example:

boohu -r _

launches an auto-replay of your last game.