GithubHelp home page GithubHelp logo

epickitten / snowball-thrower Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bertrandom/snowball-thrower

0.0 1.0 0.0 101 KB

Automated snowball throwing to guarantee strikes in The Legend of Zelda: Breath of the Wild

Home Page: https://medium.com/@bertrandom/automating-zelda-3b37127e24c8

License: Other

C++ 5.08% C 80.01% Python 11.15% Makefile 3.76%

snowball-thrower's Introduction

snowball thrower

Automatically throws snowballs in The Legend of Zelda: Breath of the Wild by emulating a controller on a Teensy++ v2.0

IMAGE ALT TEXT HERE

A full writeup is here.

How to use

Walk up to Pondo until the (A) Talk option is available and plug in the controller. It will automatically sync with the console, initiate the bowling game with Pondo, throw a perfect strike, and end the bowling game. It will play the bowling game in a loop.

Note that due to certain weather conditions, Link will sometimes fail to throw a strike, causing the game to enter into a mode where Link has to throw again. Thanks to a change by exsilium, the loop will recover from this, given enough time. I've tested this running for over 24 hours.

In case you see issues with controller conflicts while in docked mode, try using a USB-C to USB-A adapter in handheld mode. In dock mode, changes in the HDMI connection will briefly make the Switch not respond to incoming USB commands, skipping parts of the sequence. These changes may include turning off the TV, or switching the HDMI input. (Switching to the internal tuner will be OK, if this doesn't trigger a change in the HDMI input.)

This repository has been tested using a Teensy 2.0++.

Compiling and Flashing onto the Teensy 2.0++

Go to the Teensy website and download/install the Teensy Loader application. For Linux, follow their instructions for installing the GCC Compiler and Tools. For Windows, you will need the latest AVR toolchain from the Atmel site. See this issue and this thread on GBAtemp for more information. (Note for Mac users - the AVR MacPack is now called AVR CrossPack. If that does not work, you can try installing avr-gcc with brew.)

LUFA has been included as a git submodule, so cloning the repo like this:

git clone --recursive [email protected]:bertrandom/snowball-thrower.git

will put LUFA in the right directory.

Now you should be ready to rock. Open a terminal window in the snowball-thrower directory, type make, and hit enter to compile. If all goes well, the printout in the terminal will let you know it finished the build! Follow the directions on flashing Joystick.hex onto your Teensy, which can be found page where you downloaded the Teensy Loader application.

Thanks

Thanks to Shiny Quagsire for his Splatoon post printer and progmem for his original discovery.

Thanks to exsilium for improving the command structure, optimizing the waiting times, and handling the failure scenarios. It can now run indefinitely!

snowball-thrower's People

Contributors

exsilium avatar shinyquagsire23 avatar vjapolitzer avatar bertrandom avatar retropotenza avatar progmem avatar lightningstalker avatar blinkystitt avatar jensechu avatar lixivial avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.