Basic Level Blocking


This week, I developed the first few tutorial levels of Wings & Whiskers, began implementing key game mechanics, and fixed various bugs that appeared after uploading the build to Itch.io.

My initial goal was to create a basic overview of each level planned for the final game. However, while working on this, I realised it made more sense to set up and test certain mechanics earlier rather than later. As a result—and partly due to being unwell—only the first three levels have been added so far. I plan to expand and (hopefully) complete them in the coming week.

List of additions:

  • Three tutorial levels to introduce player movement and mechanics 
  • The ability for Wings to stand on Whiskers
  • Mega-jump mechanic
  • Whiskers tunnelling ability and the associated animations
  • Retry button (to respawn characters and avoid soft-locking)
  • A signpost that loads the next level when reached by both players
  • Fade transition that occurs when entering/reloading each level

List of bug fixes:

  • Whiskers jumping animation (mostly)
  • UI scaling issues
  • Level brightness
  • Character/object mass balancing

Process:

Three new tutorial levels were added to ease new players into the controls (Figure 1). The first level teaches basic jumping with a swinging platform. Unfortunately, I've had quite a lot of trouble getting the platform to swing realistically. It currently only swings to the right side of the map; I plan to fix this soon. 

The second level introduces pushable objects and highlights Wings’ higher jump, which is used to reach and push down a box to help Whiskers.

The third level introduces Whiskers’ tunnelling ability. Standing near the Magic Stone (in this level) will later cause the scarecrow (and other objects in additional levels) to disappear with an associated particle effect (poof!). Both characters will be able to interact with the Magic Stone and potentially objects too. Additionally, in the future, decorations such as blades of grass, bushes, furniture/tools, etc will be added to enhance the atmosphere of the game. 

Figure 1: Levels 1, 2 and 3

To allow Wings to stand on Whiskers without disrupting normal gameplay, I added a platform effector that only Wings can interact with. Initially, this caused Wings to get stuck when walking past Whiskers, but reducing the surface arc of the effector resolved the issue.Additionally, Wings is intentionally rendered in front of Whiskers because of their size difference. However, for a more polished look when Wings is standing on Whiskers, I used a script (with ChatGPT's help) to adjust Wings' sorting order. 

Figure 2: Wings standing on Whiskers

With Wings standing on Whiskers, a new mega-jump becomes possible—this was suggested during playtesting of the Player Movement build. While not required for current levels, it will be introduced in future ones. To prevent players from skipping puzzles using the mega-jump, I may disable the platform in certain levels or tweak physics variables like gravity or mass.

One issue is that the mega-jump can cause Wings to leave the screen. This could be addressed either by limiting jump height or adjusting the camera to partially follow Wings off-screen.


Figure 3: Mega-jump

Level 3 features Whiskers’ tunnelling mechanic, with animations from Elthen's Pixel Art Shop (https://elthen.itch.io/). A small script was added to each hole as a reference point for the larger script that handled the bulk of this ability. With the help of ChatGPT, the main script identifies when Whiskers is in range of either hole (via box collider), activates the triggers connected to the enter/exit animations, waits briefly to allow for each animation to play and then teleports Whiskers to the connected hole.


Figure 4: Tunnelling mechanic

Lastly,  for early builds to be testable, I added a retry button with a custom font (obtained from Tiny Worlds https://assetstore.unity.com/packages/2d/fonts/free-pixel-font-thaleah-140059) which simply reloads the current scene (level) when clicked. Additionally, I added a signpost to signify the end of each level. The signpost contains a box collider that functions as a trigger as well as a script that checks if both players are in range and subsequently loads the next level. To smooth out transitions, I added a black image to the UI canvas and a script that interacts with this image to create a soft fading transition. ChatGPT was used to assist with the creation of these scripts. 

Figure 5: Demonstration of fade transition and retry button 

Feedback:

Unfortunately, I didn’t receive much feedback during the testing session due to the limited build. The comments I did get included:

  • Remove 1–2 frames from Whiskers’ jump animation to make it feel more responsive

  • The boxes in Level 2 felt too floaty

  • The environmental art style works well

Regarding the animation: Whiskers’ jump has very few frames, so removing even one made the motion feel too abrupt. I’ve decided to keep it as-is for now. I did, however, increase the boxes’ mass to make them feel more grounded.

Most bugs were identified by comparing the Unity editor to the Itch.io build. Brightness, UI scaling, and jump animation inconsistencies stood out. I resolved the brightness issue by adjusting the Global Light 2D settings and fixed UI scaling by switching to "Scale with Screen Size."

The jump animation bug was trickier—flickering only occurred in the Itch build. When implementing the tunnelling mechanic, I encountered a similar problem, which I solved by enabling “Exit Time” in the animation transitions. This fix also worked for the jump animation, though it has introduced a slight delay in the landing animation, which I’ll refine further.


ChatGPT Usage:

Files

Build 16.zip 13 MB
33 days ago

Leave a comment

Log in with itch.io to leave a comment.