MAGS Finale

After some intense last-minute work (I hate walkcycles), the game is DONE!
I submitted it to MAGS a few days ago, and now here it is for you enjoyment aswell.


Weathered special agent Jake Brewer is called upon once more to secure the safety of his nation. But this time he only has 15 minutes before everything goes tits-up. ARE YOU A BAD ENOUGH DUDE TO STOP THESE TERRORISTS IN TIME?

Download the game HERE

MAGS Day 33 – Bug patrol

Oh man. We’re one day away from the (extended) MAGS deadline! And 15 Minutes is almost finished.

I sent the beta off to testers just before the weekend, ensuring I would have some feedback by the time I went back to work on monday. Or tuesday actually, since I had to do actual job work on monday. Work that intruded also on today, a day I had blocked off entirely to finish the animations. It set my planning back quite a bit, but the time pressure was a good catalyst and I still got pretty much everything I wanted to do today done.

That being said, I still hate doing walkcycles. I love ’em when they’re done and ingame, but creating them is just torture for some reason. The side walkcycle not so much anymore, once you’ve found the right key poses the side is easy to do. Just a couple of rotating limbs and things quickly look pretty good. No it’s especially the front and back walkcycle that annoy me. They’re a whole different story since perspective really comes into play there. And you can only get so far by distorting limbs. So that’s something I’m going to tackle tomorrow. I have the basic motion but I think I need some dedicated poses. Worst case scenario I substitute the front and back walkcycles with the sideways ones like I did in Coyote.

The rest of the work was mostly bug fixing and polishing. I’ve been doing a lot of polishing today and sunday – a little sound effect here, and extra dialog there. I’m glad I have time to spend on these little things, they really make the game feel solid. Much more solid than any previous (personal) project I have to say. I can’t wait to see what people think of it. Initial testing was very promising.

The feedback from testers was extremely valuable. They find all those little things that you overlooked or just never thought of. It was pretty remarkable too that three testers in a row picked the right solution for the final puzzle out of the 5 options! So I definitely had to change that. I toyed with the idea of scripting it so that the first try is always the wrong one, and the second one always the right one, but somehow that felt cheap to me. I know in game design it’s a big faux-pas to present a player with a critical choice without any sort of indication which one is the right one. That’s a pure guessing game. But when you think about it, that IS the situation for the main character. He is suddenly presented with a handful of options and no idea which one is the right one, so all he can do is try them all until he finds the solution. I liked that concept so I kept it the way it was.

Maybe also because making it random for every playthrough would have been a hell of a thing to code.

