Change Log

v1.5.6 (2021-04-22)

- describe the game documentation:
  - contents:
    - summary;
  - translations:
    - in English;
    - in Russian;
- re-sort the game documentation.

v1.5.5 (2021-04-08)

- misc. improvements:
  - adding the configuration of the [makelove](https://github.com/pfirsich/makelove) tool:
    - supporting the building of the game for the following platforms:
      - Windows;
      - macOS;
      - Linux (via the [AppImage](https://appimage.org/) format).

v1.5.4 (2021-04-08)

- describe the game documentation:
  - contents:
    - controls;
    - gameplay;
  - translations:
    - in English;
    - in Russian;
  - misc.:
    - screenshot;
    - linked table of contents.

v1.5.3 (2021-02-01)

- fixing the description of running the game;
- describing for releases:
  - features;
  - change log.

v1.5.2 (2020-12-02)

- game stats:
  - autodetecting an initial minimum of a move count based on a count of stones;
- initialization:
  - creating a stone grid:
    - increasing a size of stones;
    - storing a count of stones in a game configuration:
      - loading from a JSON file;
      - validation via the JSON Schema.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- game stats:
  - metrics:
    - current move count;
    - minimal move count;
  - autodetecting an initial minimum of a move count based on a count of stones;
  - storing in the [FlatDB](https://github.com/uleelx/FlatDB) database;
- initialization:
  - creating a game field frame:
    - based on a window size;
    - splitting a bottom border for destroying stones;
  - creating a stone grid:
    - based on a window size;
    - storing a count of stones in a game configuration:
      - loading from a JSON file;
      - validation via the JSON Schema;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
  - drawing a reset button:
    - based on a window size;
  - drawing game stats:
    - based on a window size;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones;
    - destroying stones below a bottom limit;
  - restarting a game session:
    - cases:
      - on destroying all stones;
      - on resizing a window;
      - by a reset button;
    - automatical actions:
      - resetting game stats;
      - saving game stats:
        - if there are changes only;
  - resizing a window:
    - recreating:
      - game field frame;
      - stone grid;
      - joins between stone pairs.

v1.5.1 (2020-12-01)

- adding:
  - assertions for function parameters;
  - docs:
    - generating docs;
    - describing docs for entities:
      - functions;
      - classes.

v1.5 (2020-11-22)

- initialization:
  - creating a game field frame:
    - decreasing a thickness of borders;
    - splitting a bottom border for destroying stones:
      - calculation of a gap in a bottom border on a size of stones;
- drawing:
  - drawing a reset button:
    - fixing a position of the reset button;
  - drawing game stats:
    - fixing a position of the stats labels;
- operations:
  - moving stones via drag control:
    - destroying stones below a bottom limit:
      - increasing an area of destroying stones;
  - restarting a game session:
    - on resizing a window;
  - resizing a window:
    - recreating:
      - game field frame;
      - stone grid;
      - joins between stone pairs;
- misc. improvements:
  - fixing initialization of require paths;
  - adding the [LÖVE configuration](https://love2d.org/wiki/Config_Files):
    - game window:
      - resizable mode;
      - title;
      - size:
        - minimal;
        - default;
    - [MSAA](https://en.wikipedia.org/wiki/Multisample_anti-aliasing) tuning;
    - save directory for a game;
  - using the fullscreen mode:
    - on a mobile OS only.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- game stats:
  - metrics:
    - current move count;
    - minimal move count;
  - storing in the [FlatDB](https://github.com/uleelx/FlatDB) database;
- initialization:
  - creating a game field frame:
    - based on a window size;
    - splitting a bottom border for destroying stones;
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
  - drawing a reset button:
    - based on a window size;
  - drawing game stats:
    - based on a window size;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones;
    - destroying stones below a bottom limit;
  - restarting a game session:
    - cases:
      - on destroying all stones;
      - on resizing a window;
      - by a reset button;
    - automatical actions:
      - resetting game stats;
      - saving game stats:
        - if there are changes only;
  - resizing a window:
    - recreating:
      - game field frame;
      - stone grid;
      - joins between stone pairs.

v1.4 (2020-11-20)

- initialization:
  - creating a stone grid:
    - setting size of stones based on their count;
- operations:
  - moving stones via drag control:
    - destroying stones below a bottom limit:
      - destroying all dragged stones simultaneously;
- refactoring.

v1.3 (2020-11-15)

- game stats:
  - metrics:
    - current move count;
    - minimal move count;
  - storing in the [FlatDB](https://github.com/uleelx/FlatDB) database;
- drawing:
  - drawing a reset button:
    - based on a window size:
      - calculation of a font size based on a screen height;
  - drawing game stats:
    - based on a window size;
- operations:
  - restarting a game session:
    - automatical actions:
      - resetting game stats;
      - saving game stats:
        - if there are changes only.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- game stats:
  - metrics:
    - current move count;
    - minimal move count;
  - storing in the [FlatDB](https://github.com/uleelx/FlatDB) database;
- initialization:
  - creating a game field frame:
    - based on a window size;
    - splitting a bottom border for destroying stones;
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
  - drawing a reset button:
    - based on a window size;
  - drawing game stats:
    - based on a window size;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones;
    - destroying stones below a bottom limit;
  - restarting a game session:
    - cases:
      - on destroying all stones;
      - by a reset button;
    - automatical actions:
      - resetting game stats;
      - saving game stats:
        - if there are changes only.

v1.2 (2020-11-11)

- drawing:
  - drawing a reset button:
    - based on a window size;
- operations:
  - restarting a game session:
    - on destroying all stones;
    - by a reset button.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- initialization:
  - creating a game field frame:
    - based on a window size;
    - splitting a bottom border for destroying stones;
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
  - drawing a reset button:
    - based on a window size;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones;
    - destroying stones below a bottom limit;
  - restarting a game session:
    - on destroying all stones;
    - by a reset button.

v1.1 (2020-11-09)

- initialization:
  - creating a game field frame:
    - splitting a bottom border for destroying stones;
- operations:
  - moving stones via drag control:
    - destroying stones below a bottom limit.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- initialization:
  - creating a game field frame:
    - based on a window size;
    - splitting a bottom border for destroying stones;
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones;
    - destroying stones below a bottom limit.

v1.0 (2020-11-07)

- initialization:
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - random shuffling of joins;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones.

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- initialization:
  - creating a game field frame:
    - based on a window size;
  - creating a stone grid:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
    - random shuffling of joins;
- drawing:
  - drawing physics entities:
    - drawing join edges;
- operations:
  - moving stones via drag control:
    - selecting a stone closest to a cursor;
    - freezing all stones except dragged ones.

v1.0-alpha (2020-11-06)

Features

- physics entities:
  - static:
    - game field frame;
  - dynamic:
    - stones;
    - joins:
      - joins between stone pairs:
        - rope joint (it restricts a maximal distance only);
      - join for drag control:
        - mouse joint (it moves a stone to a cursor);
        - support of touches;
- initialization:
  - creating a game field frame:
    - based on a window size;
  - creating joins between stone pairs:
    - automatically when creating stones;
- drawing:
  - drawing physics entities:
    - drawing join edges;
- operations:
  - moving stones via drag control.
generated by LDoc 1.5.0 Last updated 2025-08-29 19:58:28