Quantcast
Channel: Squiffy – Text Adventures Blog

Squiffy 1.0

$
0
0

Squiffy is a lightweight tool for writing interactive fiction. It is open source and runs on Windows, OS X and Linux. It generates static HTML, CSS and JavaScript files which you can upload anywhere.

I’ve already written one interactive fiction system, Quest – so why create another? It was while writing my first game Moquette last year that I realised I needed a simpler tool for the kind of interactive story that I was interested in writing. I wanted something that would let me sit down and “just write”, mostly getting out of my way.

So I’ve now created the tool that I wished I had back then. This version 1.0 release is intentionally very simple – it’s a command-line Python script that reads in a text file, and writes the output to the same folder. Here’s how to install Squiffy.

Game text is written using Markdown. Players click links to interact with the game. Unlike other systems, Squiffy’s equivalent of “nodes” or “pages” are split into two types:

  • Sections which move the story forward
  • Passages which provide a way to further explore or interact with the same scene

An example might help to explain the distinction between the two.

You enter the room. There's a [chair] and a [table] here.
You can go to the [[kitchen]].

[chair]:
Just a chair.

[table]:
An ordinary table.

[[kitchen]]:
You enter the kitchen...

Here, “kitchen” is a new section, whereas “chair” and “table” are links in the same section. You can click the chair, and the chair’s description appears, but the table and kitchen links remain enabled. If you click the kitchen link, the table link is now disabled, as you’ve moved to the next section.

If this sounds confusing, don’t worry – you can build you game entirely out of sections, and it will play as a traditional multiple choice game. But by including passages, you could create works that have a bit more of an exploratory feel. If Moquette were written now using Squiffy, I could use sections for each train, and passages for interacting with people in the same train carriage, for example.

Squiffy also makes it easy to use JavaScript. Any section or passage can embed JavaScript, simply by indenting code before the text. This would be useful for Moquette-style transitions – here’s an example of a screen blackout between sections.

A player’s progress is saved automatically to the browser’s local storage. They can close their browser tab, and the game will be restored immediately when they come back.

You can save state in attributes, replace text, and make links that replace themselves.

For publishing your game, you can upload it to any web space, or submit it to textadventures.co.uk. You could install PhoneGap or upload it to PhoneGap Build to turn it into an app.

Instead of “big bang” releases, the plan is to improve Squiffy one feature at a time. We will build up to a web-based editor over a series of what will hopefully be relatively frequent releases. For the plan, see the Development Roadmap.

For full details on using Squiffy, see the documentation.

I hope you will give it a try and give me your feedback in the forums!



Squiffy 3 – a new web-based editor for interactive fiction

$
0
0

The third release of Squiffy is now available. The big new feature in this version is you no longer have to download anything!

Previously, the only way to use Squiffy was by creating a file in a text editor and compiling it from the command line. You can still do that, but you can now just use your web browser instead.

In-keeping with the philosophy of trying not to do too many new things in any one release, this first iteration of the editor is intentionally very simple. It’s pretty much a text editor in the cloud, with a few Squiffy-specific bells and whistles to make editing a game easier.

Squiffy Editor

You can use the editor without logging in, in which case all changes are automatically saved to your browser (and are automatically re-loaded the next time you come back). Or if you’re logged in, you can hit the Save button to sync your game to your account, so you can access it from anywhere.

You can publish your game directly to textadventures.co.uk, or you can export it as HTML and JavaScript to upload to any website (or even wrap with something like PhoneGap to turn it into a mobile app).

As you create sections and passages, the drop-down lists above the editor automatically update. These provide an easy way for you to find your way around your game.

When you run your game, it appears on the right-hand side of the screen, so you don’t need to switch between tabs or windows.

If you set attributes in your game, you can keep track of them by looking at the pane at the bottom of the screen, which logs all attribute changes.

Try it out now at http://textadventures.co.uk/squiffy/editor.

Open source, of course…

Both Squiffy and the editor are open source and on GitHub:

For Squiffy 4, I’m planning to wrap this HTML-based editor with Electron (formerly Atom Shell), to create an offline downloadable app that will work on Windows, Mac and Linux. After that, we can start fleshing out the editor with more features – a graphical overview of your game’s sections would be an important feature, I think. I’m open to more suggestions!

Enjoy! If you have any questions, post in the forum or ask at IF Answers.


Squiffy 2.0

$
0
0

