Friday Script – Modern Algebra’s Message Options

If you want to get the most out of RPG Maker, learn Ruby. In the meantime, lots of talented scripters have done the work for you. Every Friday, The Iron Shoe features a fun script and goes into detail about how to use it. It also covers a little bit of Ruby each time so you can make even more out of the script.

Yanfly isn’t the only scripter with a message manager. Modern Algebra has come up with an amazing way to let you change the position of text boxes so you’re not so limited to top/middle/bottom. Coupled with dynamically adjusting window-sizes, this message manager may be exactly what you need to make your game look, well, less out-of-the-box. Today I’m talking about the “Message Options” script (I’ve linked you to a bunch of Modern Algebra’s dialogue options). Download the script, add it to your project, and let’s get started!


There are a whole lot of features in this script, and each one has it’s own customization options. Roughly speaking, we can do the following:

  • Have text follow-on or “append” to the previous text. That is, if you have two “Show Text” commands in an event, one right after another, the manager will appear to connect them in a box.
  • Scroll within your message box at variable speeds, line by line, and allow scrolling up so a player can see earlier parts of the conversation
  • Have various sound effects, including dialogue start, pause, stop and typing
  • Name plates
  • Automatically place the message window to not obscure certain characters or NPCs.
  • Shrink the window to the minimum size necessary to contain the text
  • Position the text in relation to an event on the screen
Look for this section of the script where you can edit the defaults. But all of the defaults can be changed on a message-by-message basis.

Look for this section of the script where you can edit the defaults. But all of the defaults can be changed on a message-by-message basis.

Here are some of the interesting ones:

  • append_text: when set to true, all commands to add text to the message window will be shown consecutively, that is, scrolling in the same window. If this still doesn’t make sense, set it to true and give it a spin so you can see  what it’s like! False would return to default.
  • Pause_before_scroll: combined with append, you’ll get a nice crisp pause before the next page scrolls into your window.
  • letter_sound_on: play a typing sound as the text starts to appear. It’s like Phoenix Wright!
  • message_windowskin: with this, you can actually change the window skin used dynamically in your game. Use a different skin for different contexts!
  • do_not_obscure: this is an awesome feature. Put the ID of the player or event that you want to make sure is visible on screen, and the message window will never obscure that player or event. Really helpful when building cutscenes.
  • fit_window_to_message: this will change the size of the window box every time so it’s only as big as necessary.

A note about combining fit and append. Suppose you have several dialogue boxes in a row in your event, like this:

Here's an example conversation from Vidar - let's beef it up.

Here’s an example conversation from Vidar – let’s beef it up.

If append is on, even if fit is on, the window isn’t going to change size from text to text – it’s going to be as large as necessary to accommodate the biggest text. So definitely four lines tall. And then probably as long as “a tunnel to dig from our yard that would” which is several boxes down. This means that “What is it?” is going to be in a much larger box than necessary. It’s not bad, it’s not good – you should just be aware!

Example Dialogue

In the example above, we have a conversation from Vidar between two characters – Dorottya and Katarina (who affectionately call each other Dorry and Kat). Even if we’ve set up some of our presets in our script, we can (and probably want to) change them here where it’s not just on NPC yapping at us, it’s a conversation.

First, we want to add name boxes so we know who is talking. We can prefix each dialogue with a command to insert a name box using \nb{Name}. So something like this:

Even though the characters have nicknames, better to be more formal in the name block.

Even though the characters have nicknames, better to be more formal in the name block.

As we put this in, we see that each character gets 1 command, and then it passes to another. Even if we’re using append throughout the game, it would make very little sense to use it here – each character should really get their own box. We can use a script call to turn off append for just this event.

ats_all(:append_text, false)

We’ll want to call the same thing at the end of our conversation, subbing in true, to set us back to the default.

Next is a really fun feature – dynamically setting the position of the box. Now, we can move the dialogue box to above the NPC that’s actually talking so it looks more like a conversation! First we need the event numbers of our NPCs – you can get it at the top of the event page for the character itself.

Even if you change the name of the event, the event number is still at the very top of the window.

Even if you change the name of the event, the event number is still at the very top of the window.

