Game: StretcherDrill

Tags: graphics, game, 2d, godot, music | 02 Nov 2022 2:34 PM, Updated 02 Nov 2022 3:21 PM

I finally made a game!
After all these years of pushing it back for one reason or another, I've gone and shipped out one.

Play it here!

..Yeah, I know. Bad graphics and only 5 levels. It was for a competition and didn't manage to add much actual content to it. Nontheless, it's a fully functional game.

Earlier Attempts at Making a Game

I've always had the urge to make thoughts into the real world, but 90% of the time, I've never acted on it. There are various excuses I give for that: sheer laziness, disrupting the "daily routine": suddenly coming up with some other mundane task to do and then lose track of it, learning curves, lack of patience, paid software, low system specs and so on.

Writing Games from Scratch

Most of the times I've tried to write a game from scratch, I've postponed it indefinitely either because it was taking too long, or because I started to think about how large of a task this would be, or just because I didn't know enough programming to actually create a proper mental model in my head. Thankfully I've stuck with programming for a long enough time that this is no longer a problem.

Game Engines?

Game Engines would have been nice to use, if I could pay for them or I had a high-enough specced computer to run them. Fortunately, later Godot came along (and money in the wallet as well.)

Too Large of a Scope

I'd say the main problem has been that I've never made a game for the "sake of making a game." It's always been for trying to make this cool idea that I've had in my head into a real, full-fledged video game, and not trying to get the rights to say "Hey, I made a video game." That has been a bottleneck in pretty much every project I've attempted to do.

Recently (for about a few years now,) I've managed to create projects and actually complete them, and about all of these projects have involved reducing the scope to make the project completable in a realistic and reasonable period of time. We'll see where and how I did that in the case of this game.

The Game Jam

I've heard of game jams before and never really bothered with them, since I was struggling to actually finish making any game before, but at the start of October, I decided to just try to do one. On looking through the Jam List on itch.io, I took the one that was on a weekend that I was free and was short enough: the Scorespace Game Jam #22, which was of 72 Hours.

The rules were simple enough: you need to build a game that you can get a high score in, and a theme would be announced at the start of the jam period and you need to make a game from scratch based on that theme. An additional (but optional) requirement was to use a service called LootLocker (which was sponsoring the event) to implement and upload the scores. They have REST APIs for their service which are fairly easy to implement, but they alsohave dedicated libraries for several Game Engines like Unity. So I applied for it and started to think of what to make.

The Game

Yeah, thinking about the game before the actual theme has been declared is probably useless but my mind started going places anyway, thinking about the car, the mechanics and everything. Thankfully, the theme ("Falling") was loosely related to the final game I made, so I didn't make it to last place in that aspect. I did do some pre-work to test out the LootLocker thing to see if it was working, and it was fairly easy to do.

On D-Day, the game that I came up with in my mind was about a bunch of people looking for some really valuable minerals in the middle of greenland and suddenly, the entire ground collapses around them, like a sink hole, and leaves only a few pieces of land here and there that are left standing. Fortunately, some of the guys cobble together parts and make a car thing which stretches out to grab and move across platforms.

Ridiculous and convenient plot?
Yes.

So I started actually writing the code. On day one, I started making the screens in the game, the title screen, the credits screen, the transitions between them, choosing the music, choosing the backgrounds, preparing the high score table, user sessions, basically everything except for making the actual game.

On day two, I realized that I didn't have a functional game. I started making the art for the tilesets of the game in order to make the top-down platforms that you see in the image above, monkey-coded in the car-stretching, the start and exit points, and some of the sound effects.

On day three, I realized that the game had a single (1) level in it, and there was no drill mining system, so I rushed to code them in and get on with debugging and testing. That day I had other stuff to do as well so that took away time from it. Eventually I (barely) completed the level design and programming the quirks in each level (falling platforms, turrets, etc.), and managed to churn out 5 levels by the end. In the process I probably dropped 2-3 ideas for levels that I had in this period.

Learning to Make a Compromise

Now let's try to estimate how long the five levels of this game would have taken if I actually wasn't on a time limit. There are probably a multitude of reasons why even this (with proabably some additional polish) would not have been put out by me even after a month:

  • General Laziness, Getting Too Comfortable and a Lack of Pressure: I'm quite a lazy person, and that laziness is often undercut when I have a deadline to meet. In the past few one or two years I've been setting deadlines and schedules for myeslf. It's been quite an improvment for my productivity but I still seem to have a long way to go.
  • Creating Textures, assets, etc.: Doing graphics and music aren't exactly my strong point, thus making me take a long time to do work on these. Because of the apparent lack of experience, it sometimes makes me look at the task like it would be a slog to go through, and sometimes it is. It makes me not want to do it and keep pushing those tasks back more and more. I hope to change that as I do more stuff and keep properly scheduling my time.
  • Scope (Again): The same "overscoping" with respect to the time frame took place in this project as it did in my earlier ones, but of course, having a deadline round the corner definitely helped in quickly cutting out everything. If this deadline was "when it's done," rest assured that the project scope would keep increasing and I would keep loosing the motivation to do things more and more as the list of things to do increases.

All in all, I think I am finally learning how to keep things realistic, which is great, but Its not nearly enough. It would take quite a bit of work to get my productivity to a level where I am satisfied with.

Final Result

Here's the Jam Submission Page.

Yeah, it didn't really do well. The ratings were somewhat expected, but I was surpised that it did that well in the gameplay rankings.

In the Future

While the Game didn't really do well in the charts or look very presentable, it definitely has the potential to do more than its current state. The idea is unique and quite a few people liked the gameplay. I'll keep working on it and who knows, maybe in a few months the game might have daily players in the 100s! (Probably too ambitious, but I like to dream.)

This is also a lesson for me to, well, basically reproduce what I did here: finish and compromise. After that, the next step is probably polish, repeat the cycle, and with time and experience, increase my efficiency. I hope all of this works out and ship out an update or something soon!

I've got a few non-project articles that I'm about to upload here as soon as I'm done writing them, but until then, goodbye!