Monday, March 30, 2015

IFComp 2015 Devblog #2: Homemade InvisiClues

I wrote a PERL tool for homemade InvisiClues as a programming exercise, but I didn't use it right for a while. I mean, I had hints in-game, and they seemed to trump this, so the InvisiClues were an afterthought. I had a chicken-and-egg problem.

But it recently occurred to me that the clues could be a useful tool for development. I could just put in a special character/hash for clues I needed to implement. For instance, # at the end of the line meant, get to this. Searching for them would help me decide what to attack next.

It helps me a bit to have this instead of a general outline, because when I think of outlines I think back to school and the outlines I didn't want to do for a paper I didn't want to write. And the term "white paper" makes me think sometimes of how I should be using planning for things that will help me in my career.

InvisiClues fit right in with writing a parser game, though. And it allows me, the author, to have a bit of nostalgia while not inflicting the bad parts (cruel game difficulty, bad implementation) on the player. Plus I still remember the first time I saw InvisiClues online. Wow! How did they do that?

Once I learned scripting language, it didn't seem quite so amazing, but it was still cool.

Juhana Leinonen's JavaScript at Undo Save Restore provided the back-technology I needed for this. I just needed to know how to be able to open parts of a document with a click. Once I had that, I figured how to parse input and convert it to HTML.

The result is that I now have a document that I can twiddle and see where I need to tighten things up, and I have what I think is a slight improvement on the above invisiclues. Even seeing the wrong question can be a spoiler for the player, and at the same time, it's annoying to have to plow through question A, then B, then A.

Trizbort was useful for putting everything in its place, but now I'm relating things in different rooms. Or instead of a long description that overlaps another room, I have a section in the InvisiClues. Also, the template is in human-readable form.

#this is the output file name. Default is invis-(file base).htm
#this is what is displayed in the title bar
!H2G2 HTML Clues
>The Vogon Ship
#below is a subtopic that you can open up
>>The Vogon Hold
#below is the first question to open
?Why am I dying?
#hit tab and enter to reveal each answer
Not enough protein.
Eat the peanuts.
?How do I get the babel fish?
This is just an example. No way I'm displaying the solution.
>>The Airlock
?How do I avoid dying?
Just wait. You won't.
>After playing the game
?Have you tried...
...kicking the dog?
...(other silly stuff?)

I have InvisiClues up for Threediopolis, so you can see how that works.

  • The text source
  • The HTML
  • Finally, here is the PERL code. I've thought about doing markup like *text* for bold, {text} for italic, and _text_ for underline, but that's a bit of a feature. If you find this script useful, I'd be thrilled to hear about it.
As for homemade tools in general? I recommend due diligence first. If you don't find exactly what you want, maybe a freeware app will be close enough. If it's not too complex, it really is a boost to make your own small app. Just don't spend more than a few days getting it working, and don't feel you have to add TOO many features. The ones you need most will reveal themselves as you poke around more.

Saturday, March 28, 2015

Stale Tales Slate: two re-releases

Already posted at, but this is a big enough event for me, it goes on my blog.

I'm happy to announce that I have re-released versions of Shuffling Around (v4) and A Roiling Original (v3), the two games in my Stale Tales Slate.

They feature a lot of bug fixes and features, and while bugs are lurking, I think the main things are:
  • puzzles are fixed so as to be sensible
  • major bugs have been paved over
  • there's increased user-friendliness
  • Color trizbort maps! Visit if you want to draw up your own. They're a nice addition to any release, big or small. They helped keep up my morale when I saw a stupid bug I made.
The total source code is over 3 megs. This is a bit ridiculous, and a lot is due to the random text, but--I'm proud of my perseverance, even if sometimes I didn't attack the VERY highest priority bugs. The cool thing about text adventures is, player don't have to look at all the random stuff--but if it catches their fancy, it's there for them. And it's (I think) pretty clearly labeled in the source code.

Many people helped with Roiling version 3, including Mr. Patient who was, well, patient with my being slow with transcript. Changes are included in the change log. Matt Weiner helped with Shuffling version 4. If any bugs are left, there were a lot worse bugs before.
Well, actually, I saw one. Each region in Roiling has an item that you can use to get a hint. But the problem is, if an object has already been hinted, this duplicates the HINT capability. So I would like to attend to that. This is a case where I saw a fix but I wanted to get things done this month and not introduce any bugs with feature creep. So, next release it is!
The games are submitted to the IFArchive but until then there are dropbox links.

Shuffling: ...
Roiling: ...

The change logs are here:

Shuffling: ... s.txt?dl=0
Roiling: ... s.txt?dl=0
I may go into detail later. But for now, I think I can move on to my next projects. I started looking at things about three years ago, and now things are finally in a maintenance state. (I think!) I had a lot of fun mucking around. But I have new ideas. And quite bluntly, as fun as finding some cool words, phrases, etc. can be, I've got anagram fatigue.

Wednesday, March 18, 2015

IFComp 2015 Devblog #1: Trizbort

