Tangled Stones, v1.5
Posted on

2D puzzle game for Android inspired by various games about tangled webs.
Support the resizable mode on desktops, use the fullscreen mode on mobile OSes, improve creating of a game field frame, and improve destroying of stones below a bottom limit of a game field frame.
Change Log
- 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;
- creating a game field frame:
- drawing:
- drawing a reset button:
- fixing a position of the reset button;
- drawing game stats:
- fixing a position of the stats labels;
- drawing a reset button:
- operations:
- moving stones via drag control:
- destroying stones below a bottom limit:
- increasing an area of destroying stones;
- destroying stones below a bottom limit:
- restarting a game session:
- on resizing a window;
- resizing a window:
- recreating:
- game field frame;
- stone grid;
- joins between stone pairs;
- recreating:
- moving stones via drag control:
- misc. improvements:
- fixing initialization of require paths;
- adding the LÖVE configuration:
- game window:
- resizable mode;
- title;
- size:
- minimal;
- default;
- MSAA tuning;
- save directory for a game;
- game window:
- 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;
- joins between stone pairs:
- static:
- game stats:
- metrics:
- current move count;
- minimal move count;
- storing in the FlatDB database;
- metrics:
- 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;
- creating a game field frame:
- drawing:
- drawing physics entities:
- drawing join edges;
- drawing a reset button:
- based on a window size;
- drawing game stats:
- based on a window size;
- drawing physics entities:
- 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;
- cases:
- resizing a window:
- recreating:
- game field frame;
- stone grid;
- joins between stone pairs.
- recreating:
- moving stones via drag control:
Repository
Link: https://github.com/thewizardplusplus/tangled-stones/tree/v1.5.
Content: code.
License: MIT.