War of the Willows- Actually very fun! (big spoilers)

Before the competition began, I decided I wanted to do a ‘prize’ for the lowest-placing game by giving it a review highlighting its good points.

I’m glad I did, because it encouraged me to get Python running to play this game today.


War of the Willows is a very non-standard interactive fiction game. As others have said, it’s written in poetry (non-rhyming, in case anyone hates rhymes). To download it now, you can’t use the link on IFDB; you have to go to IFWiki and download the original comp zip file or download each python file separately and put them in the right folders, which is what I did.

You are battling willow trees that are incarnations of your ancestors, fed on their blood, as described in a made-up scripture. They are angry that you have defiled the world by breaking a covenant.

The game consists of three choices, followed by combat. You choose your motivation, your god, and a symbolic item. Then you have combat with a variety of options, including attacking, advancing, praying, etc.

I had big trouble beating the game. Then I started looking at the code, and I realized the biggest attraction of this game for me:

The guts

This game is FUN to look into. I had to dig deep into the code because my python version uses input() instead of raw_input(), so I had to manually replace each one. This let me see deeper into the code.

Once I started hacking the code, I didn’t go back. I replaced the ‘f—’ you see every time you get hit with ‘ouch’. I started delving deeper…


I discovered that the choice of special item is completely meaningless. The other choices affect your (hidden) stats, with anger and sanctity being two important stats.

I also discovered that there are two ‘winning’ endings. The first is the one that most reviewers found, where you kill the tree and the others retaliate by destroying you.

The second is best obtained by choosing forgiveness as your motive and your family’s geneus as your god, and never attacking. By praying enough, you eventually raise your sanctity high enough that the trees forgive you and the people see you as a prophet.

I couldn’t raise it fast enough; the game increments sanctity by .03 every time you pray. So I hacked it to increment it by .30 every time you pray. I still had to pray 3 times before I won, so I think in the real game you have to pray ~30 times before you get the great ending.

Last thoughts

Sorry this post is so rambling. I feel that the author received low scores mainly because this was such a new way of presenting a text adventure. The combat system does need tuning, but that alone shouldn’t make that big of a difference in score.

In the end, this game wasn’t so different from Midnight, Swordfight in concept. You are in a duel, you get to change around the setup of the duel before it begins, you are given a strict play script with what commands you can use, and then you have the duel itself. If the duel in Willows had been play tested by enough people to tweak the combat variables, then this would have been a truly excellent game.

Fortunately, the code is 100% modifiable. So I encourage python-savvy people (not me; I had to look up a lot of this stuff) to play around with the game. The author even encourages this, having a .txt file outlining some tip for modders.

Overall, I would have given this game 7.5/10. I especially recommend you check it out if you are interested in novel ways of running a text adventure.

This ranked last? I had some issues with it (not least that there were bits of code “guts” accidentally showing through when I tried to play it), but I didn’t think it deserved to rank last.

Ever since learning Python and learning that Ren’py is based on Python, I’ve kind of wanted to write a parser game using that syntax. This proved, upon the merest shred of examination, to be very difficult to set up (see: every warning everywhere about “homebrew parsers”). It’s cool that someone managed it, and that it’s so moddable.

Wow, that’s neat.

This seems more like an easter egg than a puzzle, especially if you have to pray 30 times.

I too was surprised by the placement of dead last.

Yeah, I had this one ranked about 27 (with six games not played).

Interesting analysis too. Shades of TOMBs of Rechette.

I’m really glad to see Willows get this extra coverage. I helped test this game, and I was pretty much certain that it would get knocked to the bottom of the pile for being written in Python. I told the author, and he knew it too, but he resisted my encouragement to port it into a more accessible system. I think this hurt the game in a major way.

The reason he kept it in Python is because he likes writing in Python so much, and the documentation encourages players to do exactly what MathBrush did. But most people are never going to be sympathetic to gutting a game to understand how it works. I don’t blame them one bit.

But I really like the writing in this game and the concept. I think the combat should be easier, but even as-is, I feel like you can lose the game and get a very nice experience. The problem is that the game is so short, just a little vignette, that the effort required to play it with Python will never pay off for most people. If this were presented in Twine or Inform as a mood piece like Duel, its ranking would have undoubtedly jumped.

I agree with CMG that the biggest reason this ranked so low was probably the Python issue. If you look at the bottom ranking games, many were in a non-standard format and download only, which automatically decreases the number of eyeballs on the game, and since the scores are weighted by average, fewer overall ratings can be really crippling.

I, for example, had to play all games in my browser this year, so I missed a lot of stuff.

This concept actually sounds incredibly neat though and I hope it gets its issues worked out and finds its audience.

I never had a chance of playing this but I’d like to now. Well done.

I thought last year’s last place finisher didn’t feel very last-place, and this feels even less so from your description.

I fixed the IFDB link; it now points to a ZIP file. (Which currently lives in the unprocessed folder at the IF archive; I’ll update the link once it gets moved to its permanent home.)

War of the Willows had a decent idea but it begs for a port to a choice-based platform. I don’t know how was it tested but it lacks a lot of polish. It’s a short text-only console game that prints out a weird wall of code every once in a while. Given that you CAN do bugfixing during the comp, I’d say Adam had a total neglect for this.

Also, according to the author note, it’s a puzzle that you’re not supposed to understand but somehow supposed to hack. Go figure.

It’s IF Comp, haven of short text-only games. Not sure how those characteristics are indicative of total neglect or of a lack of polish. There are many criticisms to make of the game, none of which have anything to do with its length or its textiness.

…I’m having a really hard time getting over “text-only” as a criticism of an IF Comp entry.

I think he did update the game mid-comp to address the issue with the code appearing.

:-> That’s just a criticism of amount of polish. Short games without any interface gimmicks are much easier to test.

To be fair, WotW isn’t a parser game. Typing a choice from a given list doesn’t really count.

If you want a “real” parser system in Python, check out Curveship.

You may, in fact, have hit the nail on the head there. [emote];)[/emote]

When I first read about the game premise, it sounded more humorous than serious, but when I actually started it I found the concept intriguing and the writing alright. It did feel poetic.

I did not appreciate the execution, though - in particular, the game ‘kicking you out’ at the end, and the obscurity of the mechanics. I did peek at some of the files to get a hint on how your ‘stats’ worked.

I agree seeing a non-Python remake would be very interesting!

Oh! I did not notice that. I have now uploaded an updated ZIP file to the IF Archive and updated the link on IFDB.