The postmortem : Things went wrong but I survived :D



Hello everyone.
First of all, Please excuse my bad English, English isn't my mother language and I'm definitely not good at it.
Now that I've revealed my god-awful english skills, Let me introduce myself :

My name is Zik,  I'm amateur solo developer & art guy since 2014, And also I created the game : HIGH LANDING BULLET but LOW ON BULLET.
HIGH LANDING BULLET but LOW ON BULLET was one of my games that got a good amount of exposure & feedbacks,
And from them, I've earned a lot of things that certainly will help me in my future projects.

  About the game :

(A footage of our hero dying a foolish & painful death)

TLDR; It's a bullet-bullfighting game with a bit of pushing involved.
It's a game about running around & controlling your (cute) bullet into the enemies in order to defeat them while trying to avoid letting the bullet hit the wall and shooting yourself. Quite chaotic & hard game I must say.

The game was made for GMTK's 2019 Game jam with theme : Only one.

This time, My goals were making something arcade-y game that I can manage to finish it under tight time budget I was given, And still have a decent degree of replayability with easy to play but hard to master mechanics..
And I think I've done it fairly decently.
It took me approx. 24 hours to create this game, Including coding the game, making music and drawing sprites and etc.
But... did I mention that GMTK Game jam is a full 48 hour game jam instead of, 24 hours?

  What went wrong : The design decision problem

Since we were given an full 48 hours, You might think : "Why this bloke had to suffer by limiting himself to only half of the actual time given?".. well.

Long story short : Complicated overdesigned mess that went bad.

The full story :
When the jam started, I immediately began brainstorming & hyped over everything.
My initial idea about game was an arcade game where you choose only one move set out of three :
Jumping & dashing, Shooting and getting knocked around, Using sword to attack & move.