Squiffy 2.0 is now available. Just like Apple’s “Snow Leopard” release of OS X a few years ago, this release of Squiffy boasts an amazing 0 new features.

0 new features

Why no new features? Because Squiffy releases should only do one thing at a time, and this release is all about rewriting the compiler to use Node.js instead of Python.

This does make installation simpler, as Squiffy is now an npm package. To install Squiffy, you just need to install Node.js and then run

npm install squiffy -g

That’s it!

Everything else is the same as before, with the possible exception of there being a different set of bugs now. If you spot any, please log them on GitHub.

You can find out how to use Squiffy by looking at the documentation, and the Squiffy 1.0 blog post’s overview is still up-to-date except for the reference to Python.


Squiffy 4 – interactive fiction editor for Windows, OS X and Linux

$
0
0

Squiffy 4 is now available. This release brings the editor to Windows, OS X and Linux, so you can now create and edit games offline.

Squiffy for OS X

Squiffy is a simple system for writing multiple-choice interactive fiction. It publishes to HTML so you can upload your game anywhere. The quickest way to see it in action is to check out the documentation, which has a load of live examples – you can see the code and the results in the same place, and play around by editing the examples in the ScratchPad.

With this release, you now have three options for using Squiffy:

The new desktop version of the Squiffy editor takes the web-based editor (created for Squiffy 3) and wraps it up using Electron. It’s exactly the same code, so all future improvements will be available in both the web and desktop versions.

What sort of future improvements? Well, we’re nearly at the end of my Squiffy Roadmap now, but this is just the beginning. Now we have a fairly simple editor across all platforms for what is still a fairly simple system, we can start to flesh out the features a bit. I’d like to add a graphical view showing how a game’s sections and passages connect to each other, and I’ve got various ideas for how the editor could assist you with building a game – making it a one-click operation to add new sections and passages, showing you which sections and passages are empty or missing, etc.

Both the Squiffy Compiler and Squiffy Editor are open source on GitHub:

All feedback, suggestions and pull requests are welcome!


Looking for a new owner for textadventures.co.uk and Quest

$
0
0

I have been developing Quest and textadventures.co.uk for a long time. It started off as a summer coding project when I was a teenager and wanted to send stupid text adventure games to a friend. Over the last couple of decades it has turned into something far bigger than I could have imagined.

It has alternated between hobby and full-time job, and tinkering with it all these years has taught me huge amounts about writing software, helping turn me into the developer that I am today.

I’m proud of what I’ve built – various open source projects that have enabled hundreds of thousands of people to build games for the first time, and a website that has become the top hit on Google for “text adventures” and attracts 3,500 users per day, a number which continues to increase.

The software and community around it are in great shape, and I think they have a great future. But the time has come for somebody else to take charge – I want to focus my energy on new projects, and hand over what I’ve built to somebody else who has the passion to drive things forward.

I am looking for people interested in taking this on. There are quite a lot of different bits, and these wouldn’t all necessarily need to go to the same person or company – things could be split up if that looks like the best option. I am open to all suggestions and proposals – my main concern above all else is finding the best home (or homes) for the long-term future for these projects. I am not looking for money and I’m happy to do everything I can to ensure a smooth handover.

If you’re interested, please email me at alex@textadventures.co.uk.

What if new owners can’t be found?

I really hope that people from the interactive fiction community will want to see Quest and textadventures.co.uk continue, so if you can possibly help then please get in touch. Do you want to keep textadventures.co.uk alive for the community that loves it? Could you take it forward to bigger and better things?

If no suitable new owners come forward by 28th February 2017, then sadly I will have to start the process of shutting down the website and forums. Initially they will become read-only, and I will look to export the data elsewhere (the IF Archive or the Internet Archive) before closing the sites completely.

Quest and Squiffy will remain accessible on GitHub but there will be no further updates. The software will still be able to be downloaded for offline use, but the online web-based versions would no longer be available. The GitHub repositories themselves would probably be transferred to the IFTF.

The different bits

  • Quest
  • Squiffy
  • QuestKit
  • textadventures.co.uk:
    • The site itself, where people can upload games (not just Quest and Squiffy games, but Inklewriter, Twine and Inform games too) and post reviews and comments
    • The forums
    • Online player and editor for Quest games
    • Online editor for Squiffy
  • ActiveLit
  • Social media accounts:
  • Various domain names:
    • textadventures.co.uk
    • textadventures.uk
    • textadventures.co
    • textadventures.net
    • textadventur.es
    • textadventure.co.uk
    • activelit.com
    • activelit.co.uk

