Inspiration

We created T-soding out of love for the terminal and also Turing machines! Our goal was to create an interactive terminal game that anyone can run and learn what and how Turing machines are used!

What it does

This game simulates a Turing machine so users can actually get intuition about how to build algorithms with Turing machines.

How we built it

We used the bubbletea framework, which is made in Golang, and provides a pretty nice toolset for making terminal applications.

Challenges we ran into

Neither of us has ever worked in Go, so we had to learn it from scratch. The library that renders the state table was not able to select individual cells, so we had to edit it to implement it ourselves.

Accomplishments that we're proud of

We did it! We've created a functional, interactive, edit-able Turing machine!

What we learned

Go. Lots and lots of Go. (Also the bubbletea framework.)

What's next for T-soding

Add level selection (and levels) with a difficulty curve. Also, add a full-fledged tutorial so users aren't daunted by a state table, and some way to actually distribute this program to different platforms. Finally, extend the code to be able to accept arbitrarily many states and symbols, rather than the 6 states and 3 symbols currently hardcoded in.

Built With

Share this project:

Updates