top of page

MOUZE: DEVELOPMENT LOG

This game was inspired by one of my childhood cartoons, Tom & Jerry, and a mobile game that was pulled from the store, Spy Mouse. The main goal of this prototype was for me to improve my technical skills by programming and implementing a couple of mechanics. Learning how to make Pixel Art was a huge plus. More on that later!

For this prototype, I decided to go with a 2D top-down view. One of the things that a lot of players wish they had on Spy Mouse was more control over the mouse which is why I went with WASD instead of the click-to-move movement.

After deciding on the type of movement, I quickly put together an Action Block ("Action blocks are usually unpolished. They don't have good animations. Everything is kind of placeholder. But there are no constraints. Just make something, anything you want, that could be fun." - Zampella) with a couple of walls and a cheese collectible in the middle.

To achieve the WASD movement, I used Vector3 and Input.GetAxisRaw(). More on this HERE!

WASD Code.png
Collectible Code.png

Just like in Spy Mouse, I wanted to be able to pick up items that would become essential to the quest. I created a placeholder "Cheeze" object, turned it into a prefab, and added a "Cheese" tag to it. I used a combination of OnCollisionEnter2D + Destroy (gamebObject) which ended up working pretty well. The cheese gameObject was destroyed as soon as the player came into contact with it. More on this HERE!

After implementing some basic movement and the ability to pick up the cheese, I put together a simple Menu that would take me to the first level or exit the application if I chose to.

I then decided it was time to start adding some sort of challenge to the game by creating some enemy placeholders that would chase the player as soon as the level started. Used Vector2.MoveTowards() to achieve this behavior.

The need for a GameManager started to become evident so I made a GameManager script and added a RestartGame function which activated the GameOver UI that I cloned off of the MaineMenu UI and updated the the Start button to Restart instead.

 

Added another OnCollisionEnter 2D to detect when the player has collided with the enemy. Once they do, that triggers the GameOver UI.

Added a second level that becomes accessible after the player completes Level_01. 

Just like in Spy Mouse, I added a door that unlocks once the player collects the cheese. The only difference is that it slides up due to not having art for it at the time.

Once the player collects the cheese and avoids getting caught by the cat, The door opens up and the player can move on to Level_02 where they'll find two cats instead of just one.

At this point, I felt like I had a simple core loop going for the game so I decided to take a break from programming and started diving into the world of Pixel Art. 

This was my first time making pixel art so I didn't know what to expect. After downloading Aseprite and watching a few tutorials, I felt competent enough to make some art for the mouse, cat, cheese, and a Box (more on why I made a box in a bit). 

Jerry (1).png
box.png

While I was making pixel art, I asked myself "What if I make a box that players can push around and see what comes of it?" So I created the box along with the other art and imported it into unity. Once imported, I replaced some of the placeholder game objects with the new art.

I made one box darker than the other so players can tell which boxes are movable vs the static ones.

Adding boxes allowed me to introduce another feature into the game, puzzles. 

After updating some of the game's art, I felt like it was only fair for me to update the Environment art, so I did! The most challenging part about this was giving the walls that top-down kind of view.

I also learned how to work with the tilemap system in Unity during this process.

After playing through some of the levels I felt like it could use another mechanic so I decided to add a Pressure plate that opens the door when it comes into contact with the player. 

Not sure if you noticed, but I also updated the door art for all levels. 

I then added the option to have the box trigger the door open on collision. That combined with the cheese mechanic made up for some good simple objectives. 

The last thing I wanted to add was some enemy pathfinding but didn't want to spend a ton of time. That's when I came across A* pathfinding. Implementation was pretty straightforward with all the documentation that was provided which yielded great results.  

bottom of page