Lugaru is a 3D action game in which you are Turner, a rabbit who lives a series of adventures against other hostile rabbits and wolves. Turner is an expert in martial arts. Lugaru code and its contents are free.
I write about this game because it has become one of my son's favorites. This is due to the enormous features that the game provides to edit levels, add new characters, create new stories and, in general, do whatever we want with it.
But Roberto started asking me more things. In Lugaru, Turner faces all the dangers alone and my son wanted to have friends who help him to fight the forces of evil. At first, I didn't listen to him, but the insistence of a 5 year old kid is powerful, and finally, I started to study the game code to evaluate how much I could please him.
A colleague of mine, Vlad Nicu, is developing a Telegram bot to offer information about cryptocurrencies (price, etc). After talking with him, I had the idea of writing a bot to connect to a MUD (Multi User Dungeon) using Telegram. When I was young, I spent a lot of time playing with this type of online games and I thought it'd be fun to develop something similar.
I decided to use Golang to practice a little with this language and its goroutines. I think it has a lot of things that could be improved, but, undoubtedly, concurrency is its strongest feature. From my point of view, sometimes people abuse of channels and goroutines. I have seen a lot of examples of problems that could be resolved only with function calls, without all the goroutines system.
The source code of midgaard_bot is available under GPLv3 license.