PWM Simulator, v1.5
Posted on

2D puzzle game for Android inspired by pulse-width modulation and various side-scrolling games.
Store the game stats in the FlatDB database, store the game configuration in a JSON file, and support resizing of the game window.
Change Log
- plots:
- configuration:
- options:
- speed of motion of the plots;
- amount of plot points per screen;
- coefficients:
- of updation of the random plot;
- of updation of the custom plot:
- in the inactive mode;
- in the active mode;
- options:
- configuration:
- game stats:
- truncation of indexes to integers when defining the distance type;
- storing the game stats in the FlatDB database:
- regular saving with a certain period;
- configuration:
- options:
- amount of points per screen for checking the distance between the random and custom plots;
- limits of the distance between the random and custom plots:
- soft limit;
- hard limit;
- period of saving of the game stats;
- options:
- drawing:
- drawing of a type of distance between the random and custom plots:
- truncation of indexes to integers when defining the distance type;
- drawing of the game stats:
- dynamic width of the stats labels:
- correction of the coefficients of widths of the stats labels;
- dynamic width of the stats labels:
- drawing of a type of distance between the random and custom plots:
- game configuration:
- loading from a JSON file;
- validation via the JSON Schema;
- misc. improvements:
- adding the LÖVE configuration:
- game window:
- resizable mode;
- title;
- size:
- minimal;
- default;
- MSAA tuning;
- save directory for a game.
- game window:
- adding the LÖVE configuration:
Features
- plots:
- they display functions of time (as in an oscilloscope);
- they are initially initialized by the average value over the entire length;
- random plot:
- it is updated with a random shift from the last value;
- it takes up three-quarters of the screen width;
- custom plot:
- it is updated with a custom shift from the last value:
- custom shift can be positive (the plot grows);
- custom shift can be negative (the plot shrinks);
- it takes up half of the screen width;
- it is updated with a custom shift from the last value:
- custom source plot:
- it is updated by either the minimal or maximal value;
- it takes up half of the screen width;
- configuration:
- options:
- speed of motion of the plots;
- amount of plot points per screen;
- coefficients:
- of updation of the random plot;
- of updation of the custom plot:
- in the inactive mode;
- in the active mode;
- options:
- game stats:
- metrics:
- percentage of time when the distance between the random and custom plots was normal;
- percentage of time when the distance between the random and custom plots fit within the soft limit;
- percentage of time when the distance between the random and custom plots fit within the hard limit;
- types:
- current;
- best;
- storing the game stats in the FlatDB database:
- regular saving with a certain period;
- configuration:
- options:
- amount of points per screen for checking the distance between the random and custom plots;
- limits of the distance between the random and custom plots:
- soft limit;
- hard limit;
- period of saving of the game stats;
- options:
- metrics:
- pause mode:
- stopping of updating:
- of the plots;
- of the game stats;
- stopping of updating:
- drawing:
- drawing of plot boundaries;
- drawing of plots;
- drawing of a type of distance between the random and custom plots:
- normal distance;
- distance that fits within the soft limit;
- distance that fits within the hard limit;
- drawing of the game stats:
- dynamic width of the stats labels:
- width is selected by the maximum of the current and best values;
- delay of updating of the best stats:
- update starts only after all initial values of the custom plot have left the screen;
- dynamic width of the stats labels:
- drawing of the pause mode;
- support of resizing of the game window;
- game configuration:
- loading from a JSON file;
- validation via the JSON Schema.
Repository
Link: https://github.com/thewizardplusplus/pwm-simulator/tree/v1.5.
Content: code.
License: MIT.
Screenshots
Game window
