DAY 01
○ I have work today so I just recorded random gibberish, since the only thing I know I want at this time are "NUTS GONER" characters.
If you don't know, feel free to search for "nuts goner" here on GMC to become just that much more part of the GMC family.
(After Note: I had no idea that recording these voices would be such a terrible mistake, leading to excessive lame humor, while also not being a mistake, playing a major role in ensuring my game became 'something' in the end, despite the problems I faced that led to major time-sinks which prevented the addition of some real gameplay.)
DAY 02
○ After a half hour of brainstorming, I decided on the basic concept:
You are stuck in a pitch black dungeon with minimal light sources. Therefore, you need information. So you have your trusty MAGIC CRYSTAL BALL, which knows things you don't. It'll be your guide in the darkness.
But great information comes at a cost - mana.
{After Note: The mana mechanic obviously didn't make it in)
○ UNNECESSARY TIME-SINK 1:
Took an hour to make the player sprite and wall tile… My time management is on point!
(After Note: I was afraid that using plain shapes would hinder my enthusiasm, which is why I started with some graphics. However, in hindsight, I feel this was a bad idea. Next time, I plan to try doing gameplay first, and graphics second)
○ I edited some of my gibberish audio from yesterday.
I went back to my audio at this point, mostly with the purpose of trying to see if any of it matched the player character well enough. Some of it did, so I marked those samples to use. I also made a couple SFX from the gibberish, but I'm reserving the bulk of sound design for much later, so I didn't do much here just yet.
○ I ate a blueberry muffin, like an animal.
You could say, I WOLFED it down. Yes, this is relevant to the development (no, it's not).
○ Created a sort of roadmap for myself, to help me progress and manage my time better.
○ Began coding.
Going super basic in many regards, since I haven't programmed any games for quite a while.
○ UNNECESSARY TIME-SINK 2:
Added a viewport and camera, but I struggled a lot in remembering how the camera system worked in GMS2, so I lost a lot of time on this. I definitely should've done a refresh on it before the jam.
○ Created lights which will be placed sparingly in the dungeons (too much light will ruin the whole concept).
No shader stuff, because I'm a shader noob. The lighting method I used can be learned here:
A good choice for a game jam or in prototyping, but not something I'd see myself using in a serious/complete game.
○ Created a background tile, and it tiles pretty well. Nice.
○ Added animation code, and made my character animated.
The character appears very, VERY scared, and cute, surpassing my low self-expectations! Ah, satisfaction.
○ UNNECESSARY TIME-SINK 3:
I realized I wasted time getting nowhere, partly due to just looking at and laughing at my character animation (ah... satisfaction), but ultimately I wasted time due to having no more roadmap left to follow. Once I realized this was why I was losing so much time, I began planning the next steps. So I'm taking note of this for myself in future jams:
DON'T LET YOUR ROADMAP RUN OUT - ALWAYS HAVE A NEXT STEP READY.
○ I added in torches.
Because the light obviously needed to be produced by something. BTW, torches in this dungeon are blueish, because the lighting 'engine' can only do pure white and blue felt like it looked more like it could produce that light, but that blue color doesn't look natural, thus they're "mana torches"! This was one of those exceptionally indie dev moments. A thing being a thing because "limits". Well, that's a jam thing too, but whatever.
○ I took some time to figure out the story + added a text engine.
Basically, the player character wakes up to find themselves in a dark dungeon. The goal is to escape with your magic ball acquaintance. The end will show them escaping.
At this point, I've realized I need to make some story play out in a somewhat involved way, so I decided to adapt some text engine code from a previous project of mine. This will be reflected in my credits, of course.
○ I created a crystal ball sprite which will show with the textbox when the crystal talks.
○ UNNECESSARY TIME-SINK 4:
A lot of time went into trying to make colored text that I wanted to use for when characters think, but my code needed too much reworking (especially in the string parsing code) to make it happen, so I scrapped the idea.
(After Note: Even though I ended up using a simplified version of this once at the very end, it was a totally worthless thing to add.)
○ Did a bunch of tweaks to the camera, UI plans, text engine, etc.
Notable things:
-- 1 -- I had planned to have the play area more square-shaped with its screen port to the left, leaving a strip on the right side to be used as an info feed where the crystal ball reveals things to you. But this felt very 'off', due to the game area not being centered, I guess. On top of that, I was having a lot of trouble figuring out how the mechanics should work and if the info feed would need so much space, or if would even be a thing at all. In the end, I decided to use the entire screen with no part strictly for info. Since things were now centered up, it felt properly focused.
-- 2 -- The textbox engine needed more juice, so I polished it a bit. For one thing, textboxes immediately appeared and it was jarring, so I added a quick fade in. Additionally, I made the textbox character pic swoop up in the animation. Hard to explain but I like how it looks and feels. TBH, I got the idea from Cave Story's textbox pic animations. I'm sure many games do things like this, but I first noticed it in Cave Story.
○ SADNESS!
Heard a thunderstorm, but didn't think it was too bad sounding, annnnnd then power went out for a split second, giving my PC a hard reset. Ugh, my poor computer. Hate that. At the very least, I have a high quality power conditioner / surge protector, because storms taking out power has been an issue here in the past as well, so I was as prepared as I could be. Still, it really sucks. Anyway, my computer seems to be okay, and no progress was lost either, so it could've been worse, I guess.
DAY 03
○ UNAVOIDABLE TIME-SINK 1:
OOF! Life was all like, "Heh, I know something you don't". A lot of disturbances/distractions today. But I'm sure this is how it is for almost every jammer. I guess I'll view it as part of the charm and challenge.
○ Began writing a lot more on my roadmap.
Just to keep me focused and moving today. Most notably, I've been working out stuff regarding the crystal ball's mechanics, UI, HUD, and how the mechanics will be introduced.
○ Working on adding the surroundings/sense indicator thing.
Got my basic graphics done for it. Now to program the array of surroundings and to make it cycle through and display the correct icons and positioning.
○ Got the surroundings indicator coded!
I'm definitely really far behind where I want to be though. I might not get this done.
○ I finally got the intro tutorial to a good enough place.
Introducing the setting, characters, and mechanics.
-- HERE COMES THE DECISIVE POINT WHERE ALL MY DREAMS OF ACTUAL GAMEPLAY FOR THIS GAME DIE --
○ UNAVOIDABLE TIME-SINK 2:
OOF, okay, the "sense indicator" is one of those things that didn't work out as I thought it would, and it required a MASSIVE time sink to make it play in a good enough way.
My initial idea was to have the circle indicator appear centered horizontally, but vertically it'd either be above or below the player (the player is center screen). But this just didn't play well. It felt confusing, it was blocking too much of the space, and it felt cluttered. That's all bad, very bad. So I realized the sense indicator needs to only appear when the player isn't visible in light. After making that change and playing it a bit, it was then that I realized it needs to be centered, where the player is. But even then, it was feeling too jarring when it switched back and forth from sensing in the dark to walking in the light. It just wasn't conveying to the player properly what was going on. But I had to make it work somehow, because this was my core mechanic, and I didn't know what else I could do to replace it.
Eventually, I realized the main issue was that I needed the sense indicator to have representations of all the content you see in the light, so things don't seem to disappear, thus giving a confusing and jarring disconnect. In explaining, at first, I didn't have a player icon in the center of the sense indicator, so when you went out of the light, it was like the player disappeared. Also, my coloring of things wasn't very close to what you see in the light, for e.g., the walls were white on the indicator, and the flooring needed work as well. Once I realized this, I created a player icon, I also made various other adjustments to the sense indicator's graphics to help the connection between sensing and normal play. FINALLY, it felt good enough, but that was easily the biggest time-sink so far, and now I'm in trouble… the game is so empty. This took the time I was supposed to have to make gameplay elements. It's amazing how many things can come up that you would never think of, especially when trying something a bit unique that other games (to my knowledge) haven't explored.
(After Note: I didn't log this at the time, but at this point, I took a step back, looked at my remaining time left, tried to measure how much time it'd take to add my puzzles, enemies, etc., and it just wasn't viable to make this game what I had planned - I had to rethink it, based on what my game was currently doing strongly.Seeing that I had a text engine in place, lots of zany/weird voices, etc., I decided it was necessary to change my game's goal of being gameplay-focused to story-focused. And this is why my game became a fairly well-polished joke game.
I see in the reviews that many of you caught on to what happened though. It's true, I wasn't able to make the game I planned, and the game went a different direction mid-way through, after the main mechanic was in place. You guys caught me on that.
Of course, I couldn't just leave in meaningless half-finished gameplay. It needed a purpose. So I did my best to play into the theme with it by integrating it with the new focus being story-telling as opposed to the old focus being gameplay, and I was glad to see that some reviewers noted it and liked it. It's as if the game tries to deceive the player into thinking it'll be a real game, only to later reveal it's not. Of course, this was a dangerous decision, because I didn't want it to frustrate anyone, and that's why I made it extra short and easy, allowing the player to get to the joke pretty fast to not feel much investment. I'm happy to see that - based on everyone's feedback - it seems I did well enough in saving the gameplay by re-focusing it in line with the theme.)
○ Got the first level finalized, tutorial and all (I mean, it's basically just a tutorial anyway, not a level). Just needing the stairs to progress upward.
○ Staircases implemented. Transitions to next room with a juicy animation, given a little shaking and fading while ascending.
○ Did a lot of various small things.
○ UNNECESSARY TIME-SINK 5: I fell into the trap of polishing fairly meaningless things.
○ The game can be beaten now, complete with an ending that's not just a black screen with text.
○ Feeling both regret and amusement at what my game is becoming… I just added a touch to the ending on a whim. I'm not sure if it's one of the best minimal efforts I've done or one of the lamest things, but right now, I dig it.
(After Note: At the time of writing this, I was thinking I'd post my devlog on my game post, so I tried to be spoiler free. Anyway, the thing I was referring to here was adding myself in as a sort of antagonist in the ending scene)
○ Got the main final roadmap laid out.
○ Halfway coded some clickable option buttons for audio and closing the game.
○ Gonna try to sleep for just a few hours. Hopefully I don't totally crash.
(After Note: I totally crashed.)
DAY 04
○ Began working on the music.
I ended up taking 4 hours on it because I tried to do things that didn't work out. In the end, I like the music I made, so it's fine. It's a bit of an odd arrangement, not exactly fitting as it should, but it's almost on purpose. I just had to throw in the Zelda reference. I am a simple man: If I can Zelda, I will Zelda.
○ Began editing the SFX.
Using my music track as reference so I can mix them to play together well. This is the first time I tried doing that.
(After Note: In hindsight, I should've made them sound good in mono. I was a bit greedy and tried to make the voices as good as possible, so I went stereo with all sounds, which is why my game was a bit over 20 MB. In the future, I'll do that same thing, but I'll make my sounds work with the music as mono sounds. Apologies to your HDD/SSD and internet for my audio quality greed.)
○ Spent a lot of time editing my day 1 voice recordings.
Because I want to give the crystal ball personality. It'll be worth it. My game is going to be all about him now, honestly, so this is necessary.
○ Finally completed editing all the sounds. Wow, forgot how tedious that can be!
○ All audio is in the project. Now to put it in the code!
○ All option buttons are now perfect.
You can even close the game (LOL!), and I added a quick smooth fade out in both music and graphics on it. TBH, I focused too much on polish this time, and not enough on content. But I did do something smart after I noticed, but I can't ruin that here.
(After Note: "but I can't ruin that here" - Well, I could have, as I decided to not post my devlog until after everyone played my game, just to be sure the 'surprises' in the game didn't get ruined for anyone. Anyway, the "something smart" was what I mentioned in my longest 'after note' above, being that I took a step back to re-focus the game based on what my game currently had, playing to its strengths, which was storytelling and humor, not gameplay.)
THE BIGGEST UNAVOIDABLE ISSUE I HAD DURING THIS JAM:
I didn't want to say this until voting was over, for reasons, but I've been dealing with a fairly extreme health issue. During the jam time, it was bad enough to sap much of my focus and energy and I had to rest a lot. That's why I said I probably wouldn't make anything big. I had no way to measure exactly how much it would hinder me, but I thought I had a general idea og how much time and energy I'd have anyway. Well, it seems I was a bit too optimistic; I struggled more than I thought I would. But hey, life happens, and I'm honestly happy with what I ended up with anyway, because most of you guys had a good time with it, and that's what I always aim for with my games, and I don't always achieve it, so yeah, I'm happy.
And in the interest of avoiding sympathy messages (i.e. my personality type doesn't receive those well, lol), I see no need nor have any desire to go into detail about my health issue, but if anyone is concerned, I would like to put your concerns to rest by saying that I am holding out well enough until I can see a doctor. I'm in a good mental and emotional state. I am on extended leave from work as of last weekend, and things are currently a bunch of unknowns right now, but it probably sounds worse than it is, and nothing good will come from worrying about it anyway. (BTW no, it's not related to COVID-19)
Stay healthy, everyone!