All Projects → ThePix → QuestJS

ThePix / QuestJS

Licence: MIT license
A major re-write of Quest that is written in JavaScript and will run in the browser.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to QuestJS

Monotone-HWID-Spoofer
Custom Created Hardware ID Spoofer to Bypass Hardware or IP Bans
Stars: ✭ 145 (+208.51%)
Mutual labels:  games
decentraland-workshop
Decentraland workshop - Learn how to get started building stuff on decentraland
Stars: ✭ 26 (-44.68%)
Mutual labels:  games
flare
A Simple Browser Based Game.
Stars: ✭ 85 (+80.85%)
Mutual labels:  games
gameap-legacy
Free Game Admin Panel
Stars: ✭ 37 (-21.28%)
Mutual labels:  games
path demo
An experimental set of pathfinding algorithms for video games
Stars: ✭ 16 (-65.96%)
Mutual labels:  games
chessmsgs
Play chess over Twitter, SMS, iMessage, Facebook, Snap, Whatsapp, Google Chat. WeChat, Telegram, KaTalk, Viber, and many more.
Stars: ✭ 72 (+53.19%)
Mutual labels:  games
phaser multiplayer demo
HTML5 Multiplayer with Phaser and Go
Stars: ✭ 35 (-25.53%)
Mutual labels:  games
goopylib
A simple-yet-powerful 2D graphics framework built on top of Tkinter capable of creating good-looking & modern GUIs, games, and simple animations.
Stars: ✭ 19 (-59.57%)
Mutual labels:  games
Cpp-Data-Structures
📐 C++ Implementations of data structures & algorithms from PSU course CS162/CS163
Stars: ✭ 19 (-59.57%)
Mutual labels:  games
jerry
Jerry - Chess Program
Stars: ✭ 79 (+68.09%)
Mutual labels:  games
GameZero.jl
Zero overhead game development library for the Julia programming language
Stars: ✭ 143 (+204.26%)
Mutual labels:  games
izabela-desktop
A proof of concept text-to-speech application allowing global typing. Can be used over applications such as voice chats, games and much more.
Stars: ✭ 62 (+31.91%)
Mutual labels:  games
another js
Another World/Out of This World (HTML5)
Stars: ✭ 46 (-2.13%)
Mutual labels:  games
piw5 bot warfare
The Bot Warfare mod for PlutoniumIW5
Stars: ✭ 57 (+21.28%)
Mutual labels:  games
manu.ninja
Frond-End Development, Games and Digital Art
Stars: ✭ 15 (-68.09%)
Mutual labels:  games
skinner
Skin export / import tools for Autodesk Maya
Stars: ✭ 68 (+44.68%)
Mutual labels:  games
StickMan-3D
StickMan 3D: First Round | indie fighting game | C++ OpenGL
Stars: ✭ 60 (+27.66%)
Mutual labels:  games
leagueoflegends
A command-line interface for League of Legends Esports.
Stars: ✭ 28 (-40.43%)
Mutual labels:  games
Commandline-Games-hacktoberfest
A repository to share command line games. An opportunity to start and learn about open source code contributions flow.
Stars: ✭ 16 (-65.96%)
Mutual labels:  games
Alis
Develop the video games of your dreams.
Stars: ✭ 17 (-63.83%)
Mutual labels:  games

This is a full re-write of Quest, an interactive fiction app, to pure JavaScript. An experimental game can be found here.

A Successor to Quest 5

Quest 5 is written in C#, with some Visual Basic, has its own scripting language, ASL, and also uses JavaScript for the UI. Players can either download a dedicated player/editor or use the web version, in the latter case the game runs on the textadventures.co.uk server. In contrast, Quest 6 is written entirely JavaScript, and runs in the player's browser. This means:

Better for players

  • No lag between turns
  • Game does not time-out
  • Saved games will play in the latest version of the game

Better for authors

  • Authors can upload games to their own web site
  • Authors are learning/using JavaScript, the computer language of the internet, rather than ASL, which is exclusive to Quest 5
  • Authors can change absolutely anything in the game system; everything is accessible
  • Authors can create games on Linux and Mac, as well as Windows

Better for me

  • No need to support legacy games in the app (the Quest 5 player/editor and the web player both have to support every version of Quest 5, and Quest 4 - and I think all the way back to Quest 1)

Alex had some experiments into this before he quit. QuestJS was hoped to convert a Quest .quest file to pure JavaScript. QuestKit was supposed to do pretty much the same as I am doing here. Arguably Squiffy is another attempt, being entirely JavaScript, though without a parser.

Is there an editor?

No, but it is under development. It is in another repository here, so go there to learn more on how that is going.

However, you do not need a dedicated editor to create games, and the Wiki includes a tutorial that will take you through how you can already create a game.

Will it be possible to convert existing Quest games?

Originally the answer was a definite no, however during developmenmt of the editor it became apparent that an XML file would be good to support blockly, so I have changed my position somewhat. The editor will now convert most things, but not ASL code currently.

What does QuestJS code look like?

This is what the code for QuestJS looks like. It creates a player, two rooms and a hat.

createItem("me", PLAYER(), { 
  loc:"lounge",
  regex:/^(me|myself|player)$/,
  examine:'Just a regular guy',
})


createRoom("lounge", {
  desc:'A small room with an old settee and a tv.',
  east:new Exit('kitchen'),
})


createRoom("kitchen", {
  desc:"The kitchen looks clean and well-equipped.",
  afterFirstEnter:function() {
    msg("You can smell freshly baked bread!")
  },
  west:new Exit("lounge"),
})


createItem("hat", WEARABLE(), {
  examine:"It is straw boater, somewhat the worse for wear.",
  loc:"lounge",
})

What do QuestJS games look like?

Here are some examples:

  • There is a tutorial on how to play parser games here.
  • There is a "Cloak of Darkness" sample game, more about that here.
  • There is an example game where I test most of the features here.

Where do I learn more?

Take a look at the Wiki to see the full documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].