MAGS Day 28 – WOOF.

I’m happy to report 15 Minutes is now 100% playable!

Don’t ask me how it got there though.

Naively I thought I was practically done with the final puzzle. Just put in some graphics, right? Specify the correct solution and hook it into the room script and it’s all fine, yes? Yeah right. Reality proved me wrong, repeatedly, during the course of the day.

Next time I might think twice before building a puzzle which has 5 moving parts that each have 5 different states and each state has another object associated with it. That’s a technical way of saying I’ve got 5 plugs attached to 5 wires, and 5 possible sockets to stick them in. That’s a lot of variations (25 to be precise), and even more code. Seriously, you would not believe how much code it took. Probably altogether it’s about 33 % of the total game code. Maybe more. I don’t even want to look back at it. It works, so I’m not touching it.

Drawing (and mainly the exporting of) all those wires was an ordeal, but as always a typo proved to be the biggest headache. I think I spent a good hour trying to fanthom why on earth the code was not returning the correct solution when CLEARLY all plugs were in the right sockets. It turned out that somewhere deep in the vast jungle of code I had misspelled an instance of Plug2 as Plug1. I was about ready to tear my hair out when I finally found it. Good lord.

Though doing the last bits of coding leading up to the game being gameplay-complete were undeniably exciting. It was a rush I’ve seldom experienced during coding. Maybe because I’ve seldom completed a game to begin with. But let’s not talk about that.

This all-day ordeal did seriously cut into my time budget though as I was hoping to also do some animations today. But thankfully Atelier extended the MAGS deadline to next Wednesday, which came as a big relief.

After that I spent some time going through all the rooms and fixing the walkbehinds and adding hotspot descriptions and walkto’s.

My final act of the day was, symbolically, the ending. I plugged a credits screen in there and a sort of conclusive message that I’ll expand with a little video later on.

Looking at those few lines that constitute the winning condition felt really, really good.

if (AllPlugsCorrect == true) {
Wait(20);
player.Say(“We did it!”);
tracker = “win”;
CountDown.Stop();
aCredits.Play();
player.ChangeRoom(5);
}

*truncated for readability

Leave a Reply