Loading Jam Day 0
One random, innocent day I was mindlessly browsing Reddit to kill time. I know, the start of every fun story. But it's not wrong. I have a love-hate relationship with that site. It's an excellent, low-effort time sink. That being said, it's a time sink. Great for when there's not much to do, but dangerous when there is. But that's beside the point.
So while I was on Reddit, I saw a post that looked a little like this:
And I looked at that and said "What the heck. I'll give it a shot!". I've always wanted to try a Ludum Dare or something. It's be cool to say "Hey guys, here's this game I built in a week and it's fun." And you know, I needed a new thing to work on anyways.
Half the reason I jumped the gun so fast is because, somehow, I came up with an idea basically the moment I saw the theme. And, going against pretty much every Ludum Dare advice thread ever, I ran with it. My newly hatched recipe for fun called for a nice, dumb hack and slash maybe Zelda II like platformer as the main entrée, and a cool text-based adventure as the appetizer.
I knew, by some game jam rule I remember being written down somewhere, that while you couldn't *start* the game until the jam started, you could scheme and think all you want. So, blindly following that logic, after a few hours I came up with about 6 kilobytes of game ideas, character and plot designs, and even a little sample game screen in crude ASCII. (See it here if you're interested.
The medieval theme that came about came from the most stupid source: trebuchets. Specifically, I was in a Computer Aided Design class with a couple of friends of mine. Said friends at the time were really into Civilization V, playing each other on the weekends and all that. (I didn't really get into that because of the recurring theme mentioned earlier. of simple schedule conflicts because they liked to play past midnight a lot. I'm a weirdo guy who doesn't play video games all that much, but yet definitely enjoys them when I do. (It's true.) ) Anyways, we needed a final project for the CAD class, and after throwing around ideas like tennis rackets and computer cases, we ended up settling on a trebuchet because those are reasonably complicated things made out of reasonably simple things. Trebuchets and other medieval siege weapons were on my mind that day, so naturally I felt the need for a medieval theme. (Frankly, I got lucky on the trebuchet bug. One of those friends ended up reading tons of literature on the topic of medieval siege weapons and is now seriously considering building one of these things. More power to him.)
Now that I had a game idea (arguably the hardest part, apart from the making the game bit), I needed to figure out what I was to make it in. And that was one heck of a question. You see, apart from diddling around with The Games Factory and a brief experiment with Unity forever and a day ago, I had no experience actually making games. As such, I knew nothing about game engines that were easy enough for rapid development, but complex enough to allow this weird, non-standard game I was trying to make. I browser a few options, just kinda wishing I could just get something stupid and simple. And then I realized that already exists, and it's built into most modern web browsers: the canvas tag. From some quick reading on the MDN, it seemed easy enough for my purposes.
However, the hard part was input. You see, the last time I tried to make a browser-based game, all the way back when Firefox 4 was considered new, I had no idea what I was doing. HTML5 games were kinda a foreign concept considering Flash existed and worked, so I came up with this weird, dysfunctional mess. The best way I could describe it is that it controlled a lot like "Ooze" on the Action 52 NES cart, except you went the speed of your keyboard's key repeat setting. It wasn't pretty. Instead of trying to fumble around and produce something like that again, I went to the internet and found this neat tutorial:
(Actually, that was probably the other half of the reason for the medieval theme.) That seemed fine enough. It handled input and screen drawing okay, and that was cool. And then I found something even better in the comments, by trezaei. He took that demo, added stuff like solid objects and variable size objects, and threw it on his site. It featured the head of the dude's kid (I'm assuming), Grant, going around World 1-1 in Super Mario Bros. collecting ice cream. Weirdly, Grant lasted until about day 5 and the ice cream cone actually ended up making it into the released version. This is why open source code is stringent about what gets included.
I'll continue with Days 1-10 in later posts. For now, have fun playing the released game, if you want. It's kinda lacking. You'll see why, if you haven't guessed already.