Then in our conversation event, we add yet another command – \et[EVENT NUMBER]. The message box will be above the event – you can use \eb for below, \el and \er for left and right. Add them right before the namebox command.


Don’t put any spaces between \et[x] and \nb{Name} – that space will show up at the start of your text, and you don’t want that.

Combining all these elements, we can get a really cool effect that makes the game look less…defaulty.

Our first NPC talks...

Our first NPC talks…

...and our second picks up the conversation. Visual cues tell the player who is talking when.

…and our second picks up the conversation. Visual cues tell the player who is talking when.

Now just write some good dialogue!

Boston FIG – Post Mortems

Finally, a full summary on my experience at Boston FIG.

Background and Application

Vidar has been in semi-development since December 2013, and in earnest development since March 2014. The game was accepted to the Boston Festival of Indie Games Digital Showcase, a curated selection of roughly 50 games from developers in the Northeast. For the application, I sent the then-working build of Vidar which included the entire ice cave area, a build which by September was several substantial changes old. Specifically:

  • Level length was miserably long
  • Puzzles were way too difficult
  • Time spent in the ice cave got boring
  • There were only 12 quests in the ice cave, and because of the random mechanics of the game, it was not unheard of to see only 1 or 2 in a playthrough
  • All of the art was stock RPG Maker art, from title screen to the end of the demo
  • Bugs everywhere!

In spite of all of this, the curators let me in. I have no idea how that happened, but as I’m slowly finding out, people believe in the game as a concept. I hope I can deliver.

Before Boston FIG, the game was demoed only once, at NYC Games Forum’s July Playtest Night. During that event, roughly 2 dozen people played. Last year’s Boston FIG had 7,000 attendees, so I needed to gear up for a totally different scale of volume.

Preparing the Demo

The core of any showcase is the product, the demo. I have put a lot of thought into what a demo of Vidar looks like, and have mostly come up empty. The game’s core selling feature is a story that evolves not just in response to player choice, but randomly as the game progresses over a 4 hour playthrough. Paced random story generation can’t be demonstrated in 2 minutes, it just can’t. I’m candidly not sure how any RPG does it. Ultimately, I settled on a roughly 10 minute demo. I included 7 NPCs out of the 24 in the game. To demonstrate the random aspect of the game, I killed 2 at the beginning of each demo, and adjusted dialogue and quests available to the player accordingly. I fudged a little and made sure that both Sandor and Bernadett couldn’t die at the same time.

Close up of all the new artwork incorporated for the demo.

Close up of all the new artwork incorporated for the demo.

Depending on whether the player got Sandor’s or Bernadett’s quests, after free time in town they were sent to the part of the cave where they could complete that quest. Where a player got both quests, a coin was flipped. Sandor’s quest, to rescue his son, is a more contained but more intense story aspect of the game. Bernadett’s quest, to return a ghost to its grave, takes place in the same area as other quests. This allowed players to see elements from the quests they picked up in town.

At the end of the demo, depending on which quests the player did (and who died at the beginning), the player would see a little bit of text indicating what would come next in the game.

Booth Stuff

Because we were going for a 10 minute demo, I needed to have a lot of units. Having only one laptop would’ve meant that we got a whopping 40ish people to play the demo during the day. Not nearly enough. With that in mind, I wanted to have 4 laptops at the event. We were told we’d get a 10×10 booth with a single table and 2 chairs. Realizing that I couldn’t easily convert that into space for 4 laptops, I brought a cheap folding table and 2 extra folding chairs.

For signage and booth decoration I brought two table clothes, a runner with the Vidar logo printed on it (way cheaper than doing it on a full tablecloth), and an XL printed vertical banner.

The tag line drew a lot of people in - so many attendees wanted to know more. If any single piece of marketing did it's job perfectly, it was this poster.

The tag line drew a lot of people in – so many attendees wanted to know more. If any single piece of marketing did it’s job perfectly, it was this poster.

I also brought a candy bowl with some Reese’s cups, a clipboard with an e-mail sign-up sheet, stickers, business cards, beanies, and a placard saying that if people tweeted @VidarTheGame during the festival with a picture of them enjoying Boston FIG, they’d be entered to win a beanie. My plan was to give out 5 an hour. See below for how this largely failed.


When we arrived at MIT, we definitely did not have 10×10 booths. The 6-foot tables were all adjacent to each other, and about 5 feet behind us was another table. So we had 5×6 booths. Panicked that this totally scuttled my plans, I emailed, tweeted, and smoke signaled the coordinators. Almost immediately I had several responses telling me that I could set up in a 10×10 space so long as I talked to my neighbors about it, neither of whom were there, and neither of whom had set up the night before. So I moved their tables out to a 10×10 space for themselves, and then for me in between them as well. The result was that we were really the only 3 showcase exhibitors that had the space we were promised, and I heard a lot of other people grumbling about changing their booth plans to accommodate the layout they started with. Had they only asked, I’m sure they could’ve expanded as well, there was plenty of space at MIT for everyone to actually have what was promised. I can’t imagine Boston FIG had set them up smaller than announced out of malice, and everyone I talked to was nothing but warm and helpful.

Because of all of this, our booth looked fundamentally different than everyone else’s. For starters, we had 2 tables set up as a T, with the top of the T facing the attendees. All laptops were set up on one table, and then a monitor showing one player playing the game, plus swag and sign-ups, were on the other table. Having never done a convention, I can’t say this was better or worse. I do know that it seemed to work for us, and that we stood out. We were large and in-charge, and it felt awesome.

Business in the front, party in the back. Of the booth.

Business in the front, party in the back. Of the booth.

All of the power was daisy-chained power strips. Beyond being a fire hazard, this meant that if someone tripped over a cord on the other side of the room, we lost power. This happened several times during the day.

Reactions to the Demo

People were generally very responsive to the demo. Make no mistake, this wasn’t uniform, but people at conventions tend to just move on if they don’t like a game (rather than vocalizing what they dislike). It was important to make note of the people who started the demo and left halfway through, as much if not moreso than those who played it through and engaged me in a 20 minute conversation after. Because the goal should be to limit the bucket of the former as much as possible. While the statistics indicate that number was higher than I’d like for Boston FIG, I’m comforted by the fact that most of that was young children who instantly grabbed a laptop because WHY NOT IT’S VIDEO GAMES!!! Seriously, the joy you could see in these kids’ faces was priceless. And it’s maybe a good thing that they couldn’t get into Vidar; there’s occasional inappropriate language, and it deals heavily with death, with loss, with depression, with nostalgia. I don’t want to be responsible for putting these 8-year-olds into years of therapy. These kids often would start the game, run around town, not be able to find a puzzle or big bright graphic in the first minute, and leave, so it skewed our numbers concerning walk-aways. And I’m not even upset, those kids were having fun running around in a wonderland of gaming.

After generally trying to get a sense of positive/negative reactions to the demo, I wanted to see what was positive. Biggest selling point for the game was the random story telling. In fact, as I would go through the pitch, people’s eyes would widen or they get a big grin a split second before the punchline (“With this system, because the order of deaths is randomized, the story itself becomes random.”) And seeing that light-bulb moment, with people starting to get excited about the possibilities of this story-telling system, was awesome.

Full booth, happy gamers, exhausted and nervous developer.

Full booth, happy gamers, exhausted and nervous developer.