I’m really excited by what this game has become, and I do not regret shirking other responsibilities a bit to make it. Even if I don’t win MAGS, I’m proud of this game and proud of myself for building it in a month.

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) {
player.Say(“We did it!”);
tracker = “win”;

*truncated for readability

MAGS Day 27 – Plugging holes

Quite the remarkable day this has been – I actually did everything I promised I would do today! In part I think I can thank the realisation that I pretty much only have today and tomorrow to finish the game(!) as the weekend is going to be a bit chaotic (Queens Day festivities in Holland and my dad and uncle’s birthdays). Though there has been talk of extending the deadline to next week, so that would be excellent.

The gods of productivity didn’t take it easy on me neither, bombarding me with emails all afternoon. But I powered through it and got a lot done. I think it was a good idea to start with the turnaround for the barista. Drawing cute girls is always a nice motivator haha. By lunchtime all the characters were done!

In the evening I finally cracked my knuckles and started on the final puzzle. It was a beast of a thing to script, what with 25 different variations, but I was surprised to find I had managed to code the entire framework into a pretty much fully working state in one go without running the game inbetween. I expected to have a lot more trouble with it. But those issues will probably come to light during the playtesting…

With 25 abstract system states in the pocket, it was then time to create the graphics for it. Which meant drawing lots, and lots, of wires.

So what’s left for tomorrow is to script the connecting part of the final puzzle and the ending, do some hardcore animating and go through the whole game fixing walkbehinds and walkto points and such. A lot, but doable!

p.s. Let me tell you, Lux Aeterna is a great song to play while you’re doing some intense, constantly-scrolling-back-and-forth coding in the Global script.

MAGS Day 26 – It doesn’t matter if you’re black or white



That was my Michael Jackson impression, in case you were wondering.

After a period of relative laid-back-ness I am feeling the heat now. With only one week left (less actually by now), there is still much to be done. I haven’t gotten ’round to the final puzzle yet (mostly because I’m not looking forward to coding all the possibilities) and I am equally if not more NOT looking forward to building walkcycles for the characters. Though I did create the turnaround for Jake today and complete all (4) backgrounds. The rest of the day was filled with miscellanious tinkerings; buttons, shadows, walkto’s, that sorta stuff. Because of the small number of rooms I tried something fancy with the character shadows that I think you’re gonna like.

Because of the time pressure I decided to cop out a bit and do the graphics in black & white now. It’s a style I use regularly in my comics, and I must say it doesn’t look half bad here either. I might still color them for a post-MAGS update though.

Tomorrow I’m gonna tackle the final puzzle then so the gameplay is complete. And draw the remaining character turnarounds. I’m hoping by writing this down in here for you to see I’ll feel bound by some moral obligation and actually do it for real this time. So check back tomorrow to see if you get to yell at me or not!

MAGS Day 18 – Double take

I was surprised by how little work it took to power through to the end of the game. I just have to build the final puzzle now (which is going to take some brain-wrangling for sure) and then I can start filling the game up with interactions and graphics. I hope to be done in time to do a little testing before I submit to MAGS – my target is for players to be able to complete it juuust in time, but I have no idea if that matches up with how long players actually take to get through it. I’m living on assumptions here, and as Steven Seagal once said, “assumption is the mother of all fuck-ups.”

(I actually put a closing bracket and a semicolon behind that quote out of automatism, that’s how deep into coding I am right now…)

Special thanks also to Alasdair Beckett for helping me sort out some extended functionality for his Smoothscroll module. Getting it to play nice with my splitscreen system proved somewhat of an ordeal. A system which, as I discovered yesterday, is actually way more efficient if I use GUI’s instead of room objects! I was under the impression that spoken text would not appear above a GUI, but apparently I was mistaken, which is good news as it fixes a few visual oddities and interferes way less with the rest of the script.

MAGS Day 15

It would have been nice to say on the 15th day of MAGS that 15 Minutes was fully playable, but unfortunately that is not the case. It’s been going slow the past week for reasons hard to identify. Although I feel good about what I got done today, which was scripting interactions for room 2 and a part of 3. There’s some pretty cool dialog in there that put a smile on my face. So that leaves only one more room to fully set up, so in theory that could very well be done this weekend. I think I should.

MAGS Day 11 – Temporal anomaly

I got fed up with the fact that the onscreen clock counted down the game time (15 minutes) while it would make more sense to display the actual ingame time (the span between 8 AM and 8:15 AM). So I modified the Countdown module to add instead of subtract, which, aside from feeling a little strange because there are now more digits on the screen, worked flawlessly.

And to my amazement the clock now also somehow knows exactly how much time cutscenes take up, so that when I skip them it jumps ahead to the appropriate time! To me this seemed like some kind of black magic that had manifested itself upon the game without any identifiable cause… but I sure am glad it’s there because that is exactly what I was looking for.

MAGS Day 8 – Spoke too soon

Naming the day 4 post Splitting Headache was perhaps a little premature, since today the splitscreen actually did give me a headache from all the stunts I had to pull to get it to play nice with the rest of the code and the scrolling room. But in the end it worked!

MAGS Day 4 – Splitting headache

Yesterday I didn’t get a lot done because my iPhone broke down and I spent all afternoon fixing it. On top of that I discovered in the evening a few glaring oversights in my dialog engine that required a complete rethink of it’s structure. So yeah, great day…

Today was decidely better. I solved most of the problems I uncovered yesterday, and after a long struggle I got the splitscreen feature working aswell! It’s not perfect but it’ll have to do.

The fun is that the room you are in (the frame on the left) is a scrolling room, so it will keep scrolling as you walk around while the frame on the right (an object) stays in place. 🙂

There’s this strange phenomenon that has happened to me at least a dozen times now where I type up a post on the forums describing the problem and asking for help, and almost always right before I hit the POST button I come up with either a solution or a workaround! It’s a funny thing.

I also sketched out all backgrounds today, so I can finally start building rooms now and get this thing underway proper!