A NEW AND IMPROVED VERSION IS OUT! https://scratch.mit.edu/projects/413738046 Use your mobile device as a controller for Scratch projects! (Or any device, really.) Be one of the first to try this pioneering technology! Yes, it does work. If it doesn't work for you, make sure you follow the instructions in the Connection Instructions section below, then try going through the Troubleshooting section. THIS DOES NOT CONNECT TO REAL CONTROLLERS! The controller is entirely virtual. If you enjoy the project, ♥ and/or ★ to show your appreciation! :) What the Community is Loving on 8/12/19! :D 5000 views on 9/2/19! ((( FEATURES ))) > Easily integrates into any project (scroll down and read "How to Use in Your Own Projects") > Up to 256 people can be connected at the same time > It's easy to connect -- just open 2 different tabs of the same project > Choose from 4 different controllers -- Joy-Cons, Gamepad, Classic, and Keyboard > Smart buttons allow you to press more than one button at a time ((( CONNECTING INSTRUCTIONS ))) NOTE: In order for this to work, you NEED to have the Scratcher status on your account. 1) On your display device, open CloudConnect and select "Display". 2) On your controller device, open CloudConnect and select "Controller". 3) Select a controller type. Note: The keyboard option is not supported on mobile unless you attach a physical one. Once the two devices connect, voilà! You can now use your mobile device as a controller for Scratch projects! ((( MINIGAME INSTRUCTIONS ))) If you ARE connected, move the left joystick left or right to rotate the cannon clockwise or counterclockwise, and use the A button to launch a cannonball! If you AREN'T connected, use the mouse instead. ((( TROUBLESHOOTING ))) > It's taking forever to connect Try restarting and/or reloading the project on one or both of the devices. Also, double check that: - you are signed in to the same account on both devices - your account has the "Scratcher" status (you can see this on your profile page) > I'm following the instructions but keep getting errors Your computer might be too overloaded. Try limiting the amount of programs and tabs that you have open, restarting your browser, restarting your computer, and, if possible, switching devices. Also, your firewall might be restricting cloud connection speeds. Ask the person in charge of your computer if your firewall allows outgoing connections to TCP port 531 and TCP port 843. > The controls are laggy If possible, try using different devices. Input lag may be greater than usual due to one or both of the devices having a slow computing speed. > The control updates are choppy Scratch's cloud variables can only handle 1 update every 0.1 seconds (total), so CloudConnect is already pushing Scratch to its limits. Try researching how to connect a real controller to your computer if you want a better gameplay experience. ((( UPDATE LOG ))) > Updated minigame (7/28/20) - finally added better controls for that annoying cannon! > 1.0.1 (8/17/19) - added auto server cleaning > 1.0 - released 8/5/19 - Theme: clean, modern, dark with neon-blue - Visuals: fancy animations, clean + simple graphics - User Experience: automated device search - Engine: highly efficient port system - Special Notes: This is the current version in place. ((( HOW TO USE IN YOUR OWN PROJECTS ))) CloudConnect is just ONE sprite and is therefore not hard to set up: 1) Create 8 cloud variables named "Ports", "Username Request", "Buttons ABXY", "Buttons Back + Menu", "Buttons D-Pad", "Buttons Joystick Left 1", "Buttons Joystick Left 2", and "Buttons Joystick Left 3". Be extremely careful to not misspell the names. I recommend copying and pasting them from here. 2) Drag the CloudConnect sprite into your backpack and put it into your project. (CloudConnect 1.0.1 is the latest version.) 3) Export the LWC_Code list and import it into your project. 4) In the CloudConnect sprite, scroll down to the My Blocks section of the blocks palette and click the "*DEV* Reset Ports" block. 5) Link CloudConnect to your main project: > Simply use the broadcast titled "CloudConnect" to activate the CloudConnect interface. Additionally, the "Connected?" variable will report if another device is connected (1) or not (0), and the "Mode" variable will report what mode the device is in (Display or Controller). > Use the variables prefaced with "Button" to detect if a button is being pressed (1) or not (0). > Optionally, have your game pause when a device is disconnected by using the Pause broadcast or Pause variable. > Give credit! It took an entire year to get CloudConnect where it is today. (That, and it's required by the Community Guidelines.) ((( CREDITS ))) All art and coding by me, except for the following: - Nintendo Switch logo (by Nintendo) - Wii U GamePad (by Nintendo) - Various assets from the Scratch sound library The Joy-Cons and Wii U GamePad are copyrighted and solely owned by Nintendo.