Veera Raita
POKT23SP

Santa Paws

Project Description

Participants:

  • Nea Pulkkinen - Lead, Art Director, Design
  • Veera Raita -
    Main-and-Only Programmer
  • Santa Paws is a light-hearted game, where you play as a small herd of cats. Your goal is to give appropriate gifts to every house (and church) situated in a small village, which functions as the game area. The game itself was produced during mehu jam 6, which lasted 48 hours on the dot. The game has a moody art style, atmospheric (cc0) music, and a good bit of lightly randomized flavor text. The main gimmick of the game are the controls; you control the first pair of cats, and the others are dragged along with spring joints. This could have been executed better, but the results were decent enough for my first attempt (if I may say so myself).

    Jam progression

    Image containing a snippet of the game's code

    Day one got started with the usual design hell, made worse by our total lack of ideas for the themes of the jam (which were "sled" and "free"). We tried and tried to come up with an interpretation of the "free" theme, but eventually pivoted to a game about a bunch of cats pulling a sled, instead of the usual herd of dogs or reindeer. We also quickly settled on a top-down approach this time, as we'd worked on quite a few sidescrollers recently, and 48h isn't exactly enough time to make a 3D-game in a way that would satisfy us. The concept was fairly simple for the artist of the project to start work on, and I could quickly whip up an input system, but it took me a while to figure out how to approach movement for a chain of 4-5 objects. My first instinct was to use joints, and I eventually landed on spring joints after hinge joints didn't satisfy the planned movement style. These were fairly simple to get working, though I couldn't have expected how much time I'd spend on the visual side of things. I first looked up how to make a convincing-looking rope in 2D, but all of the solutions ended up involving joints, which would cause problems with the existing spring joints used for the functionality side of things. I couldn't find a decent non-physics solution, so I ended up going with the Line Renderer -component offered by Unity. I struggled a while, trying to make the "rope" appear as if it was following a curve, but eventually just ended up going with straight lines, which I'm still slightly disappointed about. Surely I'll come back to adjust this once we learn about curves during our next math course... Right?

    Day two was more struggling with the Line Renderer, as I was still refusing to admit defeat, though I eventually moved on to the UI, which our wonderful artist made assets for. I took a detour to code up a quick interaction system, where the player could click on a house, once the sled was close enough. After the interaction was working, I added a few randomizers to make somewhat convincing, random flavor text. There were a few small hiccups, but eventually the gift-giving UI was working, and I could move on to the intro & game over screens. Intro would have a small graphic, the title, and a small tutorial. End screen would have a counter of how many gifts were correct, as well as a compliment if over 80% of gifts were correctly handed out. These went smooth, so I quickly added a pointer to direct the player to the next house in an array containing all house transforms. I'd coded the house script modularly, so it'd be easy to add future houses into the scene, and thus the array. Building the scene would be easy, so that'd be left for the final day.

    The final day consisted of building prefabs from assets our artist made, which I then sprinkled around the scene in an effort to make it look somewhat pretty. I also enlisted the help of the artist herself every once in a while, as she'd ran out of assets that needed drawing. I also dropped some lights in the scene to help with the atmosphere of the game. This was further helped by the shaders our artist cooked up, which would add a sway to the trees of the scene. A lot of the final day was about fixing little issues, and adding the houses I sprinkled everywhere into the system I coded up previously. We had a finished product a good 1.5h before the jam's deadline, much better than the 27s we had last time. I spent the remaining time working out small optimizations, and we had a slightly more polished update out a few minutes after the jam. This was it though, as the jam didn't even have a closing ceremony this time, which left us feeling a little bit empty, as we wouldn't get any live reactions to our little creation

    The game is available on itch.io to play for free (platform: Web on PC)! You can also view the repository on GitHub.