Getting the Ball Rolling in Wizsnooks – A Success Story

This has been my favorite LD so far, I had the opportunity to work with great teammates: Moski arting (he’s who drew Skeletorb, seen above), Robin sounding and me coding, and debuting as part of Whales and Games. I had partnered with @Moski earlier, in LD39, and sticked around their Discord annoying everyone until stockholm syndrome hit them again and we decided going for LD41.

Our entry is Wizsnooks, a billiards dungeon crawler!


This is a telling of the Jam’s events through my eyes, but not the game’s post mortem! Not yet at least. Stay tuned for that one some-when this week!

Day One

Our team decided quite early on on the Snooker RPG idea, so I immediately started working on a prototype for snooker physics so the artist’s eyes bled and gave him motivation so we could see with our own eyes.

Then we got the first batch of sprites and I started working on some animations and flair. This will be a repeating theme within this post: make a base mechanic, then fluff it up so it looks good before moving on to the next.

After that, we knew that an RPG needed an inventory, naturally. At the time we thought it would be nice if we had attack and defense stats that would affect how balls respond to collision:

  • A higher Defense stat would increase ball stability after bouncing on enemies, effectively a “knockforward” on hit;
  • As for Attack, it would increase the knock that the enemy ball takes, so a wielder of a strong weapon would need only small nudges to send enemies flying.

I had a lot of time while the artist worked on a crapton of equipment sprites, so I spent a lot of the time writing up a very flexible attribute system based on ScriptableObjects (more on that later) and making the inventory UI with stat comparisons.

Day the Second

After spending a million years perfecting a satisfying loot animation, I bodged together some more code to drop items based on a percent chance. And sneakily, I inserted a new requirement for the code: item rarities! No idea how would they matter, but I wanted colors so I put them in.

We decided going more RPG and less Snooks so we added health and made attack and defense stats affect that.

Oh, and also, the initial tileset was in so I had to learn how to use Unity’s tilemap in 30 minutes. I sorta did, but the repercussions are visible to this day.

Now, obviously, the priority was adding disembodied hands to the game, like any sane person would naturally choose to do.

Had to add events to every possible situation in the universe so soundman could add sounds to them.

Doomsday

Day One’s meneacing seemed to have worked, the artist was quite motivated. All menu sprites were done even faster than I could see them being pushed to the git repository. Tilesets flooded the Assets folder.

I also reused the drop animation’s sprites for a death screen, and burdened myself with the tiny visual detail that the death screen’s sprites are actually the player’s currently-equipped items.

The rest of the time was spent fixing bugs and polishing mechanics, while artman drew more items and soundman made more maps, and balanced artman’s items.

We hit publish, having needed the holy Submission Hour, with the game clocked at 19 items, 4 rarities, 4 monsters and 13 levels. Turns out a lot of items hadn’t been balanced and added to the loot tables (I mean, poor soundman having to do everything today, but such is life), otherwise we’d have 23!

Day the After-th

I spent this day using my webdevguy skills to polish the fuck out of the Itch game page, while secondary platforms were built (Win32, Linux, OSX). I mean, just look at it! So pretty!

Thuswhile

I think this was a fantastic jam, finally with a Theme That Didn’t Suck, awesome teammates and no social interruptions (for once)!

So many great games! Now goodbye while I go hunt for some more entries!