# Programming Learning Path

This section will teach the language Rivals uses.

For many, this is the modder's first adventure into programming. Welcome!

Programming may seem confusing at first, as your code doesn't behave as you expect. As you gain comfort, you'll find you can make all sorts of things. It will feel less bewildering and more like being a wizard.

A program is a series of instructions for the computer to follow, a bit like a recipe. Writing a program is a lot like figuring out how to explain something in simple terms that the computer can understand.

The first challenge is learning what those terms are, so you can write code that does what you want.

Once you can do that, the focus is making your explanation simpler, with readable and organized code. Good practices will let you work faster, run into fewer problems, and make changes more easily later on.

It's unimportant to understand everything right away. You can create a lot with just the basics, and expand into more complex features as you need them.

It is important to understand any code you're using in your character's abilities. Trying to copy code that you don't understand will make your life much harder later, when you don't understand why things are going wrong. Learn first.

Have a character running and be able to edit code (see quickstart), and write code in init.gml to run it once, or update.gml to run it every frame. Remember to press 'f5' to reload your changes.

This guide will include small code examples. Try the samples in game, and try editing them to see what your changes do.

Follow the next arrows at the bottom right to read in the recommended order. The guide builds naturally, while covering the most useful concepts first.