Welcome to constant motion, a collection of endless runners where you never stop until you drop!

Each section of this readme begins with two plus signs (++) for easier navigation.

++Introduction and features:
Constant motion is a growing collection of small but addicting minigames with the one rule that you always have little to no control over the character's movement. These games could be anything ranging from the somewhat realistic to the outright absurd, but all of them provide a unique challenge.
The game boasts the following qualities and features:
* 14 minigames with more being added, from simple to complex. If you feel you have mastered one, theres always another to learn!
* A free trial including the first 5 games.
* 3d HRTF audio with other environmental effects coming soon to make the auditory experience more enjoyable.
*Translation: the game is currently available in 12 languages, with more easily available upon request. Find an error in an existing translation? It can be easily fixed as well.
* Easy to learn with all games self-documented including textual instructions and a learn game sounds menu.
* Statistics for all games allowing you to track your progress and set personal goals, including the ability to see details of all previous game plays.
* Individual online scoreboards for each game.
* Customizability: the game is highly configurable, from the ability to adjust things like the post-game sequence to the ability to set audio output and speech preferences.
* 3 device slots come with your initial purchase, with more slots purchasable for just $5.00 USD.
* Notifications tell you when updates are available, with the ability to check manually as well.
* Lifetime support with your game purchase, including an option to submit bug reports or feedback directly in the game.
* Available so far on Windows, Mac OS, Linux and Android!

++Pricing:
Constant motion currently costs $17.99. Five out of the fourteen games are available as a free trial and can be played at any time. Your purchase entitles you to up to 20 games, meaning that you will get to play the next 6 games for free as they are developed. If constant motion is developed beyond 20 games, the price will rise to $19.99 and anyone who had already purchased the game will be able to unlock the future games with a one-time $2.00 upgrade.

++System Requirements:
The game currently runs on any modern version of windows (tested at least windows 10), Android (tested at least 12), any modern arch/debean based Linux environment with a user interface and speech dispatcher (least tested at this time), and MacOS 14 or later. IOS support is planned for the future. 
You should be good to go if your system meats the following requirements: 
*4gb of ram
*at least a 4 core CPU
*Windows 10 or later, Android 12 or later, or MacOS 14 or later.
*100mb of available disk space.
Note: the game may work on machines that do not satisfy these requirements, but this has not been tested.

++common controls:
Most of the game is either self-documented in the form of game instructions and the learn game sounds menus, or else it uses only a few standard keystrokes and/or controls that will be described here.
*Text popouts are small, repeatable messages that usually contain some sort of status update, error message or other piece of information you might not want to miss. When one is opened, you can press any of the 4 arrow keys to repeat the message, and then enter or escape to dismiss it. These have no sounds associated with them, but you can tell when one is open if repeated presses of the arrow keys cause the same text to be spoken over again. When using a touch screen, you can swipe in any direction to repeat text and double tap to dismiss the dialog.
*Menus allow you to select from a list of choices, and are navigated with the up and down arrow keys. In the vast majority of menus, you'll hear a click sound as you arrow through choices to indicate that you are in a menu. You can press enter to select an option, or escape to back out of the menu without selecting anything. If the menu has music, you can press page up and down to adjust the music's volume. With a touch screen, you can navigate the menu by swiping up or down with one finger, double tapping any item to activate it, and swiping with 4 fingers left or right to adjust the music volume. If you are using a mobile device with a back button, you can press it to exit the menu similar to selecting it's "Go back" option.
*Occasionally, you might see an input box. These are real operating system text input controls that are navigated with a screen reader. They are typically only used when logging into your Sam Tupy Productions account or setting a custom nickname for scoreboard posting. If a screen reader isn't running when one of these appears, a text to speech message will warn you to enable a screen reader to fill out the text field.

++First Launch:
The game can be launched by running the cm.exe file or by clicking on the installed app depending on platform. When it starts for the first time, you will be asked to select the language to use. This is the first example of a menu as described above. Once you've selected your language, you will be shown another menu asking if you wish to register/purchase the game or continue in trial mode. Though the language setting will save, the question about registration will appear every time you launch the game until it is fully registered. After you are asked to register the game, you'll be in the main menu!