(And yes, You can use your gun as boomerang-like weapon when you're out of ammo.)


(Heck, you can even jump around with sword while making enemies into shishkebab!)

As you can see, The development went smooth as babies drifting around in the bathtub covered in oil.
About 24 hours in, however, This struck my head so hard : "Everything is going great, But does this game adhere to the theme that much? Can I finish it in time?"
I realized that I've overdesigned my game & the time was too tight to realize all this stuffs that I planned.

So, I decided to flip the table & start it all over again, To make the game that is more do-able & manageable in the time budget instead of unfinished mess.

After some brief brainstorming, I've concluded to the idea of having one projectile that follows you that can kill everything (including you)
It was heavily inspired from Vlambeer's Luftrausers' either holdding/releasing the button gimmick, And Valve's FPS game Team fortress 2's custom gamemode, Dodgeball mod, Where you dodge & reflect the homing rocket moving towards you.
Does it have an adherence to the theme? Yes.
Can I make it in time? Very yes!
So I also decided to build upon that idea further, So I brainstormed for another good hours.
Adding the ability to make the bullet go away, Enemies, And lethal walls that kills your bullet, The game concept finally felt solid enough to start develop on.

  What went good : The procedural animations!

After flipping the table over & some good 12 hours later, I managed to make the core gameplay.
All it was left is to fix the bug, polish, make some sfx and music!


While I was polishing, I was able to conjure up some procedural animations into my game using using my previous know-hows about making things move by trigonometry functions and such.

(The code behind the GIF above; Quite messy but it does the job very well)

Which saved me some time drawing an actual sprite animation & contributed a good amount of game feels. Yay for the programmer art!

One of the new technique I've used is I applied the power() function, Which returns the nth power of the value to the results of motion generated from sin()/cos() for giving a bit of weight in the animation.

Since the sin()/cos() returns oscillating value in range of [-1..1], I've obtained the absolute value of it to transform the wave into "bouncy" wave with value in range of [0..1] to give it a jumpy walking animation.
And passing that value into power() function meant that big values near 1 gets tuned down a bit, but smaller value got tuned down a lot.
This practically gives the effect of adding weight in the motion, And it feels really good.

  What went wrong : Fine-tuning the variables

Well, Not much of a big necessary stuff..
But I used a lot of time tuning the gameplay bits to make the gameplay experience feel good.
When I was playtesting, The bullet would be either too fast for player to actually wrangle around the level without hitting the wall, Or too slow to hit the moving enemies.

(Footage of me testing the fine-tuned bullet speed, But accidentally creating a bullet orbit)

I thought it would make the gameplay a bit more frustrating, So I've made a few changes :
I've made it so that bullet will be attracted ever so slightly into the nearest enemy, So it's more forgiving to positioning the bullets position.
And also I've made a bullet change the direction a bit slower, So players can "orbit" the bullet around them & deflect away when needed.
I also added the bullet reflecting mechanic where if you're close enough when you're deflecting, The bullet will instantly change it's direction instead of gradually doing it, And it gets a bit faster for a moment.

 What went good : Misc. polishments


With few hours left, I decided to add a bit of particle effects before making sfx and musics.
Making particle sprites were as trivial as drawing pixelized polygons that went nuts.
Things went great, And I'm a bit proud of the result considering how little time it has involved making them.

Then I entered the sound designing phase...

Since this is the first time I'm making music, I decided to use Bosca ceoil for it.
The tool was simple enough & foolproof yet I managed to bamboozle myself and had to mess around a bit to find the function that I need,
But thankfully nothing worse than that has happened, And the resulting musics were fairly decent.

For the lobby music, I've used some existing sheet musics and applied a heavy filters to give it some atmosphere.

And for the SFX, I used LabChirp 's synth to generate my sounds. Fairy simple & with generous amounts of controlable stuffs to synthesize some good sounding sounds fairly easy.

Then I was done, Decorated my itch.io submission page, Then submitted my precious, rushed, Digital child into the world.

  After the jam :

Ultimately, The submission period was over.
All I have to do now is to do some marketings to spread my entry around the world!
While I was finding a way to promote my entry, In the game jam's community section I've found a good amount of game-sharing topics where folks rated each others submissions & gave feedbacks, AKA feedback trading topics.
Like any other people, I've took part in those topics, And I also posted my game on the game jam's discord server and my SNS account to showcase it, To get some precious feedbacks & ratings.
Thanks for that, I've got quite a good amount of feedbacks! (Thank you everyone!)

One of the feedbacks that I found interesting were :

  • Great execution of "One bullet" idea
  • Game feel were juust right
  • Easy to understand, Hard to master
  • The bullet would spawn in unexpected direction (Under the hood, I was spawning them in front of the player's last moved direction.)
  • When you start the wave, You would often release the button too early & get hit by your own bullet.
  • Steep difficulty curve
  • Bullet deflection needs some sort of guide where it's going after it's been deflected.
  • Bullet's trajectory is a bit random (Maybe it's because of the bullet homing into nearest enemy?)

So, based on those and other feedbacks.. I've put together some improvements that can be done on the game.

  • Change the bullet spawning logic so that bullet gets spawned in pre-determined position instead of player "shooting" it.
  • OR force the bullet to move away from player for a few seconds before returning.
  • Make level so that there's enough space between walls so players can roam around freely.
  • Add an effect indicating that the enemy is about to spawn in that place.
  • Fine-tune the wave system to start off easy
  • Add a "tutorial zone" so users can experiment with gameplay to get used with the mechanics.
  • Maybe alter the bullet deflecting behaviour to make the bullet keep it's direction once it's been deflected instead of constantly facing the direction opposite from you.

And I also learned those precious tips about GameJams :

  • Sleep is inevitable, Take enough rest or you will make some weird mistakes later on.
  • Also eat properly so your brain can function aswell.
  • MAKE SOLID PLAN BEFORE DIVING INTO DEVELOPMENT.. This is to important & I've learned it the hard way.
  • Core gameplay first, Don't get distracted by those side elements like graphics and sounds.
  • Playtest. A LOT. Helps you to find potential bugs & any uncanny gameplay pet peeves that needs fixing.


Overall, It was very exciting 2 days of suffering development, I've met a lot of awesome folks, Had some great feedbacks from them.
It was great experience!
Check out the final result, If you're interested : https://zikbakguru.itch.io/game-game-game-game

Files

GMTK Game jam 2019 build 4 MB
Aug 04, 2019

Get HIGH LANDING BULLET but LOW ON BULLET

Comments

Log in with itch.io to leave a comment.

(1 edit)

really good postmortem! I enjoyed the read and specifically the bit about procedural animation with the Power function. That would make a good little Tip Tweet if you havent already (I'm probably going to check your Twitter after this comment)

Im really sorry I cant try your game before rating period is over I'm going to be in a card for a quite a few hours and only just found this. Very Well done though!

Thank you, That indeed would make some good tip tweet!
Also you don't have to be sorry, I'm just glad that you read my postmortem afterall :)

Hey! Though i haven't played the game yet, i really do love your art! Any place where i can see more of it? o:

Aww thank you, I frequently post my art on both Twitter or Deviantart, But I mostly upload things on twitter!

Awhh, don't have a twitter, but i'll stalk ya on Deviantart, haha

Keep it up!

Thanks!