This program is written in Kotlin. It's a TUI version of the classic game Snake. It's very simple to play. Just use your keyboard to move the snake. Try to eat as many apples as possible, and don't run into yourself or the wall.
I wanted to make this project to learn the basics of Kotlin. I also really wanted this to be fun, so I picked a game that I personally enjoy and would want to play. Snake is such a simple, and yet challenging game. I figured it's perfect for learning a new language.
This project took a lot of time because I not only had to design game logic, but I also had to figure out how to use kotter. I admittedly spent a lot of time talking to Gemini. Especially when it came to debugging. (I really should've started debugging before finishing the entire game.)
I used VSCode, ZSH, Git, GitHub, and I eventually switched to using Ghostty for my terminal. Also, there was a lot of chatting with Google's Gemini. I used it at the end of the first working version to try some solutions to broken code. Eventually it worked.
This was programmed in Kotlin. The main library I used was kotter by verabyte. I also used a built-in library for time control.
Here are some websites that were useful to me in the development of this project:
Some future fixes or potential improvements I would like to make are:
- Add characters from Symbols for Legacy Computing
- Add a menu
- Add score tracker