> For the complete documentation index, see [llms.txt](https://todepond.gitbook.io/spacetode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://todepond.gitbook.io/spacetode/master.md).

# Introduction

![](https://2315696797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MG5KYv9P-1vJ21xvhk_%2F-MVmFT9jtWEqC1uB7BAd%2F-MVmFWvazvAF9LCpmjWm%2FSpaceTode%400.5x.png?alt=media\&token=442bab2f-705d-461b-a947-daf6c5a0c2d8)

SpaceTode is a spatial programming language.\
I use it to make new elements in the [SandPond engine](https://github.com/l2wilson94/SandPond).\
It is heavily inspired by [SPLAT](https://github.com/DaveAckley/SPLAT/).

Its source code is here: [github.com/l2wilson94/SpaceTode](https://github.com/l2wilson94/SpaceTode/)

## What does it look like?

You draw spatial rules for atoms to follow, like this one:

```
element Sand {
    @ => _
    _    @
}
```

In this example...\
The `@` represents the sand atom.\
The `_` represents an empty space.\
So... the rule makes the sand atom fall down into any empty space.

## Try it out

The easiest way to try writing SpaceTode is by [downloading the SandPond engine](https://github.com/l2wilson94/SandPond/archive/main.zip), and then writing your code in the `CustomElements.js` file.
