welcome guest
login or register

An interactive Lakeside Quest

When my previous car broke down and I had to buy a new one, the whole process was not only about money and practical arrangements. Somehow, it also made me re-examine my life, habits, timetables, working schedules, and to reflect on my general manner of navigating my life. Yes, I know - I do that all the time anyway. But somehow a sudden unplanned practical change gave me extra motivation to do some other changes, too.

First, I had to alter my plans concerning work and house renovation - I needed to pay back the money I borrowed for the car, so I put higher priority on such work which yields money. On the side I also wanted to take better grasp of some of my own projects. To not to leave behind a trail of unfinished abandoned projects. One of those projects is the interactive story engine called TaruPaja. I started developing it a long time ago... Sometime in April I set myself a goal; I won't post a new blog entry until I get a fully playable version of TaruPaja published. Like, devoting more of my keyboard time to finishing this long term project, postponing some other things (like the blog updates). Well, finishing TaruPaja took a bit longer than I was hoping, but finally I'm ready to publish a playable version. Before posting a link to it, allow me to explain a little.

The name TaruPaja is Finnish. Taru means 'a story' or 'a tale', and paja is a forge in the sense of the building where a blacksmith operates. The word is also used in more general meaning, pretty much like 'workshop' in English; either literally meaning any place where things are taken apart, fixed and put back together - or metaphorically any place where creative work takes place. According to Finnish grammar, it is written plainly 'Tarupaja', but I chose to use CamelCase hoping that it makes it easier to read for non-Finnish audience.

At the moment TaruPaja handles a world with places, characters and items. The player can freely move around, talk to characters, pick up items and deliver them to characters. Talking to characters can yield information which opens up new possibilities for the player to do. That is why I like to think of TaruPaja as 'dialogue driven' - the story unfolds by talking with characters.

There are three main elements to TaruPaja; a story editor, a story reader, and the actual stories. Personally, I think the story editor is the main thing - I aim to publish it as free to use. That way people could write their own stories and to share them with others. But, at the moment I'm not yet ready to publish the editor, I think it could still use some polishing to make it easier to use. But I plan to have it out later on this year, depending on how much there is feedback and if there are people who say they'd like to write stories. So, what we have now is a browser-based reader, and an example story. The example story is set in UnReal World (for those who are not familiar with the game, it basically means a low-fantasy world inspired by Viking era Finland. Pagan population scattered in small settlements in the vast wilderness.) Since the player can freely move around, the story unfolds a bit differently, depending on which character you meet first.

Writing the example story made me reflect on some other games. If I remember correctly, Fallout (the first version, that is the only one I've played), often offered different ways to approach the dialogue; the player could choose a diplomatic or a provocative reply, a straight-forward or a sly line. That works for a game, and opens up room for role-playing the situations. But in my story I wrote everything just according how I imagined the personality of the main character to be (which means that basically, the player has only the 'diplomatic' option all the time). The underlying engine would allow a more diverse approach - it is just that it would mean a whole lot more work with the writing, so I chose a quicker and a more story-like way of writing. (Again, the background theme of this blog post; putting priority on getting things done.)

Today's version is 0.6, which means that it doesn't yet have all the features I'd like the version 1.0 to have. I think the next addition will be a possibility to save / load a story. So, be warned - at the moment you can't do that, if you close the story you lose your progress. But the example story isn't that large, you can easily read it through in one go. Otherwise it will be just minor polishing but no major new features for the version 1.0.

Although, as usual, there are unlimited possibilities of expanding this simple engine. To mention a few ideas; a graphically presented map (or a portion of a map) the player could click to move around. More ways to use items, possibly crafting. More freedom for the player to choose / create the player character. The non-player characters also moving around. Passing of time. Events and actions (I mean, at the moment the world is rather static; despite the non-player characters threatening to do thing X or Y, they never really do anything. The whole world would be brought to live if all the characters would be moving around carrying out their own tasks.) Oh well, but naturally, we go step by step. First I need to get the story editor published, and then it is the possible user feedback which will affect what new features get implemented and in which order.

Thanks for your patience! If you'd like to read the example story, it is here. (A hint: if a character sends you to do thing X, but you feel stuck, you can always try going back to that same character to ask again.) Feel free to write any feedback or bug-reports in the comment section!

EDIT: Silly me. Only after posting this I noticed that in the game source code I've actually used the form "Tarupaja" - so apparently at some point in the development I have changed my mind about using CamelCase -format, and then forgot about it. Well, it isn't a big deal anyway, so maybe we go with the form 'Tarupaja'. And then some credits; in the example story the player character is called 'The Wandering Vagabond' - that is a nod to a friend from Scotland. Years ago when I was about to visit Scotland, I wrote UrW forums to ask if we have any players there. One person contacted me, and kindly acted as my local guide; we spent a great day hill walking on the mountains. That friend has performed as a professional tale teller using an artist name 'The Wandering Vagabond'. So I asked the friend if I can use the name in the story I'm writing.

4 users have voted.


Very exciting Erkka! I've started the story and am quite impressed. Great writing! I had to stop because it's almost midnight here, but will restart it this weekend. I for one am quite interested in both your story and the editor. I started way back in the 1980's with a text adventure by Scott Adams called "adventureland" on the Commodore Vic-20. I've recently written with an editor called Twine, and am working on a game in GML. Anyway, looking good! One thing, I found myself wishing the reader was bootstrap css/responsive to fit my mobile screen but otherwise it's great!!!

Hehe, as you wander further into the story, you might notice that the place descriptions grow shorter... I wished to spend more time writing each description, but then felt the weight of 'to get this done'. But, yeah, one of the features is that the place descriptions aren't completely static - the description can vary depending on if you've been there before, or if you have heard a special clue which guides your attention so that you see the place differently.

I also remember Scott Adams games, and the Commodore-64 text games were the way I learned my English as a kid =) Together with my older brother we wrote a text adventure engine in C-64 BASIC, and started making games. As far as I can remember, we didn't finish a single game, as usually we got so quickly inspired by new ideas, abandoning old projects starting new ones...

