Category: Game development

  • A former drug addict, a priest and an investor walk into a games expo…

    Stop me if you’ve heard this one.

    INDIGO, the games expo put on by the Dutch Game Garden, was pretty intense this year. 32 local devs gathered on the spaceous ninth floor of music palace TivoliVredenburg for two days to showcase their games in development. I was there too with Black Feather Forest.

    I saw some familiar faces, some fresh new ones, and talked to a ton of people. Seeing visitors take the time to play through the entire demo and most of them raving about it afterwards was a really great experience, and a much needed refreshment after the past few weeks. Thank you to everyone who came out and stopped by! My parents, uncle and some good friends included. Also dinner with my Game Oven friends was a good time, and my booth neighbours from Wolfdog Interactive kept me going through the long hours. And a special shout-out to Benjamin who came to help me out on friday evening after work when my legs had turned to jelly. You rock dude!

    It’s hard to describe all the moments and conversations from those two days, but I wanted to highlight a few that really stood out.

    As a kid I used to read Power Unlimited, the biggest games magazine in the Netherlands. Of course like any publication it’s run by normal people, but having looked up at these guys in my teens it felt pretty special to have them stand in front of my booth checking out my game and following me on twitter now. Check that off my bucket list.

    Speaking of nostalgia, the memories left behind by the game Broken Sword are what compelled me to start making my own games, and then all of a sudden I run into a programmer from Revolution Software, and a dutch one at that, on the show floor. It was really cool to meet Joost and exchange adventure gaming stories.

    Near the end of the VIP night on thursday an older man came up to me. He started on the demo as I explained what the game was about, then he turned to me and asked me why I cared so much about this particular true story. From there we got caught up in a passionate exchange of ideas, where he revealed that he was a recovered stock-broker-turned-drug-addict who just started learning about computers three days ago. After getting clean he had set out on a quest to learn about himself, and had become a very joie-de-vivre carpe-diem kind of guy. He wasn’t even on the guest list that night, he had just wandered in and was having a blast talking to people. We spoke for about half an hour and at the end shook each other’s hand with a well-meaning I haven’t experienced in a long time. Like we were both genuinely excited to see the other enjoying life, and wishing eachother well.

    The second day of the expo was also punctuated by an unexpected meeting. 5 minutes before the end of the show a man dressed in a priest’s garb came up to me. I recognized him as Roderick Vonhögen, also known as the podcast priest. He hadn’t played the demo yet but had read all about the project on my website before coming here and went on to tell me how incredibly cool he thought it was. He was even familiar with The Walking Dead games, which was perhaps even more of a surprise. It was super cool to have had a chance to talk with him before packing up and heading off, and I took his encouragement to do a Kickstarter and get on Steam to heart.

    I’d been on the fence about Kickstarter for a while, but after I left the hubbub of INDIGO behind that night and checked my email on the bus home I saw that perhaps a Kickstarter was not even going to be necessary…knock on wood. More info on that very exciting email soon.

    All in all INDIGO was a great succes and I want to thank the Dutch Game Garden for letting me be a part of it.

  • From the vault: The Majestic Conspiracy

    One morning in 2004 or so, I got up and decided I wanted to make a video game.

    I was about 15 or 16, I had just finished Broken Sword, and went in search of a program that could let me make an adventure game myself. I tried a few different ones, and eventually settled on Adventure Game Studio. With it I started my first game, based on a 44-page comic I had drawn the years before. It was called The Majestic Conspiracy.

    It even had a dvd case sleeve ready to go.

    For the next ten years I worked on it off and on, through several iterations of the script and the art style, through multiple versions of AGS, four years of game design college and an internship. It was the classic too-ambitious-to-finish first project. So today I thought I’d write about it, to honor its demise.

    (more…)

  • Week 54

    This is a weekly recap of the goings-on in my professional life – to keep track of what I’m doing and to give you a peek at what it’s like being an independent creator.

    Last week was the final week of the second development period for Black Feather Forest, its goal being to polish up the demo to submit to an event here in Holland. I’m glad to report it was succesful, which means you can play the new version right here!

    Content-wise not a lot has changed; I’ve mostly fixed bugs, edited dialogue here and there and added a few of the planned features to the GUI. Notably the Dossier is nicer to look at, and the dialogue UI should play nicely on all resolutions now. Initally I wanted to also add some new locations, but with the time I had I decided it was better to make the existing content solid before moving on to new challenges. And the past week left me no other option when a handful of game-breaking bugs came to light!

    being a game developer is sometimes a bit like being an explorer, because you often see really weird things that nobody has ever seen before. Especially when there are several plugins working together in ways you have no idea about.

    Things like a conversation with an NPC only triggering if it was the first location you visited in the game. Or menus that you explicitely disabled popping up again if you press the skip button at the wrong time. Colliders rotating on the X-axis when a character turned on the Y-axis. Cutscenes that only run half of their actions. Z-buffers that sort differently between engine and build. Every day is a new adventure.

    Luckily both of these plugins are made by devs that really understand how to run good and swift tech support. So thanks Chris and Tony.

    So now that the demo is ‘done’ I can comfortably start adding new content. Basically starting the production towards the final product.

    And finally, there is also a matching url now: www.blackfeatherforest.com

    Next week: the tale of how I’m probably going to break all of the things by upgrading the software.

    If you have other topics you’d like to hear about in a future blogpost, let me know in the comments.

  • Black Feather Forest update

    Well, cat’s out of the bag – Black Feather Forest appeared on Warpdoor, a curated site for interesting indie games run by smart guys from indiegames.com and killscreen. So if you want to check out what I’ve been (mainly) doing for the past month or two, grab the demo and let me know what you think.

    The demo is a rough early version with some features missing or partly implemented, but any feedback or suggestions are appreciated; bug reports too, either here or in my email.

    And now seems like a good a time as any to tell you about the website for Black Feather Forest. There’s not a lot there yet but it’s a nice place to go, a sign that it exists for real at least.

    It’s weird when something ends up in the ether outside of your own involvement (I only posted to a forum for feedback), but at the same time it’s somehow reassuring when it gets picked up, that you’re on the right track with what you’re doing. I wasn’t going to drop the demo publically until I polished it up to my satisfaction, coinciding with an upcoming showcase at a festival, but I realize that when you are making things you always want to hold onto it until it is ‘just right’. There’s always something more to polish, to improve, to add, to tweak. So heck, let this be the way that I get over that and let you guys in on what I’m making here. I hope you dig it.

  • Black Feather Forest

    Time to pull the lid off a project I have been working on for the past month:

    logo

    HoT v0 2014-05-14 19-11-30-64

    BFF is a 2D adventure game inspired by true events and Haida mythology, aswell as things like True Detective, Fargo, Detective Grimoire, Kentucky Route Zero. It brings together many threads of ideas for games I’ve had over the years and ties it together with real-world influences.

    You play as Sofia, a documentary maker, and together with your cameraman Caleb you travel to the town of Augier’s Peak, up in the wilderness of rural Canada, where three people have gone missing recently. You are free to travel around town, where you will meet a handful of inhabitants that all have their own reasons to help you discover what happened – or not. You gather clues by talking to people and combining pieces of evidence and statements to slowly try to figure out who or what is behind all this.

    For now I’ve completed a demo that shows the first few locations of the game and sets up the story and gameplay. With that I hope to generate some interest that could lead into the further development of this title. I’ll keep you guys updated on the progress and share some more insights about the development as I go along. Let me know what you think in the comments.

    dialog concept chardesign moodboard

  • Week 42

    This is a weekly recap of the goings-on in my professional life – to keep track of what I’m doing and to give you a peek at what it’s like being an independent creative.

    Development on my upcoming game continued this past week. When the demo is done by the end of this week I’ll be able to tell you more about just what the hell I’ve been making.

    On monday and tuesday I worked on the first two scenes of the game, writing the dialogue and setting everything up just right. Apart from a few minor things I was very happy with the outcome. The workflow I had established worked well and allowed for a pretty quick setup of a scene. I also iterated on the story and made it readable to people who knew nothing about the project in preparation for the pitch document I’ll be writing this week.

    On wednesday I set up the next big scene in the game, which went very smoothly. Because I had finished well on time I set aside work that night to play Kentucky Route Zero Act III. Apart from being impressed as always by the visuals and the tone of the narrative, it reminded me that it is okay to write a little more than bare minimum if it is interesting to read through.

    On thursday I applied this newfound insight to finishing the last of the in-game conversations, and it was a doozy.

    I’m very thankful for Dialogue System For Unity, a plugin that made the management of these long branching conversations a lot easier. And most importantly, it integrated with Adventure Creator, which made it top choice over things like Dialoguer or Playmaker.

    I spent the rest of the day customizing the UI and wiring up things like the fast-travel map and the clue system.

    On friday I took a break from development to work on a freelance assignment. I was faced with the challenge of drawing a character in vector, but I’m not good enough with vector tools that I could pull that off in two hours and have it look good too. So I decided to give Mischief another try. I sang its praises before but man it really came through for me this time. I could draw exactly like I would in Photoshop (without all the fancy tricks like clipping masks and blending modes though, so back to basics, time to be a real artist again ha!), but it took the form of infinitely scaleable vectors, ending up with the best of both worlds. I went to buy it right after.

    Saturday night I tinkered with the game’s code a bit and fixed a bunch of bugs. As it usually goes, I was ready to make a new build and then suddenly all kinds of things came to light. But I managed to fix a good few eyesores. On sunday I mostly worked on missing art and more bugfixes.

  • Explaining deltaTime

    The concept of ‘Delta Time’ took me the longest time to figure out. It’s a concept in computer programming that helps make sure that every user has the same experience regardless of the clockspeed of their machine. This is especially useful in game development, where you don’t want the player on an older machine being inherently worse than the player on a state-of-the-art machine.

    I still have to think really hard when I explain it to someone but it’s basically like this:

    Take one second of gameplay from your game and imagine it as a white picket fence.

    Each fencepost represents a frame, a still image, so in a regular game your fence would have 30 posts. (30 fps)

    If your computer is slower, there are less posts in your fence. This makes the space between the posts bigger. That space between the posts is the deltaTime.

    So if you want your guy to move from A to B, and it takes 30 frames to get to B, players on 30fps will get there in one second, and players on 15fps get there in two seconds. Obviously unacceptable, especially in a multiplayer game.

    So if you multiply the movement speed with the deltaTime (the gap between the frames), you ensure that every player always reaches point B in the same amount of time, regardless of how fast their computer is.

    This is because when you run at a lower fps your deltaTime is LARGER, because the GAP between frames is larger, and so each movement gets multiplied with a LARGER number, which means your dude will move FASTER so he can keep up with the intended pace of the game.

    Hope that helps.

  • Week 39

    This is a weekly recap of the goings-on in my professional life – to keep track of what I’m doing and to give you a peek at what it’s like being an independent creative.

    It’s strange how much you can disappear into a hole when you’re deep in gamedev. I’ve been working on it all week, but it doesn’t feel like work. I’m having fun.

    Even butting up against a problem that grinds things to a halt was fun because such a situation promises a mental exercise, pushing my problem-solving skills to the max. Each problem is a puzzle, and in an almost detective-like way, again, you have to put the pieces together.

    So that was thursday, when I spent about an hour lying on the carpet here trying to unite the design that I had with the tools that I had. The days before that I worked a lot on setting up the basic infrastructure of the gameplay mechanics. Talking to people is an important aspect of this game, and so that system needs a lot of thought and effort. It’s not all the way there yet but it’s taking shape.

    The final thing I did this week was work on some idle animations. It’s cool how a few blinks and a head-turn already do a lot to make a character seem alive. I’m looking a lot at Puzzle Agent, or Grickle’s style in general. I’m pretty good at animation but at some point it just becomes such a timesink that I’d rather do things as efficiently as possible. And this is not a case where I have time for tweaking the bounce in a walkcycle – in three weeks I need to have a solid demo to submit for an event. Let’s see if I can make it!

    I realize this post does little to clarify what the actual game is, and I’m keeping it that way for a little while, so in the meantime have a moodboard.

  • Twine

    Got into Twine today to write and map out the story for the next game I’m working on and it’s been a delightful experience, very easy to write branching dialogue and test it right away, plus it’s similar to Playmaker, so implementation in Unity will be a breeze.

    20140411-233958.jpg

  • Crosshairs and Markers

    Some early designs for a lock-and-key mechanism in a game I’m working on.

  • Prototyping the LFG game

    During my time at Paladin I worked on a game for Blind Ferret Entertainment based on their hit webcomic Looking For Group.  It’s been the biggest game I’ve worked on and it was a lot of fun, even though we eventually ran into problems that stopped it from going into full production. I wrote a few blogposts about the proces of turning this comic about a game into a game about a comic.

    Building a new game always requires some forethought. Before you can start dressing up levels with explosive barrels you need to think about ‘what do I consider a level?’ and ‘how much exploding should explosive barrels do?’ That is why we build prototypes.

    For Fork of Truth we had to start with the basics – movement and camera.

    You may have a mental image of the way something should work, but by building it you often discover that there are things you haven’t thought about. For example: having a fixed isometric camera and a character that follows your mouse cursor sounds like a fine system, but if you then walk downwards on the screen, your left and right directional buttons are inverted. So we had to correct the movement to be relative to the camera, independent of the character’s rotation.

    Upon seeing the above prototype one of our programmers remarked “it’s funny to see the difference between a programmer’s prototpes and an artist’s prototypes.  I mean you’ve got the vignette and the dynamic shadows all up in there and stuff, really cool!” Heh. They are unnescessary frills but they make the prototype just a bit more pleasant to look at.

    Now, Isometric cameras are usually orthographic, but we found much nicer results with a perspective view. Then we tried zooming, and this worked very nicely to show the characters up close, but made it impossible to see or fight anything standing ‘below’ you, since our camera does not rotate. So we could either make the camera rotate, which we didn’t want to do because it would triple the work we had to do to make the level look good from every angle, or we could adjust the camera curve so it never zoomed to a point where this became a problem. All these considerations I could not foresee when typing up the game design document.

    The control scheme we went with was very similar to a third person game with strafing and mouselook etc, but unlike a third person game our camera does not rotate, so now we had the matter of a character walking one way while facing the other. Does he turn his head? How far can he turn? Does he walk backwards at some point? Do we need a different animation for that? What happens if he attacks?

    Now we cross over into the territory of animation blending, a topic our Technical Director Niels did some stellar work on using Mechanim. These are all things we needed to think about before we started building our systems so that they were as flexible and modular as possible so we could easily extend them if we thought of new features down the road.

    Once we liked the feel of the controls we added in attacks, enemies, and built a little level around this. And again we discovered things to think about: if a player goes behind a house that obscures the camera, do we turn the house transparent? Does the camera zoom way in? Do we outline the character so you can see it through walls? Do we redesign the level so this never even happens?

    Every prototype raises questions that we can then investigate in a new prototype. And it’s important to make it a NEW prototype, so you can look back and compare, salvage what works and throw out what doesn’t, so you end up with something that has been tested and improved upon even before it was properly built.

    And then with all these systems fleshed out, you can start to see how they work together. Opportune time to delve into gameplay topics, like how far apart should the enemy spawns be to make the pace of the level enjoyable? How many enemies can a player handle at once? Do we need less enemies or should the player’s attacks just be more powerful? How many meteors can Richard summon at once before the game crashes?

    You know, important questions.

  • Creating humor with game mechanics

    During my time at Paladin I worked on a game for Blind Ferret Entertainment based on their hit webcomic Looking For Group.  It’s been the biggest game I’ve worked on and it was a lot of fun, even though we eventually ran into problems that stopped it from going into full production. I wrote a few blogposts about the proces of turning this comic about a game into a game about a comic.

    Humor is an important part of the LFG universe. But it’s not all in the words the characters say. Their actions and their surroundings are just as important. So especially in a game, where the story goes hand-in-hand with (or more often is overshadowed by) the gameplay, it’s important to have different ways in which to construct a joke. In this article I’ll talk about some of the game mechanics I used for this purpose.

    The LFG group are real buddies. They might bicker and shove eachother around occasionally (well ok all the time), but they still work together to defeat whatever monster is chasing them. So we wanted to emphasize that with the gameplay, not only letting you play with your buddies, but actually giving you benefits if you work together. For instance, If Richard sets Cale on fire, his arrows will be on fire too and deal double damage. Then Benny can heal whatever health Cale lost. Ice spells and swords go very well together too, as do group stuns and area-of-effect attacks like Krunch’s stomp.

    But even though these guys are heroes, they can be kind of clumsy sometimes. So we tried to include a way in which each ability at their disposal has some sort of risky side-effect. Summoning Cale’s pet panther has a 50% chance of inflicting friendly fire for instance, Richard’s fireballs might sometimes decide to fly off in a completely random direction, and if Benny heals you in the midst of battle you might sprout and extra arm or leg. Or a beetle head. Combined with friendly fire this makes for some hilarious battles. Even when it was all buggy and crap in the alpha we were having fun with it.

    [youtube=http://youtu.be/1ghAu3mwNF0&w=720&rel=0]

    Once you’ve looted all the cold, dead corpses you’ll want to sell some of that stuff. Usually that means backtracking all the way to a village merchant. But surely our heroes can think of a better way right? I mean why not just summon a merchant into the dungeon? And once you’re done you can fwoosh him and you’ll be on your merry way.

    Knowing the exact value, damage, protection and/or weight stats of an item that you pick up off the ground is a silly thing… that is why every item in LFG has EVEN more weird stats, so you can see if that new sword goes well with your purple outfit, how sweaty the previous owner was and whether his angry soul may still reside inside the weapon.


    Stealing items from one another was also a feature we considered in several forms. If loot was not instanced it would be possible for someone to scoop everything up (I’m looking at you Jerry Holkins), which could lead to some animosity, so if you were close enough to the other player you could tap into their inventory and claim what is rightfully yours. This also works in reverse, where dumping a lot of heavy items into a low-level player’s inventory would root them firmly in the ground under the weight penalty.

    And ofcourse there is also the item storage bear.

    All these things work together to create humor and narrative that emerges from the stories the players create by playing the game, not just by way of the main story that we designed, so players can actually feel like they’re on an adventure in the LFG world even when they’re not out questing or interacting with other characters.

  • Translating a comic about a game into a game about a comic

    During my time at Paladin I worked on a game for Blind Ferret Entertainment based on their hit webcomic Looking For Group.  It’s been the biggest game I’ve worked on and it was a lot of fun, even though we eventually ran into problems that stopped it from going into full production. I wrote a few blogposts about the proces of turning this comic about a game into a game about a comic.

    LFG The Fork of Truth was an ambitious project. It has a ton of lore and a large fanbase. So to deliver something as outsiders that fits into the LFG canon we had to become intimately familiar with its universe. To do that I went through a few important design steps before we could start having discussions about how big the fireballs should be.

    The steps below are not a rigid structure but merely the way I prefer doing things, and this process applies just as well on books to films, films to games and whatever else.

    Look at the source material

    This sounds like a no-brainer, but it is easily the most important part. LFG does not begin and end with the comic – the comic is simply one window into the world of Legarion. So just skimming through the comic and lifting out the good parts is not the way to go about it. Many games about movies take this route and it gives them problems because the two media are fundamentally different in structure.

    What I’ve learned from doing a webcomic myself for many years is that the most important part is the characters’ identity. If you have an understanding of how each character would behave normally, all you have to do is put them in a wacky situation and the dialogue will practically write itself. They can never do something out of character because you know them as if they were your friends.

    The only one who really has that complete picture is Ryan Sohmer himself, and I was very lucky to be able to talk directly to him. Between that and reading reviews, analyses, comments, looking at concept art and talking it through we tried to gain an understanding of this property that approaches Sohmer’s own.

    Find a new angle

    Once we had that understanding, we started looking for a fresh new angle. The Chronicles of Riddick: Escape From Butcher Bay is a great example of this. Instead of copying the movie they created a brand new story in the Riddick canon that expands on his backstory and creates context for the things you see in the movies. It opens up a new window into that universe. We treated FoT in the same way.

    The heroes are always on the move. And we know the high points of their story, from when they met to their trek to Kethenicia, the dwarves, the Plane of Suck, the Legara threat and beyond. But inbetween, what do they do? Where do they get all their fancy weapons and skills? What happens when Richard misplaces his fork during dinner? We aimed to answer those questions, and have players experience the daily life of this group. Which involves a lot of bickering and setting things on fire.

    Adapt it to the desired medium

    So now that we know our characters and our angle, we start to see how it could fit inside the structure of a videogame. We are in a fantasy world, we have multiple characters with different skills, violent battles and hilarious situations. So logically we end up with a 4-player coop hack-and-slash action-RPG.

    During our design process we wrote down these five design tenants, which influence all our decisions:

    Make players feel like they are part of the LFG world, not just a random fantasy world – include well-known locations, characters, events.
    Give players freedom – within reason, we want players to choose their own adventures.
    Pick up and play – players should be able to get into a session quickly and easily.
    Multiplayer – the game is focused on playing with friends, though it should not exclude single-player. Playing with others should have benefits to the challenge and the fun.
    Quirky crazy humor – If something has potential to be used as a joke, do so. We have to find the twist in every system, the joke in every quest description. If a player hasn’t laughed in 5 minutes, we missed an opportunity.
    Next we have to start thinking how this actually works. Games are all about repeatable actions, so we design the core gameplay loop, a simple flowchart that shows which things you’ll be doing in the game and how they interconnect:

    After that we look at each part of this flowchart and start designing the systems behind them. From the way you travel from dungeon to dungeon to the way the inventory works and what defeat means. I will highlight a few of these ideas in a later blogpost.

    Prototype

    Then comes the time to start prototyping each of these nuggets. Prototypes are super important to test these ideas before we spend time and money on making them. And once these prototypes feel right we can lock the design and go ahead with the actual production.  I’ll talk more about the combat and level design prototypes we made in an upcoming blogpost.

  • Battle

    Concept art for my current project at Paladin Studios, an honest-to-god dungeon crawler RPG!

  • Ominous

    Trusted Soil is almost ready for its public debut, this friday and saturday at the EJECT graduation expo at the HKU! If you are in the neighbourhood, do stop by and come take a look! In anticipation, please enjoy this promo poster:

  • 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.

    Presenting

    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) {
    Wait(20);
    player.Say(“We did it!”);
    tracker = “win”;
    CountDown.Stop();
    aCredits.Play();
    player.ChangeRoom(5);
    }

    *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

    [chamon-AH!]

    [heeheeeeh!]

    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 10 – Scavenger hunt

    Today I got the first puzzle -and with it the first section of the game- fully working. I also imported the first version of the main character, finally replacing some of the placeholders. It’s starting to feel like an actual game now and not some thrown-together tech demo.

    I like it.

  • 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!