Journal Entry 7


Date: 2025-20-04

Time:

  • 9 hours, adjusting the game as described in “Notes”
  • 45 minutes, writing Journal

Outcome:

Notes:

Changes from One Page Design

Some problems with the design were hard to predict just from the one page design. As a result, I had to tweak a small number of things to make the level more playable and enjoyable.

  • added single tiles to corners If the player pushed a box to a wall, it would get stuck there. So I decided to place a single box in front of the wall on the ground, so that the box would stop there, but the player would still be able to jump on that tile and push the box into the opposite direction.

  • added single tiles on some movable platforms The player has to push boxes on movable platforms. If they player accidentally pushed the box off the platform, they could get soft-locked. So I decided to add small tiles to the platforms, so that pushing the box off would be impossible.

Problems I had to solve

Problem 1

I had the same problem as many other people: the texture of the acid worked in Game mode, but not in the browser. I used the steps from the lecture to fix this.

Problem 2

The most interesting technical problem I had to solve was using the reusable switch to toggle the animation of the door between two states: open and closed. In other words, when the player fires a bullet and hits the reusable switch, the following must happen:

  • door A:
    • must be closed if it was open
    • must open if it was closed
  • the same for door B, since that switch controls two doors. In theory, this is not hard to do programatically. But since we’re working with 2D Game Kit, I felt there would be a way to do this using just the Editor. I had to inspect the door Animator component, and play with the transitions, and eventually, I found out that the Animator had a bool called Switch Flipped, so I made transitions in the Animator conditioned on this bool being true or false, and then used the interface of the Reusable Switch to set off a Animator.SetTrigger and ResetTrigger to set the value of this switch, and it worked.
Problem 3

At some point earlier in the development, I had to figure out an easier problem: a door is controlled by a pressure pad, and it should be open only when the player is standing on the pressure pad. I found out that the pressure pad script has an “On Exit”, which allowed me to trigger the “DoorClosing” animation when the player left the pad.

Problem 4

Since my level has some puzzles, I decided to include sign posts with textual hints to guide the player in case they get stuck. In theory, this was not necessary, but in some cases, it was justified. For example, at one point, the player has to keep pushing one box that they have already used for one purpose, and it only became obvious that the box would be necessary further on, so the player would have to backtrack. Instead, I decided to place a sign hinting that that the player should not abandon the box.

Problem 5

My level is quite large and not exactly easy, so I decided to include checkpoints, since replaying the whole level was pointless.

Problem 6

In one part of the game, the player has to push three boxes at once through a narrow passage. I tested it and it worked fine. Then, during the playtest at one of the labs, it worked for the first playtester, but for the second: the boxes got stuck, as if they were too large to pass through. This was unexpected, because the size of the boxes didn’t change at all. I had to make some adjustments to make it work, but I didn’t find out why it worked in some cases and not in others.

Problem 7

When Ellen is hit, her hearts should go down. However, despite the Unity tutorial saying this should be implemented by default, it was not. How to do it using the existing scripts: click on Ellen, go to Inspector → Damagable script → click on “plus” under OnTakeDamage → assign HealthCanvas from the hierarchy to the first field, and Ellen to the Damagable field.

Problem 8

The problem can push the box off a cliff. I added a script that returns the box to its original position when ‘r’ is pressed.

Get Project T

Leave a comment

Log in with itch.io to leave a comment.