ansi-terminal-game: cross-platform library for terminal games

[ game, gpl, library ] [ Propose Tags ] [ Report a vulnerability ]

Library which aims to replicate standard 2d game functions (blit, ticks, timers, etc.) in a terminal setting; features double buffering to optimise performance. Aims to be cross compatible (based on "ansi-terminal", no unix-only dependencies), practical. See examples folder for some minimal programs. A full game: venzone.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Automatic Flags
NameDescriptionDefault
examples

builds examples

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.3.0.0, 0.3.1.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.6.0.1, 0.6.1.0, 0.7.0.0, 0.7.1.0, 0.7.2.0, 1.0.0.0, 1.1.0.0, 1.1.1.0, 1.2.0.0, 1.2.1.0, 1.3.0.0, 1.4.0.0, 1.5.0.0, 1.6.0.0, 1.6.0.1, 1.6.0.2, 1.7.0.0, 1.8.0.0, 1.8.0.1, 1.8.1.0, 1.9.0.0, 1.9.1.0, 1.9.1.1, 1.9.1.2, 1.9.1.3, 1.9.2.0, 1.9.3.0 (info)
Change log NEWS
Dependencies ansi-terminal (>=0.11 && <1.1), ansi-terminal-game, array (>=0.5 && <0.6), base (>=4 && <5), bytestring (>=0.10 && <0.13), cereal (>=0.5 && <0.6), clock (>=0.7 && <0.9), colour (>=2.3.6 && <2.4), containers (>=0.6 && <0.8), exceptions (>=0.10 && <0.11), file-embed (>=0.0.15 && <0.1), linebreak (>=1.1 && <1.2), mintty (>=0.1 && <0.2), mtl (>=2.2 && <2.4), QuickCheck (>=2.13 && <2.15), random (>=1.2 && <1.3), split (>=0.2 && <0.3), temporary (>=1.3 && <1.4), terminal-size (>=0.3 && <0.4), timers-tick (>0.5 && <0.6), unidecode (>=0.1.0 && <0.2) [details]
License GPL-3.0-only
Copyright © 2017-2023 Francesco Ariis et al.
Author Francesco Ariis et al. (see AUTHORS)
Maintainer fa-ml@ariis.it
Category Game
Home page http://www.ariis.it/static/articles/libraries/page.html#ansi-terminal-game
Source repo head: git clone http://www.ariis.it/static/repos/stagit/ansi-terminal-game/
Uploaded by fffaaa at 2023-11-08T22:15:24Z
Distributions LTSHaskell:1.9.3.0, NixOS:1.9.3.0, Stackage:1.9.3.0
Executables hot-reload, balls, alone-playback, alone
Downloads 10683 total (184 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-11-08 [all 1 reports]

Readme for ansi-terminal-game-1.9.2.0

[back to package description]
==================
ansi-terminal-game
==================

`ansi-terminal-game` is a library for creating games in a terminal setting.

Goals
-----

- be cross platform (linux/win/mac). If you plan to have your executable
  unix only, I invite you to check brick [1] or other, more expressive
  libraries.
- be simple: no curses/ncurses/pdcurses/etc. dependencies, all
  functionality built on a standard input / ANSI terminal base.

[1] http://hackage.haskell.org/package/brick

Learn
-----

- run the basic example with `cabal new-run -f examples alone`;
- check the source in `examples/Alone.hs`;
- open the 'Terminal.Game' haddock documentation (start reading from
  `data Game`).

A full game can be found at:

    http://www.ariis.it/static/articles/venzone/page.html

Other games made with a-t-g
---------------------------

- caverunner:
    https://github.com/simonmichael/games/blob/main/caverunner/caverunner.hs
- pigafetta: http://www.ariis.it/link/repos/pigafetta/
- avoidance: https://sabadev.xyz/avoidance_game

If you want yours to be added to this list, write to me.

Contact
-------

For any feedback or report, contact me at:

    http://ariis.it/static/articles/mail/page.html

Contributing
------------

browse repo: http://www.ariis.it/static/repos/stagit/ansi-terminal-game/
Upload your modifications somewhere and send me an email (<fa-ml@ariis.it>).