Adventure In TwilioQuest!!
Published: 2020-07-07 20:18:44


Originally published on my blog here: https://www.programmingwithjon.com/blog/twilioquest

*Disclaimer:* **First and foremost I want to give a huge shoutout to the Twilio team and the TwilioQuest team for making this awesome "game" that helps you learn the ins and outs of programming. We will dive into it a bit more throughout this post however I just wanted to give a quick thank you to them. 
What is TwilioQuest?**

## What is TwilioQuest?
Now for the answer to the burning question, what is TwilioQuest? TwilioQuest is a free to download game that teaches anyone willing to learn, programming. There are sections about basic concepts such as how to install all the necessary tools and languages to continue with the game. Unlike most "teaching games" there isn't anything built in to the game. You have to install all the necessary tools and languages onto your local computer in order to pass the challenges. You write code in your own environment just like you would if you were actually coding for a job or project of your own.

## What Languages Are There?
For those of you thinking, my preferred programming language isn't going to be in here. It's a game that teaches how to code. I bet it uses C# or C++. Those are hard languages. Well you would be surprised to find out that although C# and C++ are the main languages used in AAA game development using engines such as Unreal Engine 4 and Unity this game wasn't made with either language. Nor does it have a section on using those...yet I'm sure. No this game was created with three technologies. I'll give you a moment to think about what three those would be. Ready? If you guessed...
JavaScript
HTML
CSS
You were correct. Now again I know what you're thinking, oh man I'm not interested in learning web development. And I see your point but learning the three languages above is a very handy feature because throughout some portion of your time as a developer you will most likely build some form of a website and knowing how these languages work is only going to benefit you and make that much more of a sought after developer. There are two more languages and a host of Twilio related challenges to go through such as:
Python
PHP
SendGrid
Twilio on IoT

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/08on5tnlbonl863zs76b.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/n0vfkcashz71qup8niap.png)


The images above showcase the different features you can learn with Twilio as well as the languages that have challenge modules. 
I Want to Learn JavaScript
That's good. Since Twilio primarily uses JavaScript in most of what they do it's a good idea to learn how JavaScript interacts with the API. The best thing about this game is that it shows you how to setup an account to work with Twilio and even gives you free credits to tinker around with the API and see what you can create while simultaneously walking you through using the API. 

## What About Python?
Although there are Python and to an extent PHP challenge modules in the game they don't utilize the Twilio API in them. I went through the Python one and really enjoyed it. Most of the challenges I was already quite familiar with others I hadn't done in a while which made it nice to refresh my memory on how Python works to solve that challenge. There is still value in going through those challenges especially if you are interested in learning that language. It gives you the basics of the language and some more intermediate aspects as well that once you finish the challenges you can go read the documentation on Twilio's site to learn how to do it in the language you prefer. 

## If You Stick With JS
If you are new to programming and are interested in what Twilio offers then I would highly recommend going through the JavaScript challenges. You will be asked at the beginning of the game in the Basics challenge module what language you would like to set the challenges for. If you know another language then I would choose that one. However the SendGrid challenges and the like are only available in JavaScript. 

## Conclusion
The game is actively being developed and new features come out regularly. If you have something that you want them to add such as integration with the API in say Python challenges then reach out to their dev team here.