Some numbers

textadventures.co.uk according to Google Analytics:

  • ~3,500 unique visitors/day
  • 83,986 unique visitors in November 2016 (a 14% increase on November 2015)
  • 428,119 page views in November 2016 (18% increase on November 2015)
  • Average session duration 03m 41s
  • 66% of sessions are from new users, 34% returning

Users:

  • 161,203 registered users (115,038 with confirmed email addresses)
  • In November 2016, new sign-ups from 4,746 users (3,190 with confirmed email addresses)

Games:

  • 13,582 games (8,216 are public) of which:
    • Quest games: 9,892
    • HTML (Twine, Squiffy etc.) and Inform games: 1,621
    • Inklewriter games: 1,321
    • External links (game listings from IFDB, Choice of Games etc): 757
  • In November 2016, 394 new games (136 are public)
  • 8,317 reviews and 13,414 comments
  • In November 2016, 197 new reviews and 336 new comments
  • 94,575 games started in Quest’s online editor

Social Media:

  • @TextAdv on Twitter: 921 followers
  • textadventures on Facebook: 1076 likes

Income and Expenses:

AdSense earns about £50/month for the limited advertising which is currently on the site.

The main costs are for Azure at ~£70/month, and the VPS (hosted by OVH) which runs the Quest online player and editor at £13.59/month ex VAT.

(On Azure, I’ve been getting a £65/month free credit, so the actual amount billed averages only about £5. This means the total cost for running the site has been about £20/month, which has been entirely offset from the Adsense income.)


Developers needed for textadventures.co.uk and Quest

$
0
0

This is a follow up to Looking for a new owner for textadventures.co.uk and Quest.

Thanks to all of you who have got in touch so far. A lot of people have asked about what would be involved in taking over and running textadventures.co.uk and/or Quest, so this post is to go into a bit more detail about how things are set up and how the work might be split up across different people.

For a smooth transition, I need to find people to fill these four roles:

  • One or more .NET web developers for textadventures.co.uk and/or ActiveLit, familiar with Azure and ASP.NET MVC and with front-end development using JavaScript and Bootstrap.
  • One or more JavaScript developers for Quest 6, Squiffy and/or QuestKit. Ideally familiar with back-end and front-end web development, and desktop development using Electron.
  • One or more .NET developers familiar with both desktop and web development for Quest 5. Ideally familiar with both C# and VB.NET.
  • A server admin to keep the current browser version of Quest alive (both the Player and the Editor). Needs to know how to run a Windows server. This is currently running on a VPS at OVH. (This is just for the online player and editor – running textadventures.co.uk itself will require a developer familiar with Azure. Eventually if both the Quest Player and Editor are rewritten to use JavaScript, the server admin role becomes redundant).

Of course any of these roles can be combined – after all, they’ve all been done by me up until now.

textadventures.co.uk and ActiveLit sites

textadventures.co.uk and ActiveLit run on the Azure App Service (formerly known as Azure Websites). Data is stored in Azure SQL and in Azure blob and table storage.

The web-accessible blobs (for game downloads, cover art etc.) are behind a Cloudflare CDN.

The code uses C# and ASP.NET MVC. The front-end uses Bootstrap, JQuery and a little bit of React.

ActiveLit runs alongside textadventures.co.uk on the same Azure infrastructure and talks to the same database.

Quest 5 & 6

There are two parts to Quest – the Player and the Editor. There are also two ways of using Quest – via the web, and via a downloadable Windows desktop application.

The current version is Quest 5, and I also made a start on Quest 6 which is architected quite differently. The new version rewrites the Player back-end to use JavaScript, which means the web version requires no server component (making it much faster, infinitely scalable, distributable on any website, and an end to time-outs while playing), and the desktop version will be cross-platform for the first time (packaged using Electron for Windows, Mac and Linux).

To take on Quest 6, I’m looking for a developer who has experience using the modern JavaScript ecosystem (npm, TypeScript, gulp, webpack and all of that kind of thing). I will work with this person to help get Quest 6 shipped. (It doesn’t make sense for me to continue working on this project without somebody to hand it over to, because it will of course need to be maintained after it is shipped). Quest 6 lives in the v6 branch on GitHub.

