This article was written by TheOC and originally appeared on the Alteryx Engine Works blog here: https://community.alteryx.com/t5/Engine-Works/Alteryx-Because-I-Can-Snake-Game/ba-p/927349
Hello everyone to my first ever Alteryx blog! Hopefully, this is the first of many, so bear with my terrible writing skills for now.
The ‘Alteryx Because I Can’ blogs are intended to be a series of blogs that don’t question why, but how. What I mean by this is that Alteryx as you may know opens the doors to many possibilities – even to the point that you will often hear @mceleavey and I say, "If the question is Alteryx, the answer is yes." So, the point of this series is to prove this to be true. We’re going to be developing some very interesting things with Alteryx, which may not necessarily be the best application for the platform but will be fun use cases that break some of the imaginary limitations of the platform.
The idea behind this blog series is inspired by George Leigh Mallory, who famously replied when asked why he wanted to climb Everest, "Because it’s there."
Rules of the Blog
The first rule of the blog: You don’t talk about the blog. (No, please do, I really need the gratification.)
The second rule of the blog:
The third rule of the blog: Don’t question why – only how.
Okay, okay, fine. I’ll give you a little bit of the why.
When I first started using Alteryx, I was shown by @mceleavey and @MarqueeCrew the Easter eggs within Designer. If you haven’t seen these before I’ll give you a hint: Open Designer and navigate to Help > About.
There are three Easter eggs that I know of on this page. Both Pong and Space Invaders will open if you double click something specific, and you can convert all the Alteryx icons to their old versions by clicking another part of this screen (please note you can do the same steps to revert the icons back).
I found this idea hilarious – playing some games within Alteryx Designer, the platform I had known to be for everything data. Alteryx is already incredibly fun to use, especially if your reference point is coding and waiting for Excel to load more than 1000 records.
“Come on @TheOC, just tell me what it is.”
I wanted to see where the boundaries are within Alteryx. We’ve seen some basic games with the Easter eggs, but I have no idea the backend of these, and if they would be replicable. I won’t be going into too much technical detail here, but if you’re interested in how this works in detail, get in contact with me. If there’s enough interest, I could also make a second blog post breaking down my Python code. Do note, however, I am not a games developer, and my Python knowledge is not as good as my Alteryx knowledge.
Inspired by the Easter eggs – I set out to make a game. To be perfectly honest I didn’t expect it to work initially, as I suspected there would be a barrier running Python code within Alteryx. However, as our @mceleavey's age-old proverb says, "If the question is Alteryx, the answer is yes!"
A long evening of reading the documentation for specific Python libraries and thanking people on Stack Overflow ensued. [Cue literally the most fitting video.]
Surprisingly, it didn’t take long to get something up and running, with a basic snake game:
Again, if you can believe it, I’m not a games designer or UX/UI designer! Crazy how well I hide that, right?!
The next step was music. I was fortunate enough to find a few sound effects and music completely in the public domain, free to use. I love public domain/open-source resources, so despite not being required, here are the links to the music, level up, and game over sounds.
And There We Have It
Snake running from Alteryx, all inside a macro.
I’ve attached the analytic app you will need to run to have a play of the game of snake yourself. If it’s your first time running this and your Alteryx version is the admin version, you may need to run Alteryx Designer as Administrator on your machine to download the Python libraries required to run.
As I might have indicated, I don’t think this will be the only game I make within Alteryx. I would enjoy making this as a series, hopefully increasing the complexity of the game each time. Be sure to post your scores in the comments, and your Alteryx Community name might just make it into the next game somewhere!
So, should I write this game in Alteryx? Of course not. Why did I? Because I can.