There were also plenty of negative reactions to the demo, most of which are very easily fixed (and indeed are in the main game). More tutorials on controls; easier ramping up for puzzle difficulty; eliminating unnecessary menu options for the demo. Some more interesting take-aways:

  • I added a handful of points where people could interact with the environment. Since NYC Games Forum, I’ve noticed that we’ve all been so conditioned by FF6 to check the grandfather clock for Elixers that, as soon as we see SNES-style graphics, we click on everything in every single house. Seriously, players just want to investigate every bookcase, every bed, every picture, every crack in the wall, and of course every clock. It’s crazy. So, in response to that, I added about 5 in the game. This only fueled the fire. Where before people would give up checking everything after a full minute where nothing was responsive, now when one thing works, players spend a good five minutes hitting enter in front of every table. I need to make a game-design decision to fully embrace this compulsiveness, or do away with it entirely. Half-assed was the worst way to go.
  • People who “beat” Erik’s puzzle were incredibly disappointed that Erik still died. While I’m mindful of “kill your darlings” issues, I’m sticking to my guns for now on this one. Everyone dies in this game – it’s the tag line on every business card, poster, website, etc. And I’m extremely hesitant to change that. That being said, customers are rarely wrong. I’m curious to see how this ends up playing in testing as part of the whole game. In context, Erik’s death may be more tolerable for players. If it’s not, I’m already playing with ways that you might save Erik. Of course, if he joins the main cast of the town, he’ll still need to die.
  • I loved seeing friend-groups come and play the demo together. When three friends each grabbed their own laptop, and the death notifications popped up in their demos, without exception they’d turn to each other and say “oh who died in your demo???” And that followed through – “oh which quests did you get?” “what room are you in?” “wait so is that guy really not in that room because he died???” And if one finished, they’d go over to their friend’s laptop to watch, help puzzle solve, and see something new. It was awesome, and it was the best expression I could have for Vidar In a weird way, this leans towards having fewer demo units in favor of a single bigger screen which a crowd can watch. Or perhaps, two units hooked up to two monitors so people can compare side-by-side. It’s tough to know exactly how to recreate this inspection of several simultaneous playthroughs, but it’s something worth brainstorming for the next event.
  • The end of the demo, which told the player about what would happen the next day in Vidar, was too much wall-of-text. How to convey the sense of exploration without that text is also something which needs to be resolved.
  • Some people immediately walked away on realizing that the game was made in RPG Maker. There’s not really much I can do for them. Even though I continue to strip out elements which clearly identify the game as RPG Maker-made, some parts will always be there. You can feel it in commercially successful games like Always Sometimes Monsters or Actual Sunlight. And that’s ok. Indeed, for every person that scoffed and mumbled “RPG Maker” under their breath as they left, another said “how did you do all of this in RPG Maker?! That’s crazy!” I never want to be a developer that says “if you don’t like my game, I don’t care,” because that leads to leaving money on the table AND a bad game. At the same time, this bucket of people may just not be the target demographic for Vidar. 

Reactions to the Booth

The stickers and the beanie giveaway were both duds, for different reasons. No one wanted a sticker – indeed, the only people that took them (besides the kids, who had dual focuses of playing every single game and collecting every single piece of swag, so matter how small) were those who thought they were business cards. So, now I have 400+ stickers and no idea what to do with them. My husband has suggested that maybe people only take stickers when there is brand recognition – no one wants a Vidar sticker but they might want a Destiny sticker. So maybe the rate at which people take stickers can be used as an unofficial metric of brand recognition? Who knows.

Nobody wanted any of those stickers. At all.

Nobody wanted any of those stickers. At all.

People actually really liked beanies, but were totally uninterested in tweeting. While my goal was to give away roughly 70-80 beanies, I gave away 4 to non-children. It wasn’t a drawing; it was a conditional. If you tweeted, you got a beanie. But, people saw them and thought they were pretty cool. Unlike the stickers, I think this one suffered because of the method of obtaining them. At the next event, I’ll simply hand one out to anyone who signs up for the mailing list, and see how that goes.


I did four interviews during the day, and I was progressively worse at each, likely due to exhaustion. The only one which was not video recorded was by Jacob Wood from IndieHangover, and you can read his glowing review here. As of writing this post, the remaining interviews have not been posted. These interviews themselves were eye-opening. In advance of Boston FIG I made the conscious decision not to contact too much press, and to only focus on a handful that I thought might help at such an early stage. The thought process was that Vidar is too early. As it turns out, press responded to the concept despite how far we are to a release. I still don’t know that not reaching out to press was a mistake per se, and think that, with list in hand, I can now contact these outlets, journalists and podcasters as I approach a kickstarter saying I was at Boston FIG, the game was still so early but got into the showcase on the strength of the concept, and I’m about to kickstart.

Summary, Going Forward

