dwitter.net | #Ant

+ New dweet
`function u(t) {`
```} // 122/140 ```

Please log in (or register) to post a dweet (copy-paste the code somewhere safe to save it meanwhile)

``` u(t) is called 60 times per second. t: Elapsed time in seconds. S: Shorthand for Math.sin. C: Shorthand for Math.cos. T: Shorthand for Math.tan. R: Function that generates rgba-strings, usage ex.: R(255, 255, 255, 0.5) c: A 1920x1080 canvas. x: A 2D context for that canvas. ```
Try the new frontend: beta.dwitter.net
Current theme challenge: #ScaryMovies
show FPS hide FPS share
remix of d/19550 by u/tomxor

`function u(t) {`

```}// 128/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

show FPS hide FPS share
remix of d/21783 by u/tomxor

`function u(t) {`

```}// 140/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

• u/tomxor
Squashed each ant into a 16bit bit field, `[X,Y,D] = 0b 111111 111111 0111`. These ants were generated with: `X=7,Y=7,D=0,[[-X,-Y,3+D],[+Y,-X,2+D],[+X,+Y,1+D],[-Y,+X,0+D]].map(([X,Y,D])=>X+60<<10|Y+32<<4|D%4<<0)`
• u/mark1626
This is incredible. Just one question, how does `s = u[a >> 4] ^= 1` work?
• u/tomxor
Thanks :) `a>>4` is the cell index of a 64x64 grid. the lower 4 bits are for the ant's direction so shifting them off to the right leaves only the 12 X and Y bits (see above). `u` is just an object, so all of these indicies will be undefined initially, but undefined is falsey and bitwise operators coerce falsey into 0, i.e `undefined ^ 1 == 0 ^ 1 == 1`, in otherwords XOR just treats all of the initial cell values as 0. Using the assignment version `^=` means we toggle each cell between 0 and 1 each time an ant passes through it (which is part of the langton ant rules).

`function u(t) {`

```}// 136/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

• ant trails

show FPS hide FPS share
remix of d/11116 by u/vistefan

`function u(t) {`

```}// 139/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

show FPS hide FPS share
remix of d/15836 by u/joe.m

`function u(t) {`

```}// 136/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

• langton's ant. Chaos becomes order after about 10k iterations, wait for it...

show FPS hide FPS share

`function u(t) {`

```}// 125/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

show FPS hide FPS share

`function u(t) {`

```}// 135/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

show FPS hide FPS share

`function u(t) {`

```}// 134/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

• Random virtual ant that actually builds underground tunnels. Inspired from Langton's Ant and compressed using d/9207

`function u(t) {`

```}// 55/140 ```

Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

• #Ant 40 speed up * 1000

`function u(t) {`
```}// 99/140 ```