Well, but glad to hear you are interested in the story editor. I'll try to publish the first version of the editor later on this summer.

Thanks for mentioning the need for mobile-friendly css! On my laptop browser it kind of a works, even if I resize the browser window to very small dimensions. How does it behave on your device, what is the main problem? I could take a look if there is a quick fix.

Ahh yes, CBM Basic was my first code language :) I visited your reader on my Samsung Galaxy phone and had to zoom/slide to read. It works, but if responsive css is not too great a headache, it could really help accessibility ;)

A five minute fix with a debug marker:

Now, when browsing with a small screen device, there should appear a blue box around the header. That is for debug purposes. Otherwise, I changed one line which should make the reader to fit better to a smaller screen.

Anyone can confirm if it works or not. If yes, then I'll remove the blue border later on today =)

On PC browser when resizing the browser window really slim, the text moves to fit width. Great! However there's no change on mobile. See photos:
ALso, running a Google Mobile Friendly Test unfortunately fails:
Disclaimer: I'm not trying to be any kind of "troll" or Mr. negative and I truly love and appreciate your work on this, but am just trying to be of help with testing.

Thank you very much - your feedback is valuable!

If I read your pictures correctly, in portrait mode there is a blue border around the header section, meaning that it has loaded my custom css for smaller screens. But judging by the screenshot, it is hard to say if there are other problems but possibly the text being bit too small to read conveniently?

In the screen picture of horizontal landscape mode I don't see the blue border, so probably the screen width was big enough not to trigger custom css.

Well, for the next few days I'll be rather busy with other things, but I'll return to this as soon as possible! (Trying a few small things today, though)

EDIT: I'm not sure if it works correctly, but I tried to add so that if user screen height is less than 400px, the place description box max height is restricted to 120px, giving it scrollbars if the content text is longer. Also, for debugging purposes the background color is less bright green. Hope it works!

Yes! Much better. Body text is scaling to width now. Nice work.

Please let us know if your coming to Scotland. I would be only to happy to share a dram or two with you.

Cheers! My passport expired couple of years ago, and I haven't renewed it for I've been sinking most of my money into the house renovation project, not in the mood of travelling. Yet, revisiting Scotland is something I'd like to do at some point in my life. (And / or touring Europe by train). I have no idea when I get to do such things, but when I do I hope it will indeed be a tour of meeting blog readers =)

You're more than welcomed to visit Israel, we'll show you around and possibly might even be able to host you! :)

Thank You!

In my life I haven't been travelling that much, but on my few trips I've always enjoyed the most when I can make contact with locals, and also see places outside the major tourist attractions. To get the feel of what ordinary life is, and to see the less-known local specialities =)

Nice to see the project now public, a new game with tons of possibilities is born :) Just passing by to say again: good job Erkka!

Regarding the posts about screen size in mobile - have not testet it in a smartphone (hate browsing in mobile try not to, PC FTW) - by the print screens it seems to be simple, only font size not scalling automatically - but by peaking the source code seems that Erkka was quick to work it out :) The release 0.6 is moving quick :)

BEsides the new ideas to come till version 1, curious about the engine next, keep it up :)

PS: regarding trips, the oldest city in Portugal, Braga (with habitants since the Mesolithic period), is always with open doors and free place to stay if one day you feel like travelling again :) (the "open doors" has a literal meaning too, since there is a joke in my country about people from Braga - it had a medieval wall, and one of the main archway door's never had a door, was always open - now it is a monument, the only thing left from the wall, a without door, so people from Braga are known for always having the door open in this country xD).

Hehe! And sure thing, Portugal definitely goes on my places to visit if I go wandering some year or another.

Hello Erkka, I want to ask you for one song you posted here a year or so ago: It was a Finnish pop/rock song, there was a big group of men singing, standing on some hill and shuffling themselves, behind them was a city. I remember hearing something like "vihaava kuu" but not really sure, it is a long time. If you remember, thank you.

You got it almost correct =) "vihaava" is "hating", but the song title is "lihava kuu", ie "fat moon".

The city behind them is Helsinki.

Thanks for a quick response and info!


Add new comment

Please reply with a single word.
Fill in the blank.