jgabaut / helapordo

A roguelike terminal game, using ncurses.
https://jgabaut.github.io/helapordo-docs
GNU General Public License v3.0
15 stars 0 forks source link
amboso ncurses ncurses-game roguelike roguelike-game roguelikedev terminal-game

helapordo

A roguelike terminal game.

Small personal project.

It uses ncurses to provide text interface.

Here's a gif of a new game being started.

Gif of game screen

Table of Contents

Latest Release

📦 v1.4.10 14/06/2024 I try to upload precompiled binaries for the ncurses build:

Building

The source code should build for:

Dependencies

Initialising submodules

You can initialise the submodules by running:

`git submodule update --init`

Anvil

Autoreconf and ./configure

You may need to run automake --add-missing to ensure your system provides the missing files needed by autoreconf.

Run autoreconf to generate the ./configure script. Run the script to generate the Makefile used for the project.

Enable game debug

After generating the ./configure script, you may enable game debug mode by running:

`./configure --enable-debug=yes`

Which should prepare a Makefile with the correct macro definitions to turn on game debug at compile time. To reset the Makefile to release state, run:

`./configure --enable-debug=no`

If you're compiling without using autotools, you may want to define the compiler macros:

Build with x86_64-w64-mingw32

After generating the ./configure script, you may switch target host and use mingw32 with:

`./configure --host x86_64-w64-mingw32`

Which should prepare a Makefile with the correct macro definitions. To reset the Makefile to release state, run:

`./configure --host $(./config.guess)`

You may need to correct the configure.ac flags if your installation does not have the expected layout, providing the correct paths for:

Compiling and running

Once you have the Makefile, you can compile the project by running, in its directory:

`make`

The build chain expects some files to be generated from already given ones.

If you want to build without using make, you can see in the Makefile.am how to generate ./src/palette.c, ./src/palette.h, ./src/anvil__helapordo.c and ./src/anvil__helapordo.h

You can have a look at the CLI syntax with:

`./helapordo -h`

Installation

You can install the game at ~/helapordo-local and have a working alias for your PATH by running:

`make install`
`make do_alias`

The second command needs root privileges to symlink ~/helapordo-local/helapordo to /usr/local/bin/helapordo.

You can skip the alias and maybe add the helapordo-local dir to your PATH instead.

Documentation

HTML docs are available at this Github Pages link.

You can also get the ready pdf version of the docs from the latest release.

If you have doxygen installed you can generate the HTML yourself, or even the pdf if you have doxygen-latex or equivalents.

You if you have those packages, running make doc should give you ./docs/docs.pdf, just the pdf output from latex, and delete the doxygen folder by itself.