Misc. Projects 001
April 23, 2018
Rock-Paper-Scissors meets Twitter, a 3D platformer for use in a level design workshop, and cldTV. Read all about it in this first Miscellaneous Projects post.
Rock, Paper, Scissors, Tweet
Trimania took place a little over a week ago. For those unfamiliar, it's a big party/fundraiser for Buffalo Arts Studio up on the sixth floor of Tri-Main, where Buffalo Game Space is located. They wanted us to try to come up with some cool stuff for the event if possible, so I decided to finally take another stab at connecting a Unity project to Twitter.
Using the excellent open-source Twitter API client Twity, I created an online rock-paper-scissors game that pitted tweets against one another, so long as they contained the hashtags #Trimania2018 and either #rock, #paper or #scissors. With a little bit of UI work and a low-poly hand model I rigged and animated in Blender I was able to create a fun little installation for people waiting in line at the bar to interact with.
It didn't get a ton of use, but I thing the idea in general shows promise, and I might put it up for sale on Itch for businesses to use in as a way of getting people to promote them by playing or something.
3D Level Design
Last week I ran a workshop at BGS as a basic intro to 3D level design. To make it a little more interactive, I created a small 3D platformer for attendees to experiment with and build out their own levels using the small amount of theory I covered at the start of the class. It's a pretty simple project, with a player character, an enemy, and a couple of pickup items. You can find the repo on my GitLab page.
I really, really like the Raspberry Pi. It's such a cool concept, having a fully functional computer the size of a credit card. I have a few B+ models lying around (thanks Isaiah!), but hadn't really thought of anything cool to do with them until recently. I started creating what I'm calling cldTV, and's essentially a video jukebox.
I wrote a python script that loads all the videos in a certain directory into a list, along with creating a weight for each video. Then, I pick a video at random to play, and wait for it to complete before starting the next one. Using the weight, which is based on the length of the video, I can ensure shorter videos have a higher probability of playing than longer ones, which creates impromptu commercial breaks between longer videos like shows or documentaries.
As it is, it's a perfectly functional little script but I'd like to improve upon it a fair amount. As a way of learning how to do cross-platform development with VS, I'm gonna make a C++ based version that stores videos in a SQLite database and keeps tabs on stuff like per-video plays, better weights, removal of videos no longer available, and who knows what else. I also want to make some bumpers for it in Blender, so expect to see some of those popping up on here at some point.