Game Origins


QUACK!

Hi all!

When we first started brainstorming for the theme of "Extreme", many different ideas originally came to mind. Extreme sports, temperature and speed. (which we thought a lot of people would use) We kept playing with the idea and settled on a game about extreme FUNK.

But then we struggled to create an interesting plot/background behind a funk game. We kept thinking about funk music, and I was reminded of the excellent Vulfpeck song "Funky Duck", and we decided that our game should be about a funky duck who is reforming his band after a corporation broke up the band. So our game became about extreme DUCK, too.


I knew I wanted to make a game with levels, because my previous game jams were an infinite/highscore game (a genre I don't personally love) and a visual novel. (very easy first game) I wanted to design levels from the get go, so that's how we decided on the genre puzzle platformer.

We thought of various different gameplay mechanics, for a while we really loved the idea that Duckie can take a drag on a cigarette to produce a smoke bubble you can jump off, but we settled on a simple versatile QUACK system. It was a fun challenge to make different mechanics that all interacted with one system, and it was satisfying to make a game that only had one other button besides jump. And we all thought it was funny to bind every key on the keyboard to quack except movement.

The quack had to be satisfying, so we decided not to have a cooldown timer on its use. So you can spam quack to your duckie-hearts content! The way we balanced this mechanically was we designed levels with this in mind, and I made sure the "strong boxes" had a cooldown timer from when you first break it, to the second break.

Fun fact - there are five different quack sounds in the game. The first three are me and my brothers who made the game, and then two more are from our girlfriends. When you quack, the game randomly picks an integer between 1-5, and then assigns that value to a variable called "whos_quackin", and then a sound plays depending on what number it is.

The "squish jump" was a decision we made fairly late in the game. I really like it, because it is a mechanic that is always present in the game, but you only learn it at the end. If you go back and play through earlier levels, there are a couple different skips you can do by squish jumping past stuff. I like this, it's another incentive to replay the game!

Gasoline mode was SUPER easy to implement. I just made the level controller say "if the next level is a level that doesn't exist, reset to level 1 and set duckie holding_gasoline to true." Is it possible? We don't know, we ran out of time to playtest!


One other major idea with the funk concept was the idea of music building up throughout levels. And I really love the simple solution I reached for accomplishing this!

First we create a funktastic song - and then we export it into different layers of isolated instruments. Then when you start a new world, all of the tracks of music begin to play at the same time, but only the first is not muted. So throughout all the levels all of the music tracks are playing, but you just can't hear them! And when you progress through the level and the finish level function is called, we increase the volume of one layer. This is how we were able to make the music sync, but adjust throughout the game!


I wanted to add some visual flair to our game, so I googled how to use shaders and found some fantastic open source code online! I don't really understand Godot's shader coding language, (it is literally a different coding language within the engine) so I just messed with variables until I got something I liked. We used a CRT TV shader to warp the game's edges, which creates a really satisfying bevel to the screen. And it took me about 4 minutes of work! Nice! I try not to reinvent the wheel with code. Usually someone has encountered my issue before, and come up with a cleaner solution than I could. So I always try to find code online as inspiration, and adjust and change it to my liking. I followed a HeartBeast YouTube tutorial to setup the basic laser, for example!


We used github to share progress throughout the jam, which resulting in a terrifying level corruption late Friday morning. Levels 7-9 began refusing to open due to a parse error. We couldn't figure it out, so we had to reload earlier versions. :/ I believe it was due to an error with how one of us renamed the platforms in the scene editor - but I had even more stuff (including a cutscene) corrupt later when I tried to push!

So, moral of the story - use github until it breaks your game, and then run away before it can hurt you any more.


I've got more work to do on the game, but there's my first DuckLog!

Get Funk Duck

Leave a comment

Log in with itch.io to leave a comment.