imj-game-hamazed: A game with flying numbers and 8-bit color animations.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

You fly a ship through numbers, the goal is to shoot the numbers whose sum will be equal to the level's target.


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.1.0.2
Change logCHANGELOG.md
Dependenciesbase (>=4.8 && <4.11), containers (>=0.5.9.2), imj-animation (==0.1.*), imj-base (==0.1.*), imj-game-hamazed, imj-prelude (==0.1.*), matrix (>=0.3.5.0), mtl (>=2.2.1 && <2.3), terminal-size (>=0.3.2.1 && <0.3.3), text (==1.2.*), vector (>=0.12.0.1 && <0.12.1) [details]
LicenseBSD-3-Clause
Copyright2017 - 2018 Olivier Sohn
AuthorOlivier Sohn
Maintainerolivier.sohn@gmail.com
CategoryAnimation, Game, Graphics, Education, Application
Home pagehttps://github.com/OlivierSohn/hamazed/blob/master/imj-game-hamazed//README.md
Bug trackerhttps://github.com/OlivierSohn/hamazed/issues/
Source repositoryhead: git clone https://github.com/OlivierSohn/hamazed/(imj-game-hamazed)
Executablesimj-game-hamazed-exe
UploadedMon Jan 1 08:50:11 UTC 2018 by OlivierSohn

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for imj-game-hamazed-0.1.0.0

[back to package description]

What is it?

It's a terminal ascii game where you fly a ship through numbers. The goal is to shoot the numbers whose sum will be equal to the level's target. It's easy at the beginning, but higher levels have more and more numbers, and less and less space to navigate through them! The last level is level 12: I never reached it, but I hope somebody will :).

Demos

No walls, square world

asciicast

Random walls, rectangular world

asciicast

Configurability

The game can be configured in "world shape" (square, rectangle) and "kind of walls" (none, deterministic, random).

Configuration snapshot

You can define your own keyboard mapping by modifying the 'eventFromKey' function defined here, the default mapping being:

Supported Platforms / Terminals:

|OS |Support| |---------|-------| |OS X |Yes | |Linux |Yes | |Windows |No (see this) |

Your terminal window should have a dimension of at least {height = 42, width = 146}. If it is too small, the program will fail with the following error message:

From game thread:

Minimum terminal size : Window {height = 42, width = 146}.
Current terminal size : Window {height = 22, width = 165}.
The current terminal size doesn't match the minimum size,
please adjust your terminal size and restart the executable.

Version history

Build

You can build and run using stack:

stack build --pedantic && stack exec hamazed-exe

Credits

Delta rendering

The initial idea for delta rendering is based on code written by Rafael Ibraim