Puzzles


This week, I developed 5 new (non-tutorial) levels of Wings & Whiskers and implemented and fixed core game mechanics. 

List of additions:

  • Interactive Magic Stone- makes objects within levels appear or disappear with an associated particle effect
  • Level height limit – Prevents characters from flying or jumping off-screen.
  • Five new levels – Designed and implemented using a mix of mechanics taught in the tutorial levels.
  • Hinged objects – Created new interactive objects like the wheelbarrow and seesaw using hinge joints.

List of fixes:

  • Corrected the game title under the window from Wings_Whiskers to Wings and Whiskers
  • Slightly brightened the overall lighting in levels 
  • Reduced the delay on Whiskers’ jump and landing animations (still a work in progress).
  • Couldn't fix the swinging platform in level 1 so I've temporarily added a platform
  • Fixed Level 3 so that the Magic Stone can now be activated properly.

Process:

My main goal this week was to create as many playable levels as possible using the mechanics introduced in the tutorial levels. These include:

  • Differences in push strength

  • Differences in jump height

  • The cooperative mega-jump

  • Whiskers’ tunneling ability

  • The Magic Stone mechanic

I started by designing five levels on paper (though unfortunately, I don’t have images of them to show). I based these designs on the props available in the sprite sheet I'm using (Cainos’ Village Props) and took some inspiration from Home Sheep Home (link).

Over several days, I gradually built these levels in Unity. Based on feedback from earlier testing, I created a prefab with core-level components (UI, characters, etc.) to speed up the process. Each level was then developed from that template, which made things more efficient. The biggest challenges involved balancing object physics (mass, size, etc.) and solving rendering layer issues.

Figure 1: Levels 4-8 (in order)

To make the Magic Stone mechanic work (including in Level 3), I developed a script (assisted by ChatGPT) that detects when players (or a specific object) are in range of the stone and then causes the linked object to disappear (or appear). After achieving this, I wanted to add a visual indicator of when the stone is activated and of which object it interacts with. I decided to add a poof-like particle effect to the object when it disappears and made the stone glow when activated (using a pre-existing sprite and glow effect with Light2D). These effects were activated by modifying the existing script with some additional AI assistance. 


Figure 2: Magic Stone

Additionally, in order to prevent players (mainly Wings) from leaving the top of the screen, I considered having the camera follow Wings' vertical movement (only when Wings would otherwise be off-screen). However, after experimenting with this I decided that simply having a "ceiling" on each map would feel less disruptive. I didn't want an invisible wall to abruptly alter Wings' movement so I instead used an area effector that gradually reduces Wings' upward momentum when collided with (also assisted by AI). 

Figure 3: Ceiling area effector

Feedback:

Here’s a summary of the feedback I received from this week’s build:

  • Background seam visible on the right and faint vertical lines across the background (possibly due to image compression)
  • Some platforms don’t align with the terrain
  • Suggestions for Wings to move downwards faster when pressing the down arrow and symbols on objects affected by the magic stone
  • Wings doesn't move with Whiskers when standing on top
  • Add auto-restart in pits and pressing R key to restart
  • In Level 5, players can stand on platforms holding vases/boxes, which can be exploited. 
  • On-screen level numbers
  • Some levels not clear how to beat
  • Spamming E causes bugs
  • Characters can get stuck inside objects that reappear.
  • Change tunneling ability from E to S
  • Collectable token in each level with progress displayed on the main menu I'm adding soon

To address the feedback:

  • I’ll attempt to fix the background seam by improving how the image repeats and disabling compression to remove lines.
  • I plan to add UI features such as level numbers and a menu button. On-screen tips (especially in tutorial levels) will help reduce confusion.
  • Restarting the level (with “R”) and auto-restarting after falling will be implemented soon.
  • I’ll fix the Level 5 exploit by preventing players from colliding with platforms that hold objects.
  • To reduce bugs from spamming “E,” I’ll add a cooldown and possibly restrict player movement during interaction animations.
  • Making Wings move with Whiskers may be tricky. I previously tried parenting characters to platforms (e.g., in Level 1) without success, but I’ll experiment with a similar method and see if I can make it work.
  • Keybind will be changed from E to S.
  • I love the idea of collectibles so I will definitely add that too. 

ChatGPT Usage: