Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

[devlog] The Ritual - Twine game

A topic by Megan created Sep 10, 2017 Views: 485 Replies: 12
Viewing posts 1 to 11
Submitted (2 edits)

Hey gang! So for this Yuri Jam, I'm working on a text game called The Ritual.  WARNING: this is not a happy game.


The Ritual is about a princess and a knight who flee the castle in the dead of night to perform a mysterious self-sacrificial ritual deep in the forest for the good of the kingdom. You get to choose between conversations the princess and the knight have, and you can choose to view the princess' or the knight's thoughts during specific moments in the game. These choices have a minor impact on the ending of the game.


(more concept art below)

VALERIE, THE PRINCESS: A young woman  who is on a quest to perform a particular ritual for the kingdom. She's brave and big-hearted. She's also super gay, but doesn't know it.

ALTHEA, THE KNIGHT: A knight of the kingdom, and the princess' personal bodyguard or whatever. She's an older woman who has been around The Block, but her heart has long been held by one woman in particular. She's super gay, and knows it, but is wary of intimacy.

PARALUMIEL, THE ELF: A mysterious forest creature who has some Thoughts and Information on the whole ritual situation, if you can get them to speak to you. They're NB, not that it really comes into play.


Submitted (1 edit)


so this week I streamlined my original idea with the help of friendly people on the YJ discord :) thanks gang!! based off this streamlining, I was able to put together a full twine outline (some notes on the side):

as you can see it's a mostly linear game, with a few choices here and there, as well as some optional pages to check out that don't really progress anything. It's tidy now, but I'm sure it won't stay that way!!

I've also decided to scrap my original idea of making a VN, and just focus on getting all the words out, by making it as a text game in twine. If I manage to get the twine version to a place I really like, I'll work on getting some art into the game or migrating it back into a VN. not sure yet, basically!

I'm hoping to get a few more words out tonight, but as of posting this, the twine summary says I have 1291 words, which is a good start :)

Submitted (3 edits)


Not a ton of work done on this this week; hoping to get more done soon.

Since I tend to write really long passages in Twine, I've come up with a "cursor" that will display the next "chunk" of the passage without getting rid of the rest of it. Example below:

And in case you're wondering how to use a cursor like this in your own game, it's like this:

Note: if you use "link-reveal" instead of just "link", the cursor will stay there instead of vanishing. In this way, you can use any snippet of text as a fake link to another passage.

Submitted (2 edits) (+1)

And to document what we've been chatting about on the Discord and as you're probably doing now, you can add a (transition:) changer to that (link:) to make it fade in nice, like this:

(link:">")+(transition:"dissolve")[The princess...

Or you can set it up globally to a variable in a separate passage tagged startup

(set:$link to (link:">")+(transition:"dissolve"))

And then in your text passage, whenever you want to do the thing with the continue cursor, just use:

$link[The princess...
Submitted (2 edits)


okay...I was supposed to have done heaps of work on this game this week, but...not so much. I spent a lot of time playing with Twine, trying to polish up some old games to publish them (check out my profile to play them!), which was great on one hand, because I did learn a lot, but on the other hand...didn't get a lot done on The Ritual.

I did decide that instead of a "choice" based text game, The Ritual will be a linear game. While writing the game, the choices I was adding felt very "tacked-on" - they weren't meaningful for the player, and they didn't change the game state in an interesting way. The choices were all boiling down to (A: good choice. B: less good choice). Instead of player-driven choices, I'll be making it so the story is different the second time you play through - two endings, but they're both linear. (if that makes sense...) 

So since that choice, I've written about half the words for the game. The wordcount is sitting at around 1.4k at the moment, & I'm expecting it to be around 3k at the end. I've also noodled around with some CSS with Leethe (see above...), so I'm feeling very positive about the whole thing! I'm hoping to work on some art for the game, or some music, and really amp the "mood" and immersiveness of the game (at least, as much as you can with a text game).

Anyways....since the game structure has changed so much, I thought I'd include the latest twine garden:

As you can see, it's a super short game! I'm just going to try to get it Finished and Polished and Published before the jam deadline & not worry too much about the length. Maybe once it's over I'll write a sequel or a prequel?


ohmigosh it's all so small & neat & beautiful *o*

I think you're wise to keep your scope small! Small can always be embiggened/enriched...

Submitted (4 edits)

I had feedback on the first page of my demo that players would like to be able to click anywhere if there's only a single link on the page. So I've been doing some work on it, and it occurred to me it might also be helpful for your "cursor" idea - if you make the whole page clickable, you can just display a "fake" link for the cursor and remove it once clicked. This seems to work for me, no CSS required:

(set:$cursor to (click:?page)+(transition:"dissolve"))
(enchant:">", (text-style:"bold") + (text-colour:"#4169E1"))
}[Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text]

How it works:

  1. Every paragraph is followed by a > symbol which isn't a real link, it's just been enchanted to look like one.
  2. Any time you drop $cursor onto the page, you tell Twine that it should look for a click anywhere on ?page, a special named hook which refers to everything on screen.
  3. When it gets that click, it transitions in the contents of the following hook.
  4. The first item in that following hook is a replace macro which gets rid of its preceding > symbol.


  • All ">" symbols on the page are inside hooks [>]. This seems to stop the previous replace from clearing them, even though the replace macro and the > for the next paragraph are shown at once. I suspect it's because at the time replace runs, it only knows there's a hook there - not that it contains a juicy > symbol.
  • You can break out the code at the top (the set and enchant statements) into global tagged passages. The set can go into startup, the enchant into header (since it wants to be run on every passage).

super interesting, thank you! I'll definitely play around with this. I've never thought about making the whole page clickable

Submitted (2 edits)

Wow... I just found out you can really compress it. I had no idea you could use variables like this! But I tried and, turns out you can...

(set:$cursor to "|cursor>[>]](click:?page)+(transition:\"dissolve\")[(replace:?cursor)[]")
(enchant:?cursor, (text-style:"bold") + (text-colour:"#4169E1"))
}[Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of tex
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text
}Bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text bunch of text]


