Skip to content

An ASCII game built in rust in loving memory of the 1984 hit BEAST

Notifications You must be signed in to change notification settings

dominikwilkowski/beast

Repository files navigation

The beast game play

BEAST is a homage to the 1984 ASCII game "BEAST" from Dan Baker, Alan Brown, Mark Hamilton and Derrick Shadel.

Beast

How to install

TODO

How to play

The help of the game

The object of this arcade-like game is to survive through a number of levels while crushing the beasts (├┤) with movable blocks (░░). The beasts are attracted to the player's (◄►) position every move. The beginning levels have only the common beasts, however in later levels the more challenging super-beasts appear (╟╢). These super-beasts are harder to kill as they must be crushed against a static block (▓▓). At levels beyond, the eggs (○○) are introduced, implying greater challenge. These enemies are dormant at the beginning of each level, but will in time hatch into a hatched beast (╬╬). These beasts are the hardest to kill, as they can also move blocks to crush the player. They can however be killed as easily as the regular beasts, against any object.

Global highscore

The global highscore

The global highscore is synced with an online server. This is where you can enter yourself to compete with others world wide. The top 100 are saved until someone better comes around.

Differences

I've attempted to keep this game as close to the original as practical. Whever possible I copied elements straight and in other areas I tried to guess as close to what the original code would have done. The level config is an approximation to the best of my abilities.

There are some differences though which I like to highlight:

- Board size: 38x21 tiles
+ Board size: 50x30 tiles

- Pull blocks while holding the spacebar

+ A global highscore synced with an online server

- `HatchedBeasts` can squish other beasts when moving blocks
+ `HatchedBeasts` can't squish other beasts when moving blocks

- `HatchedBeasts` can move diagonally
+ `HatchedBeasts` can't move diagonally

- There are 3 x "EASY", 4 x "NOVICE", 4 x "HARD", 4 x "UNKNOWN", 4 x "ADVANCED", 4 x "EXPERT" and 3 x "PRO" levels, 
+ There are exactly 10 predefined levels (for now)

- The footer tells you what keys you can push when playing

+ The game now has a help screen with pagination

- As time goes by, the game will speed up, and the Beasts will also speed up

+ The pathfinding algorithm is an more advanced and efficient than the original

- There are EXPLOSIVE BLOCKS

+ There is a logo at the top

Contributing

If you want to contribute to this project, please create a pull request and make sure you make the tests pass and run cargo fmt.

Test

All tests are run via cargo test and are extensively documented.

Release History

  • 1.0.0 - First rust release

License

Copyright (c) Dominik Wilkowski. Licensed under the GNU GPLv3.