This project was created to learn the diverse features of Unreal Engine 5, while also learning what it takes to implement great player feedback. It started ou with two given keywords: 'Change' and 'Arrange'. With this, I started developing over the course of two months by iterating every week. During development, I paid close attention to structure and clarity. I made sure everything had a suiting name, that behaviour was grouped, that files wouldn't become too bloated, etc... The goal of the finished game, from the developers perspective, was for players to be able to play the game without too much explanation.
On the other side of the window, there's a room that's rotated 180 degrees. It's your job to place the loose items in the same positions as in the other room.
Do this before the time runs out to go to the next stage, but beware of sudden changes in the other room. There's also an anoying cat that wants to push everything off.
Go on for as long as you can and try to beat your highscore.
I implemented an Interface for objects that can be selected (hovering the cursor). Upon hovering, the items light up while the item- locations show a selection box.
To generate the rooms, I have predetermined furniture spawnpoints in the example-room. Per stage, random spawnpoints are activated and spawn the item locations with their item ID. After that, a copy of the furniture gets rotated 180 degrees to the other room.
When you placed enough items in their correct spots, you receive a one-time-use powerup that automatically puts two random items in their correct spot.
Every game needs some variety. After a certain amount of time 2 items in the example-room will switch. This is indicated with sound and particle effects. At a certain stage, a cat will appear that slowly creeps towords a piece of furniture. The cat will try to push items off once it has reached the target. When the cat is done, it meows to let the player know an item might be pushed off.
When the time has run out, you can save you highscore to a file so you can try to beat it later on.