En español


ngPAWS (next generation Professional Adventure Writing System) is an engine for creating text adventure games (aka. interactive fiction) that can be run in any modern browser (wether online or offline).

At this very moment the project is in beta status, though is an advanced beta version considered very stable. The project is hosted in github, so most project information is there:

Who created ngPAWS?

Uto is the mantainer of ngPAWS, and author of the code editor and javascript libraries, but ngPAWS package also includes txtpaws by Baltasarq, and ngPAWS compiler is based in Paguaglus compiler by Yokiyoki.

Follow Uto on twitter

Where did ngPAWS come from?

ngPAWS is strongly based in Professional Adventure Writing System for the ZX Spectrum home computer, a system widely used in Europe in the late 80s and 90s (released in America as Timex home computer). ngPAWS is also based in Superglús, and is in fact a rebuild of that authoring system using javascript instead of Glulx virtual machine.

Is there an english version?

ngPAWS is designed in order to be used both in english and spanish. The compiler and preprocessor are both in english, while the code editor works fine in english and spanish. Also, the parser is ready to understand tweaks of those two different languages (you can set your game to english or spanish and parser reacts accordingly). On the other hand, ngPAWS requires a start database that handles most common answers to player requests, includes basic vocabulary, etc. and there are two different start databases, one for english and one for spanish.

Is ngPAWS portable?

Yes. You can compile the preprocesor and compiler in Windows, linux (x64 and arm) and OSX. The editor is only avaliable for Windows and Linux x64 though, despite compiling it for OSX is theoretically possible.

Can I develop my games/stories with ngPAWS and then apply the licence I want to them?

Yes, we encourage you to use ngPAWS and we don't want anything back for it. The engine is using the MIT license and the start database is released to public domain in order to do so. If you think our license prevents you from using ngPAWS for your project, just let us know and we will find a way.

Is there any demo?

So where can I check how ngPAWS work? For the time being, there is only one demo avaliable (in spanish), you can find it following this link. To complete the game type the following orders: E.S.EX CASCADA.ENTRAR.COGER HUESO.SALIR.N.DAR HUESO A PERRO.ENTRAR.COGER BIDON.SAL.O.N.PAGAR.LLENAR BIDON.S.ECHAR GASOLINA.

What about games?

Yes, in spanish though:

And source code samples?

Find below source code for two games made with ngPAWS:

  • McArra's Quest Reloaded: Please notice that it was built with an early alpha version, may not be 100% compatible.
  • Coldtiz: includes some plugins used for the game.
Windows (win32)
Linux (x64)
Linux (arm - Raspberry Pi)
OSX (Intel)

Please notice you can allways build yourself lastes beta from Github code if the binaries avaliable for your OS are not the latests one.


There are some interesting plugins that are not part of ngPAWS core, but can help you make better games:

  • Extra attribute lib: This extension allows author to use extra numeric attributes for objects in the game, for instance a "hit points" attribute can be assigned, or a density one.
  • Lov attributes lib: This library implements attributes for locations, just like the attributes for objects. It also implements several condacts, similar to those for object attributes.
  • Long description lib:This library implements a symple method to have long descriptions for objects that can be shown when examined.
  • Sets lib: This plugin provides some condacts to control sets, where numbers can be included, excluded or checked.
  • Stacks and queues lib: This plugin provides some condacts to control queues and stacks, where numbers can be pushed, poped, queued and unqueued.
  • Sequence condacts:This library allows you to execute some condact every time a given message is printed vía a new sequence tag.

To te following people, that took part or whose work was needed for creating ngPAWS:

  • Graeme Yeandle and Tim Gilberts for creating PAWS.
  • Yokiyoki, for creating Paguaglus, helping with Superglus, and in the end be in the origins of ngPAWS.
  • Baltasarq, for creating txtpaws preprocessor, without it ngPAWS would be really difficult to use.
  • Radin, for expanding... well creating... the spanish start database.
  • Jay Salvat, for the Buzz javascript sound library
  • The jQuery Foundation, for creating jQuery
  • dddddd, cause he suggested the name of this tool
  • To others that also suggested names that were not eventually chosen.