Boston FIG gave me the courage to do a few big things:

  • Go back to NYC Games Forum in October. While I was concerned that the demo was not different enough since then, it is actually. It’s new art, new puzzles. But even if not, so what? The name of the game is exposure, and I’m sure that for every 1 person that says “oh I played this last time, no thanks” there will be 2 that wanted to but didn’t get a chance, and 5 that weren’t even at NYC Games Forum 3 months ago. It’s worth it.
  • Bump up the kickstarter to as early as late-January. I’m still going to wait to see community engagement metrics improve – more emails on the list, more twitter followers, etc. But one big concern I had was having a 1-hour press demo sent to press to get some really good quotes in order to further promote the game. And with four interviews at Boston FIG I might just already have those. Which would be awesome.

As for the former, there’s no rest for the wicked. I’m already planning on adding more content for the next showing on October 30. Expect posts about that soon, and thanks for reading!

Build Up To Boston: Demo Changes

Hi all!

I hope you had an awesome labor day holiday. I spent my Sunday at the US Open watching some awesome tennis and getting an awesome tan. I now take regular and needless coffee breaks at the office so I can show it off.

This week I’m posting every day, building up to the Boston Festival of Indie Games! Last year the FIG had over 7,000 attendees. It’s a staggering thought that even 1/10th of those people might check out Vidar, and I can’t thank the program coordinators and curators enough for accepting my game into the showcase. So without further ado, today I want to talk about what’s changed since NYC Games Forum?

You might recall that the first time ever someone could play Vidar was at the end of July, at the NYC Games Forum playtest night. We had about 20-25 people play it, and got some awesome feedback. All of it and more has been incorporated in just the 6 weeks since.

New Art

The most immediate change has been all new art. Becca Bair‘s sumptuous tiles and sprites now dominate the game. When it comes to maps, this means that the cave feels more, well, cave-like. Rounded edges instead of square ones, organic walls, and a desaturated tint all help immerse the player even more.

Out with the old, in the with desaturated.

Out with the old, in the with desaturated.

And of course, Becca’s also prepared new sprites. The cast of characters the player can interact with have all been replaced (as has the player sprite itself). These taller sprites have more detail and, as a result, more character. You can get to know them a little better just by looking at ’em.

Vidar is, at its core, about the people. Which means the people better be damn good to look at.

Vidar is, at its core, about the people. Which means the people better be damn good to look at.

New Content

Since I was going to add these new sprites, I wanted to make sure the characters mattered. In the NYC Games Forum Demo, players could talk to Vidar’s citizens but, short of seeing some dialogue, it didn’t change the demo itself. The player was always going to try to rescue Sandor’s son. Now there are two big options – Sandor’s son is still in the game, but there is a chance the player will instead see Room 2 of the Ice Cave. Room 2 is a series of 3 puzzles, and there are a handful of quests that can spawn there. Specifically:

  • If Bernadett is alive, she’ll ask the player to return a ghost’s spirit to its grave
  • If Borbalo is alive and the player has Bernadett’s quest, Borbalo will ask the player to bless the grave with holy water
  • If Dani is alive and Borbalo is dead, Dani will ask the player to find Borbalo’s alcohol
  • If Szabina is alive, she’ll ask the player to find a clue to the Beast’s origins in the cave
  • If Lilja is alive and Szabina is dead, Lilja will ask the player to dig around in the cave for buried treasure
  • If Sandor is alive, he’ll ask the player to go rescue his son

As you can see, some of the quests included are mutually exclusive; this means that the two NPCs chosen to die at the beginning have immediate consequences for the demo.

Most of the quests are handed out at the inn, where Vidar's citizens have congregated for this demo. But the workshop is also open.

Most of the quests are handed out at the inn, where Vidar’s citizens have congregated for this demo. But the workshop is also open.

The game decides where to send the player based on whether they got Sandor and/or Bernadett’s quest. If the player received only one, they’ll go to the map which has that quest. If they got both, it’s randomly chosen. As a result, I’ve rigged the demo’s random deaths a little bit – Sandor and Bernadett can’t both die in any playthrough of the demo.

Sandor’s Son

At NYC Games Forum, I got a lot of feedback about mechanics, balance, and puzzle-solving. So all of the following changes have been made to Erik’s room:

  • Players will only solve either the left side or the right side of the room, as opposed to both from NYC Games Forum. The “left side” involves rotating arrows with the Stranger to guide Erik to the exit. The “right side” involves opening and closing doors with the Stranger to guide Erik to the exit. If the player is sent to this map, which side they do is also chosen at random.
  • Additional options have been added to both sides. What this means is three levels of chance – a player has a chance to go to Erik’s room, a chance to play the left side, and a chance to see any one of 5 puzzle options in the left side.
  • Pressing “A” to switch between Erik and the Stranger is instantaneous, instead of fading the screen out and back in again.
  • When ice breaks around Erik, it no longer pauses the game. Combined with the above, players will (hopefully) no longer be frustrated that time is passing by because of things outside their control.
  • The graphics for the gates in this puzzle are now clearly gates, and not spikes which suggested to players that they should not run into them.
  • The tutorial has a more fulsome explanation of sliding, pressing “A” to switch characters, and using switches.
  • Compass arrows have been added (described below)
  • There is a cutscene if the player fails to save Erik, rather than just simply fading out the demo and concluding.
Gates which are clearly gates!

Gates which are clearly gates!

After playing this new version of the Sandor’s Son quest, I’m in love with all of these changes. And that tells me that NYC Games Forum Playtest Night did its job; I really can’t thank the playtesters enough for their incredibly valuable and candid feedback. It’s already improved the game 10 fold.

Compass Arrows

A few people at NYC Games Forum indicated that they didn’t know what the goal was in any given puzzle. Specifically, where’s the exit? Where am I trying to go? So with this version of the demo, I’ve added compass arrows. These little indicators bounce up and down where you’re supposed to go next in the puzzle, and intelligently do so based on where you’ve been.

Four exits? No longer a problem, just head north towards that arrow.

Four exits? No longer a problem, just head north towards that arrow.

The arrows disappears after you go over it once. Presumably, by then the player will know where the exit is. While compass arrows will be turned on in the demo, they’ll be a quest reward in Vidar. Every possible item which changes your gameplay experience – from sprint shoes to extra time to the clock itself – is a quest reward, and there’s no reason to treat the arrows any differently.

Additional Changes

A few other fun things have been added. The player can interact with certain items in town for flavor text. More branching paths are explained at the end of the demo. The menu has been cleaned up to remove items not available in the demo. More puzzles have been color coded. And of course, dozens of bugs have been cleaned up.

I’ll have 4 laptops running the demo at Boston FIG from 10 am till close. The event is this Saturday, September 13 at MIT. If you’re in the Northeast, it’s not to be missed!

Finally, don’t forget to sign up for email updates about Vidar on the website. If you sign up before Saturday, you’ll be entered to win a Vidar-embroidered beanie!

New Swag!

This awesome beanie has an awesome logo and is awesome for all outside-based hipster adventures. Awesome!

This awesome beanie has an awesome logo and is awesome for all outside-based hipster adventures. Awesome!

To celebrate the arrival of new swag, I’m giving away a bunch of it! All you gotta do it sign up for the extremely rare, extremely non-spammy Vidar newsletter. It’s so rare, one has never been sent out yet.  It’s so non-spammy, no one has ever even asked me to sell them your email addresses. BUT IF THEY DID I’D TELL THEM NO, SIR!

Go to and sign up with your email address before September 13 for a chance to win!

Alternatively, come by the booth at Boston Festival of Indie Games at MIT on September 13!

Screenshot Saturday

Tileset created by Becca Bair.

Tileset created by Becca Bair, combined with RTP graphics.

Busy week, but I got to use Becca’s new Vidar tileset. Combined with some of the good ol’ RPG Maker standbys, it really creates a beautiful, wintry nostalgia. Which is tough to do when it’s so gorgeous outside!

One Map At A Time


Art courtesy of Becca Bair.

This is my first attempt at parallax mapping! Undoubtedly, I’ll need to fill this space with more trinkets and variation, but it’s definitely getting there. I used Reddit user PieHardLol’s super awesome tutorial and accompanying video on parallax mapping. If you’re going to attempt something like this, watch that video about a dozen times before starting.