First of all, Happy Lunar New Year! I was actually born in the year of the horse, so apparently this is supposed to be an unlucky year or something. I’ll be the judge of that.

Secondly, I haven’t really been spending any time in Unity or reading about how to better use Unity in the past few weeks, as I’ve taken a short break to “develop” this web app called Balderbot.

The idea for it came up at a recent board game night, during which we were all playing this wonderful game called Balderdash (the one with five categories, not just esoteric vocabulary words). It’s essentially a bluffing game not unlike Malarky and Loaded Questions. Here’s how it works in a nutshell.

Someone picks out a card and selects, for example, a strange-sounding film title, or maybe a cryptic initialism. The other players then silently attempt to craft a convincing one-sentence synopsis, or whatever the initialism actually stands for. Finally, they have to vote on which one they believe is the real answer (and not one that someone else submitted). You get points when someone picks your fake answer, and also when you successfully identify the real answer (as provided by the game).

Naturally, in this digital age we live in, we didn’t have enough pencils and paper to play the game traditionally. So in the end, the group resorted to text messaging one another to send in bluffs.

After seeing how wonky that whole process was (with difficulties keeping score, fumbling through the exchange of phone numbers, disorganized voting, frequent verbal repeating of all the available answer choices, etc.), I wondered if there was a way for all of us to text a central hub. And maybe all the relevant information would be projected onto a screen for everyone to see.

I installed Node.js on my computer a few days later and quickly figured out that getting to Hello World wasn’t really as scary as the Internet had made it sound. I dove right in, with some help:

  1. Express (to get up off the ground floor)
  2. socket.io (to handle realtime on-screen updates)
  3. MongoDB (to store past game results and player details)
  4. Twilio (to handle incoming SMS messages)

Over the next few weeks, I learned that the newbie-level JavaScript I had picked up over the past year or so really came in handy–much handier than I’d expected. Prior to this, I literally had never written or even knowingly read a single line of server-side code. But just two hours ago, I put it up and tested it on Heroku. I’d say it’s about 98% complete in terms of a decent version that I’d be comfortable showing to friends and actually playing on.

In the end, the code itself turned out a monstrosity and I literally refuse to show anyone the full source given how incredibly awful I’ve been at adhering to best practices in programming, but I’m proud of how I ended up getting a web app off the ground that might actually get real-life usage. And yeah, “always improving” and all that jazz.

Anyway, I didn’t completely ignore the game dev side of me, and I continued to read a bit about Ludum Dare 28Candy Jam, the recent Global Game Jam, and some random bits that might be relevant to my “someday” project ideas like these nifty breakdowns of physics (and more!) in the SNES classic, Mega Man X.

Besides, I actually got into JS/HTML game dev as an extension of my original interest in making simple mobile/web apps. I think my first JavaScript experience wasn’t even DOM manipulation stuff, but rather a simple card game called Big Two that I grew up on. Ha, I think I remember making the “AI” never pass if they had a legal play.

But don’t worry, I’ve had some game ideas brewing up for a while. We’ll see where the next few weeks take us.

Leave a Reply

Your email address will not be published. Required fields are marked *