Here's an introductory post for my hopeful IFComp 2015 game. I'm going to be keeping details vague, but I hope to link back to them. Since the rules changed to allow discussion pre-comp, I thought I'd see how this goes.

The first thing I'll address is prototyping. It's something I'd never done. Jason Lautzenheiser's impressive work on Trizbort allows me to color regions in. This is a big help! Just being able to stare at something colorful and/or shift it around is a big thing.

Monday, March 16, 2015

On FrenchComp, and how I organized things to judge it

I got a lot done this weekend, though maybe not as well as I hoped. While I put off ParserComp, I realized I also managed to put off FrenchComp. This is one thing I was upset about. I meant to look at all four games last year, and I eventually did, but I wasn't able to judge.

Saturday, March 14, 2015

Lockdown, by Richard Otter

This is a game about someone who has just gone on a shooting spree. They're faced with the consequences, but there's still one more thing to do. The question: what?

Three Days of Night, by spaceflounder

This was another relatively quick game set in space--which seems to fit well with the sunrise theme. It feels relatively low-risk, and it's about gaining contact with intelligent aliens.

Down, the Serpent and Sun by Chandler Groover

This game was rather quick for me, but I suspect that's because I didn't poke around carefully enough. Some of it seemed sparsely implemented, but I did find two cool ways to die. This was satisfying enough, but I'd still like to see the "good" end if there was one. An IFDB review pointed to that the ClubFloyd folks found it.

Thursday, March 12, 2015

Endless Sands, by Hamish McIntyre

Endless Sands by Hamish McIntyre is, thankfully, not so endless. You, a recently new vampire, need to escape the desert before sunlight. But actual buildings where you could take refuge are roofless, occupied or locked, due to various slapstick reasons.

I suspect whether you enjoy this game depends on how much patience you have at the moment, so if it frustrates you, sit down, draw up a map, and come back again.

Six Gray Rats Crawl Up the Pillow, by Boswell Cain

Six Gray Rats Crawl Up the Pillow is a brief work where you are sent to a nobleman's castle to sleep in his bed, on a dare. The plague has killed him.

ParserComp Intro and Links

I wasn't able to think of anything for ParserComp aside from one puzzle which I think will do nicely in a later game, but I was able to test four of the games. I'll reserve opinion on them until the judging deadline is over. If you're wondering what ParserComp is, look here. If you're wondering if you should judge, please do! It looks like ParserComp's haul of parser games is roughly equivalent to IFComp 2014's.

This post will serve as a link to the individual game reviews. I italicized the ones I did, because reasons. Also, I'm hiding scores, as I've found that I, as an author, get more from saying "Oh! I should've done that!" then from a score, which I can twist around in my mind to mean what I like.

An Adventurer’s Backyard, by lyricasylum
Down, the Serpent and the Sun, by Chandler Groover
Endless Sands, by Hamish McIntyre

Lockdown, by Richard Otter 
A Long Drink, by Owen Parks
Mean Streets, by BadDog
Six Gray Rats Crawl Up The Pillow, by Boswell Cain
, by Caelyn Sandel
Terminator Chaser, by Bruno Dias
Three Days of Night, by spaceflounder

Post-comp reflections:
Chlorophyll, by Steph Cherrywell (Beta-tested)
Delphina’s House, by Alice Grove (Beta-tested)

Oppositely Opal, by Buster Hudson (Beta-tested)
Terminator, by Matt Weiner (Beta-tested)

Halfway through ParserComp

This is a post I hoped to make on March 1st, and I hoped to be making my wrap-up post today. Nevertheless, I encourage people to get to as many ParserComp games as they can, even if it is only 7. Or even if you get less than 7, if you can make a transcript (start a game and type TRANSCRIPT, usually,) it's a big help.

Unfortunately, my judging may be a bit impatient due to the time squeeze I put myself in, but that is sort of valuable--sometimes I'm less likely to let things skate and say "Oh, I can deal with that, I guess, I'm glad to see anything." Which is a good attitude to have in general, but it's tough to balance that with saying, well, let's help other authors fix what they can, because we don't know what might make a player flip a switch and start to love/hate a game. We can, however, stack the odds in favor of the first with observation and evaluation and such, even if we can't rigorously back ourselves up.

So, see what you can do! I imagine the authors have enough space from their original versions that they are ready to make whatever changes give the most value, and plus, it's always neat to get something just before a comp ends. Or even after it.

HERE is the full list of games. The games reviewed so far are below. I hope to have time to get through the remaining 5 4 3games I can judge.

An Adventurer’s Backyard, by lyricasylum
A Long Drink, by Owen Parks
Mean Streets, by BadDog
Sunburn, by Caelyn Sandel
Terminator Chaser, by Bruno Dias

Oh, and 2 bonuses--it happens that way, things getting done in clumps:

Endless Sands, by Hamish McIntyre
Six Gray Rats Crawl Up the Pillow, by Boswell Cain

Terminator Chaser, by Bruno Dias

Terminator Chaser threw me off as I expected it to be timed. It wasn't. You need to shut down a mining base on Mercury before the sun comes up, but of course it is not that simple.