Biohazard

doc:build doc:link lint

2D puzzle game for Android inspired by Conway's Game of Life and various block games.

Disclaimer: this game was written directly on an Android smartphone with the QLua IDE and the LÖVE for Android app.

Features

- primary field:
  - configuration:
    - loading from a JSON file;
    - validation via the JSON Schema;
  - drawing:
    - resizable mode;
  - support of operations:
    - populating according to [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway's_Game_of_Life) rules;
- movable field part:
  - configuration:
    - loading from a JSON file;
    - validation via the JSON Schema;
  - drawing:
    - resizable mode;
    - drawing a frame around the movable field part;
    - drawing collisions with the primary field with a different color;
  - support of operations:
    - moving:
      - restricting moving by boundaries of the primary field;
    - rotation:
      - clockwise rotation only;
    - unioning with the primary field:
      - disabling unioning on collisions with the primary field;
  - controls:
    - controls via UI elements:
      - drawing:
        - resizable mode:
          - calculation of a font size based on a screen height;
      - support of touches;
    - controls via a keyboard:
      - loading a configuration of keys from a JSON file;
      - validation of a configuration of keys via the JSON Schema;
- game stats:
  - metrics:
    - current cell count;
    - minimal cell count;
  - drawing:
    - resizable mode:
      - calculation of a font size based on a screen height;
  - storing in the [FlatDB](https://github.com/uleelx/FlatDB) database:
    - saving on every turn;
    - saving if there are changes only.

Building

Clone this repository:

 $ git clone https://github.com/thewizardplusplus/biohazard.git
 $ cd biohazard

Build the game with the makelove tool:

 $ makelove ( win64 | macos | appimage )

Take the required build from the corresponding subdirectory of the created builds directory.

Running

See for details: https://love2d.org/wiki/Getting_Started#Running_Games

On the Android

Clone this repository:

 $ git clone https://github.com/thewizardplusplus/biohazard.git
 $ cd biohazard

Make a ZIP archive containing it:

 $ git archive --format zip --output biohazard.zip HEAD

Change its extension from .zip to .love:

 $ mv biohazard.zip biohazard.love

Transfer the resulting file to the Android device.

Open it with the LÖVE for Android app.

On the PC

Clone this repository:

 $ git clone https://github.com/thewizardplusplus/biohazard.git
 $ cd biohazard

Then run the game with the LÖVE engine:

 $ love .

Documentation

- Table of Contents ([EN](docs/README.md) / [RU](docs/README_ru.md)):
  - Summary ([EN](docs/summary.md) / [RU](docs/summary_ru.md))
  - Gameplay ([EN](docs/gameplay.md) / [RU](docs/gameplay_ru.md))
  - Controls ([EN](docs/controls.md) / [RU](docs/controls_ru.md))

License

The MIT License (MIT)

Copyright © 2020-2021 thewizardplusplus

generated by LDoc 1.5.0 Last updated 2025-02-02 05:48:05