After Quest 6 is shipped, rewriting the Editor to use JavaScript would also be really useful. That would be a project for the new Quest 6 maintainer, or maybe even someone else. If Quest could be taken to the point where both the Player and the Editor were shipping as 100% JavaScript applications, that would be a massive simplification of the Quest architecture.

Quest’s long-term future lies with Quest 6, but it would be good if we can find somebody to maintain Quest 5 for the time being, not least because even if/when Quest 6 ships, it will still be using the same .NET-based Editor that Quest 5 uses.

I’ve updated the Developers documentation page on the Quest docs site to describe how the various projects that make up Quest 5 together. It is not an easy thing to pick up – there’s a lot of code there, and a mixture of languages and technologies reflecting my changing tastes and experience over time. It’s stable though, and it shouldn’t require big changes because if the Player and Editor both get rewritten using JavaScript then all of it will become obsolete.

Proposals

If you’re interested in taking on one or more of these roles, please email me at alex@textadventures.co.uk.

To reiterate, I am not looking for money. I want to hand these over to somebody (or a group of people) with a passion for IF and a vision for where these products could go in the future. That vision doesn’t necessarily have to agree with my vision (that’s what stepping back is about) – this is a massive opportunity for somebody to take over running a popular website and IF development system. textadventures.co.uk is the place people come when they search for text adventures on the web, so it’s a big gateway to the world of interactive fiction. Taking on the website doesn’t have to be about taking on Quest.

I’ve only got Alexa rankings to prove it (so take them with a pinch of salt) but the site appears to be bigger than other IF sites like IFDB, intfiction.org and Choice of Games. It’s how a lot of people start out making text adventures – in fact, it’s introduced a lot of people to programming in the first place. It’s used by schools to get children into coding and creative writing.

Thanks again for responses so far. If you can’t help out yourself, please help spread the word to somebody who might be able to take this on and ensure it has a future.


Meet the new textadventures.co.uk team

$
0
0

I announced last month that I was handing over textadventures.co.uk and Quest. Many thanks to everybody who got in touch to volunteer to help. I was really pleased that so many people want to see these projects continue into the future. I am now happy to announce that we have a new team in place!

Luis Felipe Morales will be taking over the textadventures.co.uk and ActiveLit websites, and also Squiffy. A programmer since the 1980s, Luis has been involved with the Spanish interactive fiction community since he was young. He has maintained and created several internet portals and now works as a freelancer.

Jay Nabonne and Andy a.k.a The Pixie will be taking over development of Quest. Both have been very active members of the forums for a long time. Jay is a lifelong programmer and game player who is interested in not only creating games but helping others to do the same. A California native, he now lives with his wife in the UK. Andy has been playing and creating text adventure games since the Eighties, has been using Quest for over five years and has written various guides and libraries for the system.

Greg Fenton and Nathan Clive Gerard will each be running servers for Quest’s WebPlayer and WebEditor. Greg is a developer who wrote his first text adventure in dBase III on an IBM PC back in the very late 1980s shortly after leaving high school. Nathan is a regular player of text adventures from the UK (currently living in the USA), who spends his days setting up and looking after web servers in the cloud.

I’ll be working with each of them over the coming months to ensure a smooth transition. Please welcome them aboard!


Rebooting textadventures, Quest and Squiffy

$
0
0

I am back.

I am Alex Warren, the original creator of the textadventures.co.uk site, and the Quest 5 and Squiffy text adventure systems.

I handed over all of these in 2017, and I am very grateful to Luis and Andy for keeping things running for the last few years.

Recently I noticed that a few things around the site had stopped working, so I quietly dropped in to fix a few issues with Squiffy.

Well, things kind of escalated from there, and it turned out now was a good time to transfer ownership of things again. So I’m happy to announce that I am back in charge of textadventures.co.uk, Quest 5 and Squiffy once more.

There’s a whole bunch of things I want to do to revive and modernise things, and I’ve made a good start on each of them…

  • rebuilding (and maybe rebranding) the textadventures.co.uk site.
  • a major new version of “Quest 5”, using Blazor and WASM to make things work super fast, in browsers and across platforms. This will need a new name (as there’s already a Quest 6), so I am referring to this new version as “Quest Viva”.
  • a major new version Squiffy, built with TypeScript and with the editor implemented as a PWA.

Work is well underway on all of these, and I’ll announce more details as they come closer to fruition.

In the meantime, I have opened up GitHub discussions for textadventures, Quest and Squiffy, and there’s a new official Discord Server you can join. Hope to see you there!