++Main Menu:
The main menu contains the following options:
*Play a game; Select any available game from a list and play it.
*View statistics; View a list of general statistics gathered from all games.
*Speaker test; Insure your headphones are on properly.
*Options; Configure various game preferences (described below).
*Help; A menu containing a very brief summary of global keyboard shortcuts, gestures, and any other information considered to be critical to the gaming experience. If you are reading this document, you will already know everything this help menu contains as much of the menu is constructed from bits of this readme.
*Exit; You don't want to do that now do you?

++Options menu:
The options menu contains various settings you can configure to make your experience more to your liking. The settings include:
*Change language; Select a different language that the game should output text in.
*Configure postgame sequence; Control how the game should respond when any game has finished, including options such as configuring the post-game stat display as well as what questions appear and what actions automatically get executed when a game has finished.
*Toggle menu wrapping; Controls whether menus will wrap to the top or bottom when you hit there edges.
*Toggle screen reader speech; Switch between your screen reader and system speech such as AVSpeech or Sapi.
*Select system voice to speak with; Only appears when screen reader speech is disabled, allows you to select which system voice to use. In the menu that appears when this option is selected, you can also press left and right arrows to select your desired speech rate.
*Select preferred screen orientation; Only appearing on mobile devices or where a touch screen is available, this option lets you explicitly chooze what screen orientation works best for your device and situation - including the ability to use the system default.
*Select audio output device; Choose what output device the game should send it's sounds through (not yet available for MacOS).
*Clear data and statistics for all games; Careful! This option virtually resets your save file barring a few global configuration options. You will be asked to confirm this irreversible decision.
*Log into a Sam Tupy Productions account or Deactivate registration (frees available device slot); Lets you log in or out of your Sam Tupy Productions account to activate or deactivate the game. This is one of the few places that an input box might appear. The text of the menu option will change based on whether you are logged in or out.
*Check for updates; Lets you find out if there is a new version of the game available.
*Submit a bug report or feedback (opens in your web browser); Opens a web contact form that lets you contact the developer with any issues or feedback you might have regarding the game.
*Go back; Returns you to the main menu where you can do something more fun than configuring the game.

++Game menu:
After selecting a game to play from the main menu's play a game option, you will be presented with a menu containing the following options:
*Play; Start the game.
*Instructions; Display the game instructions in a menu.
*Learn game sounds; Allows you to review important sounds used in this game.
*View game summaries; Displays a list of all previous plays of this game in your save file.
*View statistics; Display a menu containing combined statistics gathered from all previous plays of this game.
*Clear all data and statistics for this game; Deletes the records for all previous plays of this game from your save file. You'll be asked if you're sure before proceeding as this cannot be undone!
*Configure postgame sequence for this game; Configures how Constant Motion responds when specifically the game you've selected has finished.
*View online scoreboard for this game; If the game is registered, displays the online scoreboard with the ability to load as many scores as you wish to see.
*Post most recent score to scoreboard; If you chose not to post your most recent score after finishing a game, allows you to change your mind and post it.
*Go back; Select another game to play.

++Game play screen:
To learn how to play each game, you'll need to read the instructions for that game. However, there are some keys and gestures that work globally across all games, such as those that let you check your score and time. When any game is in progress, you can press:
*s or 4 finger swipe up to check your score,
*t or 4 finger swipe up to check the time elapsed,
*p or 4 finger double tap to pause or resume the game,
*f1 to listen to the game instructions (hold shift to guarantee theyre shown in a menu and review these in the pause menu with a touch screen),
*Page up/down or four-finger swipe left/right to adjust the music volume,
*f2 to toggle the HRTF support (3d audio), do this in the pause menu with a touch screen.
When a game is paused, you can press the arrow keys or swipe up or down with a finger on a touch screen to navigate a menu showing your statistics as they stand. You can abort or resume the game by pressing enter or double tapping on any actionable menu options.
In games that allow you to move side to side while you are automatically running forward, it is worth noting that your side to side movement only takes place with each forward step. In other words in gate buttins for example when you hold in left arrow, your character will not immedietly move left. Instead, the character will move one step to the left the next time it automatically runs forward so long as the left arrow key is held down at that time. This applies for any game that provides movement in a perpondicular direction to that in which the character is automatically being moved.

++Game list:
You have now learned all you need to play Constant Motion that can't be picked up from the game's built-in instructions. So with all that out of the way, the following is a list of the instructions for all available games! Note that this document shows the keyboard instructions, you can review the touch gestures for each game on a device with a touch screen in the builtin game instruction's menu.
1, Avoid the Arrows: Run forward and avoid the archers intent on finishing you off with their arrows! You will hear an arrow launch from either the left, the center or the right. Hold in the arrow key needed to set your shield in that position to block the incoming arrow.
2, Endless Cave: You are running through a very dangerous cave that seems to have no end! Press the up arrow key to jump over pits, hold in the down arrow key to duck under the lethal bats, and when you are near a rock, press enter to destroy it before you run into it and fall flat on your face. Just a hint, it may be a good idea to jump over pits when you are right on the edge of them, rather than when you hear the first gravel footsteps. Also, it is worth noting that you can only duck for a little over a second at a time, so you will need to time it correctly when avoiding bats!
3, BoulderRoad: You are running forward on a narrow road that slopes. Large boulders are constantly rolling towards you, and you must move out of the way with the left or right arrow keys to avoid them! Also, however, you must avoid the large stationary bricks dotting the road. These bricks can sometimes be several tiles wide, but they are not all bad as boulders will smash into them if they encounter one. A hint from the developer though... boulders just kind of have this tendency to sometimes spawn right in front of you, just to make this fun.
4, Zigzag: What kind of sick experiment is this! It appears you're now little more than a lab rat in function, being forced to run through this narrow maze of electrical fences where one misstep will mean your rather instant demise. The fences are laid out in rectangles with gaps between them appearing intermittently on either side of you, meaning you must use your left and right arrows to navigate through the gaps to keep moving forward while avoiding even slight contact with any of the fences. If you fail to recognize and follow an opening, you will run face first into the fence in front of you, and can turn into a pile of ash with the sure knowledge that you've given whoever set up this mess one sparktacular light show indeed!
5, Electrified Acid: Oh no, the messed up experiments continue! You are running through an endless sort of arena filled with puddles of unbelievably concentrated acid, walled in by a rather familiar sequence of zigzagging electric fences. As you are running forward, use the left and right arrow keys to avoid the bubbling puddles while making your way through the maze. If you make even a little bit of contact with the acid, nothing will remain of you but a lot of nasty smoke. Also, if you favor not turning into an overdone mcnugget, you probably don't want to walk too close to the electrified fences which you will need to navigate around. By electrified, try a few hundred thousand volts. You won't survive a nanosecond if you come in contact with the fences. Hmmm... I wonder what would do you in quicker? the acid or the fences. Anyway, good luck!
6, Fire Escape: Time for a classic arrow mashing game. A fire is rapidly approaching from the left. You will automatically run away from it, but not fast enough. So mash that right arrow key as fast as you can and lets see how long you can last! Also, just a very helpful hint, you can also mash the spacebar. So if you can mash the spacebar and the right arrow key at the same time, you can get going pretty fast.
7, Gatebuttons: You are running forward on a concrete lot separated by a seemingly endless amount of closed gates. Scattered randomly all over the lot are buttons. In order to open the gate ahead, you need to press all of the buttons by centering them with the arrow keys and walking over them. If you fail to press one of the buttons by the time you reach the gate, it will remain closed and you will slam into it causing the game to end. Of course, you will also need to avoid the bricks dotting the lot, but these are usually on its edge, so if you don't stray away from the buttons, you should be OK. You do have 1 thing going for you though. Every 30 seconds, you are able to press the enter key to teleport back about 10 tiles. Use this wisely! Every time you teleport, your score will drop! If you want to save time with the cost of increased risk, you can hold down the space bar at any time to move twice as fast as normal.
8, Spellshield: Do you remember avoid the arrows? Well, now it's time to play avoid the spells! You must run along the path, blocking the different elemental spells that are being fired at you. The different spells are fire, ice and water. You need to cast the opposite elemental spell to act as a shield. Spells will come from the left, the middle and the right. When you hear a spell, you must first hold in either control for fire, shift for ice or alt for water, then press the left, up or right arrow keys respectively to cast the spell you've selected. Remember, you need to cast the opposite of whatever spell is being cast against you. If an ice spell is cast, you need to cast a fire spell to melt it. If a fire spell is cast, cast a water spell to put it out. And if a water spell is cast, cast an ice spell to act as a barrier between you and the water. Be sure to hold in only one spell selector key at once when casting, doing otherwise such as by holding in control + shift was always discouraged in your magic lessons for some reason you're too busy fleeing to remember. Good luck!
9, Scuba Diving Gone Wrong: Your decision to test new state of the art scuba gear may have been the worst one you ever made! This equipment was designed to be very portable. Small thrusters propel you easily through the water, and you have constant air to breathe. Unfortunately, the thruster on your back, thus the one that makes you move forward, has ceased to function properly, and you can't figure out how to turn it off! As a result, you are constantly forced to move forward! The test involved you moving around a very large wheel shaped object that had obstacles you were supposed to avoid. There are spare tanks all over the place to keep a constant supply of gases to keep you alive and to keep you moving. But there are also wires above your head that stop TNT charges from blowing up and thus killing you, thus you need to duck under these with the down arrow key so you don't run into them and break the circuit. Of course that isn't all, next are long drains under you that are large enough to suck you down into them if you don't use the up arrow key to perform something similar to a jump with a thruster under your feet, and then there are large brick walls that you need to move left or right around so you don't faceplant into them. Your gear comes with a sonar, so whenever a wall is found in front of you, you will hear a beeping noise somewhere in the stereo field, which represents the wall's center of mass. You will want to learn to recognize this sound because it will surely mean the difference between life and death when dealing with walls.  Of course when the test was devised, you were supposed to be able to stop moving, making it much easier than it will be now! However, you then have to deal with the supply of gas you have. There are 2 types of tanks, nitrogen tanks which both provide pressure and allow the thrusters of your gear to work, and oxygen tanks which you of course need to not die. Just center a tank to automatically pick it up when you run into it. You can press n or o to see how much of each gas you have. If you run out of either, the game ends and you will suffocate or become permanently trapped underwater!
10, Constant Christmas: Oh no, Santa has a problem, and, unfortunately, you're Santa! A team of bats have escaped from the endless cave and have crashed into your sleigh while you were in the air over a house delivering Christmas gifts, scattering your load of presents far and wide! It's already taken you long enough to calm the reindeer down enough to continue the journey, and so now you must hurry! You must collect your scattered load of presents as you sleigh along by centering them with your arrow keys before you pass them, while avoiding obstacles like trees, commercial buildings, muddy areas and belltowers. You can press g to check how many gifts you are carrying. When you hear a residential household, you must press space to command the reindeer to make the sleigh jump high into the air, holding in space the higher you want to jump. When you're above the house (represented by its pitch increasing), begin pressing enter to deliver gifts to that house. For each gift dropped, a small bling sound will play at an increasing pitch to indicate delivery progress to that house, and a much more aggressive bling sound will play when you've delivered enough gifts there. Increasingly large bonuses are scored the more accurately you deliver the gifts, and points are lost if you lose gifts by dropping them far to the ground below by missing the house you are aiming for or by dropping off more gifts than are required at any given house. Be careful not to jump too far behind a house, as your sleigh is no longer equipped to land on them due to those wretched bats and it's thus game over if you make contact! Commercial buildings can similarly be jumped, but no gifts are ever delivered to them. Belltowers are too tall to be jumped and so must be navigated around, but unfortunately these are where a great many of your lost gifts seem to have collected for some reason. Trees can sometimes be jumped if they are short enough, but they are also much more narrow objects that can be skirted more easily than other obstacles. If you hear a slushy muddy sound, you must jump immediately lest your sleigh gets stuck! Oh and those bats? They're still after you, but now you've got your trusty old one shot Remington ready which you can fire at an incoming bat with the control key and reload by pressing r. Finally just encase you thought you could skip out on the gift delivery entirely, your reindeer run on joy which is derived from the successful delivery of a gift and can be checked with the j key, so you'll slow down the longer a delivery is not made and will eventually stop! Heh you thought being Santa was easy and relaxing? Dream on, buddy.
11, Defusal to the Death: You are running through a narrow passage full of active timebombs set to explode in the near future, one after another. Your only hope is to collect each bomb and disarm it before it goes off, as each one is strong enough to destroy the entire structure and kill you. To disarm a bomb, you must guess it's security code after you pick it up. Luckily the security systems on these bombs are laughably simple, with the code only consisting of 3 digits each one only from 1 to 3, and each one only appearing once. Press 1 to 3 on your keyboard after picking up a bomb to begin guessing it's security code. You can pick up multiple bombs at a time, in which case you'll disarm the oldest bomb first before moving on to the one you've most recently picked up. For a score penalty, you can press enter every so often to teleport back several squares encase you miss a bomb. Good luck!
12, Constant Cornfield Catastrophe: How in the world did this happen, your cornfield is on fire and it's probably going to take your house with it. You have no time to lose! Armed with a large bucket of water, you rush into the burning cornfield with the intent of putting out the fire before it is too late. On your left is a brick dotted stream running alongside the field which you'll refill your bucket in if you run into it, to your right is the beloved rustic home you spent long hard years building and which would probably knock you out if you ran into it at the speed you're running, in front of you is the thick healthy area of your cornfield the fire hasn't reached yet, and behind you is a solid wall of deadly fire which unfortunately closed up seconds after you ran through the opening in it to try to save your cornfield. Around you are a bunch of burning cornstalks rapidly spreading their flames to others, which you must extinguish by dumping water on by pressing enter behind one after filling your water bucket in the stream.  When you run into the stream or the healthy field in front of you, you'll automatically turn and run in the opposite direction. If you run into the house, the fire behind you, a brick, or into any of the burning cornstalks throughout the field, the game is instantly over! You can move in all 4 directions in this game by simply tapping any arrow key to direct your character to begin running in that direction. Now get going, the fire from those burning cornstalks is spreading quickly!
13, Color Collection: You are in a narrow passage, forced to run faster than you ever have before. In front of you are coins that are either red, green or blue. When you get near one, you must press either r, g or b depending on the color of the coin to store the coin in that slot. If you miss one, you can press enter every once and a while to teleport back for a second attempt at collecting it for a score penalty. Every once and a while you'll come across registers where you must drop off the coins you've collected. If you miss the register, if you have missed a coin or if you've stored a coin in the wrong slot such as by picking up a red coin by pressing the b key, the register will explode and the game will be over. Good luck! Oh. Why are you forced to run at such a speed you ask? Well someone told you that if you collected all of the coins from this dangerous passageway, there'd be a free warm yummy cheese melt waiting for you at the end. And man you're hungry! Too bad there isn't an end in sight. you're starting to wish you'd just stopped off at a seven-eleven or something...
14, Constant Destruction: In front of you are a series of high concrete walls that are blocking your progress. Since you can't stop running, you must use a combination of various items you'll be provided with along the way to destroy each wall before you run into it. Use the left and right arrow keys or tab and shift + tab to select between your available items, then press either up arrow or enter to use the item. Press space or down arrow on any item to get more information about it. Press w to hear the health of the next wall, and d to check your distance from it. Press h to check your own health. All items are strictly one-time-use no matter what. If you use a shield item while wearing a shield, your existing shield will be replaced with the new one. Unless an item works directly on your character such as a health drink or teleporter, it is intended to damage the wall and usually has the following attributes. Range, how many feet the item can be thrown before harmlessly missing the wall. Damage, how many health points are taken from the wall if the item hits it. Rolloff, how much the damage of this item is reduced per tile traveled. Splash, your character will receive increasing damage from this item the closer you are to it than this distance. When you walk through the rubble of a destroyed wall, you'll collect new items to help you destroy the next one. You can only carry up to 7 items at a time, however. So if you already have 5 items left when picking up new items, you'll only pick up 2 items. If you needed to use 6 items to destroy the last wall though, you'll pick up 6 new items when you walk through its rubble. You are equipped with a basic radar that indicates when you are less than 15 feet from a wall, when an item has hit a wall, and when an item has destroyed a wall. Both you and the wall have 100 health, however the wall is made of concrete and you are a fragile human. Therefor when you hit a wall, you will lose 2 times the wall's current health after the wall loses half of yours, and if your health reaches 0 or you run into a wall without destroying it, the game is over!

++Contact:
To contact me, you can email webmaster@samtupy.com. I am also on discord @samtupy, and have a mastodon account @samtupy@dragonscave.space.

I hope you enjoy constant motion!
