Hold space to determine force and hit the ball. Select your club by dragging the wheel in the bottom left. Press P to open the pause menu, hold O to pan A fat thank-you to @4444J for playtesting and helping brainstorm ideas
Each course is procedurally generated, and rendered using pen. Some geeky stuff: The green is rendered using a sprite that goes to a set of predetermined coordinates relative to the player, using a list of Xs and a list of Ys. The sprite then draws a big dot using pen. It's because of this list-based rendering process that I'm very proud of my save-load system because the save text generated actually uses metadata. Metadata is used for anything from pictures on your phone to files on your computer. It's basically information, or data, about the file, or data, itself. This includes things like size of the file, time of creation, and so on. The first chunk of the text tells the project how many different coordinates were saved (anywhere between 32-40), the length of each set of coordinates (12 is 2 digits, 430 is 3 digits, -9 is 2 digits, etc). While this does save some space since the save file doesn't need spacers (009104380067) or separators (91,438,67), it doesn't actually serve much performance or speed benefit. There may be small advantages if you need to run this process very frequently, but for the most part it just makes for compact save files. Take a look inside the project, and you can see the monstrous load-file decryption process. This project is by far the most technically challenging and intensive thing I've ever made.