Introduction - NoodleExtensionsCommunity/How-to-Noodle GitHub Wiki

This is the part where you would usually be greeted with a starting tutorial, but I don't want to start of with a tutorial right away, I want to tell you what you need to know before going into this.

ALL OF THE TOPICS CAN BE FOUND ON THE RIGHT IN THE TABLE OF CONTENTS!

Experience

BASIC MAPPING PRACTICES NECESSARY!

If you haven't mapped before it's highly recommend that you get some experience under your belt before trying noodle maps! I would suggest taking a look at BSMG's mapping guide for a quick introduction to mapping.

For this guide you generally don't need any previous coding experience, it is however welcome as for making more advanced noodle maps, knowing how to code will increase your workflow significantly and open up more opportunities to include mind bending effects.

So, what language are we using for this tutorial? We will be using JavaScript. If you have never worked with it, don't worry! This will be beginner friendly and I will explain everything that you need to know.

Setup

Here is how you set up for your first noodle map:

  1. Install any IDE you want, for beginners I recommend using Visual Studio Code.

  2. Set up NodeJS, a tutorial for setting it up in VS Code can be found here.

  3. Pick a template that you're comfortable with here

  4. Put the template in your map folder. In visual studio code on the top left press "file" --> "open folder" and navigate to your map's folder.

  5. Done! We can now start editing the script.

Script

The script is NOT type safe, if you want to learn more about type safety, you can read about that on this link.

The StormPacer's script is a forked project from Reaxt's script. I basically made it more user friendly with comments describing what everything does and added some functions you might find useful.

The Jevk's script is a forked template from Mawntee's script. Jevk made it a bit cleaner and removed useless functions. It doesn't have any additional functions other than filterNotes(), filterDoubles(), filterWalls(), noteTrack(), noteTrackRB(), HSVtoRGB() and random().

Contributing

If you want to contribute to the tutorial, you can message me on Discord (StormPacer#2871) or open up a pull request with your contributed files.

If you find any issues within the tutorial let me know as soon as possible by opening an issue on GitHub!

All done

Well you've come to the end of the little introduction. I invite you to come and look over at the next page to start with making the scripts.