Hi to all,
in the last weeks I worked on a pet project that has in some way been inspired by Twine, Undum and similar web-based CYOA engines and I’d like to point it to you attention. It is called Dedalus and can be found here:
Any feedback is greatly appreciated. It comes with a comprehensive tutorial, so getting started and writing stories with it wouldn’t take much.
I don’t think Dedalus is better than any other similar system, because it comes down to the kind of story you want to write, your skills and personal preferences. I think, though, that it is different enough, otherwise I wouldn’t have taken my time to write it.
Twine’s major appeal is, I think, the ability to write games without even touching any code. They’re even working on a new web-based tool to replace the desktop one and it permits authoring texts in the browser. It looks amazing so far, but as a programmer, I feel much more at home with a text editor and I don’t like clicking here and there and, while writing, I just feel all the boxes distracting. Sure, Twine has Twee, but it’s not its killer feature.
I invite you to read the tutorial if you want to get a grasp of it. After the more technical “setup” section that you can skip, it is quite fun to follow, I think.
There is nothing to feel discouraged about. I like having pet projects in my spare time and make them grow, so as long as I’m having fun working on it I already have all I’m looking for from Dedalus.
I don’t really feel the need “to do some[thing] convincing” since there is no competition going on. I could have kept my project locked in my computer, but I decided to make it freely available and open source for those potentially interested in it. I can’t really see anything wrong with this.
It’s not my role to promote or review Dedalus, I couldn’t be more biased about it, but I think it’s a piece of quality code, thoroughly commented and tested, easy to extend (I just added “presentation plugins”), it’s had a mulitier architecture thought from the beginning to be extended to other media (mobile apps and so on), it provides two different systems to write stories so that’s easy for the beginner and appealing for the more technically prone and I’m on my way on completing a “theme pack” with many examples on how stories can be presented in different layouts.
That said, this probably means nothing to you and maybe to anyone, but till it means something for me, I don’t feel like I’m wasting my time and I’m not so mean that I don’t want to share my work with others, just in the unlikely case someone appreciates it.
I like it. The code is clean and readable and where IF is concerned, that’s a pretty big deal. I think the UX stuff will take a few iterations to make it clean and more usable. Add some variations on styling. But overall I think this is a nice CYOA tool.
Your attitude is commendable, and your positivism even more so. I wish you best of luck with your project, and would only suggest that Dedalus games are also available offline, by means of zipped .html pages along with any extra material they might require.
EDIT - Saving your “Cloak of Darkness” demo as a web page seems to work fine! In my book that already puts you way ahead of twine and Undum (it’s easy to play an Undum game offline, but only if the author makes it available). Not to mention presentation is top notch. Very elegant.
Having played through Cloak of Darkness, I feel like one of the selling points you can make here is the pop-up action menus. That is something that decidedly does not come off-the-rack in Twine, nor in Undum I think.
Another point is that there are a lot of built-in hooks for things that go beyond click-and-move. You have all the before and after actions, and the flag for removing highlighting from a link. Twine makes it pretty easy (easier than Dedalus, I think) to set flags, but I don’t think it lets you do this stuff off the rack.
Another feature you have is the distinction between “show” and “page” – allowing you to display some text without navigating to a new page. This is something that Undum has but isn’t standard in Twine I don’t think.
So if I were laying out the differences it’d be something like this:
Dedalus has separate pages rather than a flowing transcript (like Twine but unlike Undum or Inklewriter).
It has some relatively sophisticated interactions over and above navigating from one page to another or tracking state that I think may be unique to any of these systems.
It automatically tracks an inventory (which I think Undum makes it easy to do, but Inklewriter and Twine don’t).
I think that you make your file in a text editor, like Undum but unlike Twine and Inklewriter. But I wasn’t clear on that.
Overall it seems like something that’s best suited to things that are kind of like text adventures with a CYOA interface, since it makes object manipulation and examining things in static locations easy. And it could work for people who want something a little more powerful than vanilla Twine (I mean, without throwing in a bunch of scripts) or Inklewriter but don’t want to get as heavily into programming as in Undum.
[A bug in your Cloak of Darkness implementation: After you put the cloak on, “Put on” is available as an action and “Take off” isn’t. It seems like this shouldn’t be hard to fix, and it’s definitely something you want to show off.]
Switch theme with the top-right selector or reload for a random one. Let me paste a quote from the tutorial about theming, though:
Hi again, Peter, thanks for taking your time and trying it out. I’ve added a section on the tutorial that is a sort of “quick start”. Just download a zip file, write your story in one of the files and it’s ready to be uploaded to your server or distributed as a .zip file.
Thanks, your lengthy review is much appreciated. As said to Peter, I made a couple of zip files that are ready to be downloaded and should get you started without even reading the “Setup” section that is now optional. This should make things easier and clearer.
The bug in CoD should now be fixed, thanks for pointing it out.
As for the differences, I just want to underline that the default behavior is to the have separate pages, but you can set up a “flowing transcript” with one of the presentation plugins (the other provides a “fade in” effect like Twine).
Let me waste another bit of your time with the philosophy behind Dedalus.
Vanilla HTML, from day zero twenty years ago, has always been a perfectly fine tool to make CYOAs. A page is a location or event, a link is a passage. Bookmark the page and you have a save function. The back button of your browser is the “undo” command. CYOAs are much simpler than IFs, and I wanted to create something in between to two narrative forms.
IF authors are different from CYOAs authors because IF appeals the writer and the programmer. Part of the beauty of Interactive Fiction is how surprising it can be. One can be surprised by the story and by technical accomplishments that push the medium forwards.
CYOAs, on the other had, may be written by the non programmer, in fact they appeared first as written books and in their digital form Dreamweaver (or any other HTML editor) is fine to write them. The success of Twine, I guess, relies on the ability to put in the hand of the writer a tool that does not require programming but that outputs a web page you can create in a graphical way.
Undum, for example, has a sort of “character sheet”, while Dedalus hasn’t. But in the end, it’s really easy (for the average programmer) to add a
In this respect Dedalus is both a fairly easy tool to create simple adventures and a framework for programmers (like IF authors wanting to try something new) to create new things.
This is why, for example, I now provide some themes but underline how ideally they should not be used. I’d like to see people using Dedalus, but I’d love to see it used as just the foundation to build things I can’t even imagine right now.
I don’t want it to sound like a criticism (I think Twine has a really amazing and dedicated community), but most of the adventures produced (with a lot of notable exceptions, of course), feel a bit one like the other. Sure, the stories are really different, but they “look” similar and rarely surprise you with something unique going on apart cliking here and there. The web is such a rich medium that I can’t even start listing things that I’d like to see popping up in CYOAs to break the “click the right link” monothony. You are in a room and there is a piano, you have to “play” the correct sequence of notes to open a secret door and you must do this on a clickable piano image. The train is about to derail and you have 40 real time seconds to understand what to do. The story takes place during 24 hours and the background of the page changes accordingly to the hour. You enter a dark room and the text and the links are really black on black. You fight a cyber bear in a cage and have to “punch”, “kick”, and “dash” it with key combinations. You are exploring a huge maze and there is a live updated map on screen.
All these things require some skill and some programming, but this is the kind of things I want to promote. I tried to address the Setup issues making it a no-brainer, but if someone can’t even add a stylesheet to an HTML page, he or she surely can’t make a game where you’re turning into a zombie and the text becomes more and more scrambled and confused as your brain rottens, and this is just the kind of things I want to promote and I’d like Dedalus to be used for.
Handlebars is ok, I could have used it, but I opted for doT.js simply because it’s even more minimal and, according to benchmarks, the fastest template engine around.
I’ve never used Stylus, I generally go for Less, but Dedalus is not really about providing any CSS but about encouraging a creative use of it, so I didn’t want to use anything opinionated myself