Hey gang! This week I was mostly offline on account of  being on holiday w my boyfriend, but I took my notebook & wrote the whole next scene :) 

So now my word count is 2.4k, which is pretty exciting! I think I'm almost done with the draft of the main story - just gotta write the ending now.

I've also decided to put in an "alternate route" for the story to go - basically the first time you play it, the story will go one way (Route A). The second time you play it, the story will go another way (Route B). The way I've been able to do this is through browser cookies - "saving" your game in Twine creates a cookie in the player's browser. "Loading" your game is just reading that cookie. So when the player is at the fork in the routes, I just have to check if a specific "save file" exists. If it does, I send the player down Route B - if it doesn't, they go down Route A. At the very end of Route A, I create the specific "save file" - this way, the next time they play it, they'll see Route B.


First you check if the save file exists:

And then you create the save file at the end of Route A:

The main difficulty I see with this is getting the player to play the whole game twice. I'm honestly not 100% sold on it, & it may not end up in the final game, but I thought I'd share with you guys how to do this kind of thing!



Gosh, you guys! In the last fortnight I have been not at all productive. I'm starting to wonder if I'll even get this done in time! I've been trying to work on it, and I've made someeee progress, but nowhere near as much as I wanted. Bummer.

So: what have I done? I've made some decisions - I've removed the feature I was talking about in the last update. It worked and everything, but it didn't feel "right" for this game. Instead, there are some conversations where you get to pick the topic. You also have the option to check out one or other of the girls' thoughts during the journey. I'm not 100% sure if these choices will change the ending (still have to write the ending....), but player choice is back in the game for reals, and to stay! You can kinda see this in the latest twine garden:

I've also decided to have a lil bit of art in the game. I often go on bushwalks with my partner, and I've started taking photos while I'm out and about, as the landscape around me is so beautiful, and will hopefully really add some really nice ambiance to the game.  The photos I've taken are all still just placeholders (I'm hoping to get my partner to take the final pics...he's super good at photography!), but I've started playing around with adding them into twine and adding some fun CSS. Check it out!

As for wordcount...don't even ask! 2.9k, but I have quite a few conversations and thoughts still to write - not to mention the ending.



First draft is complete!!!!

 I've got 4.8k words written, background images for most of the scenes, and background music!

I still have a lot of polishing & editing to do before I can post it, but I'm super excited to be this close to done :) Hopefully by this time next week my progress log will include a link to the actual game.

Submitted (1 edit)


I'm all but finished! This week I've achieved:

  • Broke up some of the scenes that were in multiple locations so I could have a background image for each of them
  • Picked out all the images & edited them to have the same vibe
  • Added little heart links to all the passages to break up the text and keep it all consistent
  • Made a cute lil animated title page for the game
  • Updated the CSS for the title screen, end screen & credits screen to make them stand out a bit
  • Started editing the text, and finishing up any unfinished scenes (there's...a few.)
  • Took screenshots for the game page

Still to go:

  • Finish editing the screen
  • .....Post the game! At last!

New wordcount: 5.5k


Twine garden: