Loading Jam Series Closure
Yeah, this series is kind of dead. I wasn't even that far in, either. Even worse, I killed it and then proceeded to do nothing for the next 6 months. I'll try not to do something like that again, promise. I'll go and explain what happened there.
I stopped working on the game jam article series for three reasons. Firstly, I switched my main OS from Windows 10 to Linux. I was getting a little frustrated with Windows 10, almost entirely because my laptop's brightness keys stopped working. When I popped in a Linux live CD though, not only did the brightness keys work, but also the Bluetooth and the accelerometer. I didn't even know my laptop (a business refurb) had either of those things. So I pretty much has to switch at that point.
During development of the game I knew I wanted to make a series like this, so I had a timelapse program running and making screenshots. Also, I installed Linux on a separate hard disk all together as, apparently, Windows was installed in such a way where I couldn't dual boot due to some UEFI weirdness.
As a result of me switching disks, I couldn't get to my timelapse screenshots for a bit as they were on the old Windows hard disk. I didn't feel like unscrewing my computer, swapping the hard disk (which involved unscrewing the hard disk caddies), and booting Windows back up just to get one folder.
Secondly, that game was a game with average-at-best art and a forced quasi-political message I didn't really agree with behind it written in a language I barely knew in not even 10 days. I should not have been using it as the magnum opus of my abilities. That was the point of the series, anyways. It was supposed to be the insight into the game development process by someone who is pretty good as writing games.
Problem was, I knew that the game wasn't good. The text interpreter part was just me trying desperately to implement a ZORK-esque engine without having any clue how they worked and not even bothering to look up how to do it. The platformer was more of the same: me trying to resolve a solved problem, but doing it terribly due to a lack of knowledge. The series was just a showcase of how terribly I could bang out something that resembled something else. That's no fun to read.
Thirdly, it was going on for too long. This was supposed to be a "reflect on it for 2 weeks then move on" sort of deal. I, unfortunately, never outlined what I was going to say, leaving it to me just looking at my timelapse and typing what happened in them. In addition, I built up the expectation that each day had to span 1000 to 2000 words, even if there wasn't that much to say. This lead to posts that were boring, sprawling monstrosities of intricate details that not even I cared about. Also, I got myself making super duper fancy thumbnails that had more effort put in than any of the art in the game itself. By the end it became so boring I had literally no urge to work on it, so I never did.
Lessons learned here: First, back up your stuff. Always and often. My Linux hard disk was running on a backup I made before that game jam, which had more or less everything I needed except the files related to that. Speaking of which, I should probably do that right now...
Second, outline your stuff before you commit to it. Just as importantly, make sure what you're doing is reasonable given the resources you have. What I was doing with those game jam articles was way more than I realistically should have been doing. And stick to that outline, unless there's a really compelling reason otherwise. Otherwise you'll get lost and disoriented and you'll never see the end.
Lastly, use your resources and don't reinvent the wheel. I'm referring mostly to making the game itself here. If I had not been so confident that I could reinvent the wheel, I would have just coupled a platformer engine with a text adventure engine and spent most the time actually, you know, making a game with levels and items and cool stuff like that. My concern with using just any old game engine was that any pre-written code would mesh terribly with the weird way I was doing things. In hindsight, most games come with menus and stuff like that. I could have just treated the text adventure part as a menu that popped up during screen transitions. It would have worked just fine, if not better.
For those of you who still want closure on the rest of the game jam series, here's some short summaries of each day:
Day 3: Added code to take a command phrase and chunk it up. From these chunks I tried to determine what the object of the sentence was so I could pass it to the function corresponding to the verb. To have something to work with, I added an inventory system and some objects in the room. I also added the ability to go to different rooms in the text interpreter.
Day 4: Drew most of the art, specifically the background, a window, the wall flames, the floor, and the player character. I used the EGA 64 color palette for this, mostly because I had no idea what sort of mood this game was going for. I then replaced the World 1-1 backdrop and the shamelessly stolen photograph of some baby's head from some tutorial with the new assets. To get the player to animate, I had to throw in some more code to track that state of the player's animation and update it, which I tested on the wall fire.
Day 5: Nothing happened. Guess I was busy that day.
Day 6: Actually animated the player character, frame by frame. Side-by-side it didn't look bad, but it looked weird in motion. I suppose that's what happens when you don't use references. Also gave him a short-sword he never ended up using. (It was short because I didn't have a system in place to change the width of the sprite between frames.)
Day 7: Added the ability to walk from room to room in the platformer view. In addition, I moved the text interpreter from a box below the screen to a full-screen popup that appeared when switching rooms, complete with retro overscan flashing and "NOW LOADING" sign. Getting the input working properly was a pain as I had to rewrite what I already had with the input box from scratch. Also drew a door.
Day 8: Also nothing.
Day 9: Started mapping out a 14-room level layout, complete with backstory and items. That felt small enough where I could conceivably bang it out on time. Description of rooms here.
Day 10: Fleshed out some patents. The idea of the game was that Watson (the text adventure guy) and Sir Charles IV (the platformer guy) were two separate guys that you didn't even know were in the same place. They find each other and work together, with Watson the patent lawyer crafting tools and scouting ahead for Sir Charles, and Sir Charles finding materials and opening doors for Watson. It was a really clever concept. Here's the plot synopsis and original concept, if you're interested. Unfortunately I ran out of time for the Jam so I took the tech demo I had, banged out a thumbnail, title, and test room, and submitted it.
Well, it feels great to get that off my chest. Hopefully you guys appreciate the closure. And frankly, if anything, this is probably a better example of "lessons learned from doing a thing" than that game jam series was ever going to be.
Also, if you want it, the source code for that game (get it from the player page by using View Source) is officially licensed under the MIT license.