-
Notifications
You must be signed in to change notification settings - Fork 17
Versions
Github tracks changes, and sometimes these are made more than once a day. For the most up-to-date version, your best bet is to clone the repository, and delete all the extraneous files. Usually - but not always - changes are uploaded only once the unit tests all pass.
This version history logs the version of the zipped file, which is updated rather less regularly, and only when I am reasonably confident that it works.
QuestJS is also version 6 of Quest, however it is also vital that the version is tracked within that. I have taken the decision to track versions from 0.1, as this better reflects the pre-release state than version 6.0. The first release is therefore Quest 6 version 0.1.
Version | Date | Comments |
---|---|---|
0.1 | 09/Oct/20 | First version of the .zip file |
0.2 | 09/Nov/20 | Second version, prompted by Windows corrupting the 0.1, and Github uploading that. Added support for both node maps and image maps, changing the POV, sounds. |
0.3 | 29/Nov/20 | Date and time improved. Icons improved. READABLE added. |
0.4 | 12/Dec/20 | The big changes in 0.4 were done by other people. KV added support for object links, and DakinQuelia very much improved the look-and-feel. In addition: All assets are now in an assets folder. Several bugs, mostly involving lang sorted. AGAIN and OOPS added. |
0.5 | 01/Jan/21 | Mostly bugs fixes and some re-organising files; the main file is now index.html. At this point I consider QuestJS to have all the major features. |
0.6 | 04/Mar/21 | More bug fixes, especially relating to save/load |
0.7 | 14/Apr/21 | Now includes index.html (forgotten in 0.6!) |
0.8 | 07/Jul/21 | This turned out to be a pretty big update. Besides more bug fixes numerous functions have been renamed and/or had parameters rearranged, towards a more consistent API - see here. |
0.9 | 26/Sep/21 | Transcripts redone; a lot of stuff for RPG done; createPaneBox replaced by createAdditionalPane ; CONSTRUCTION and ROOM_SET templates added; jQuery removed; parser refactored to allow better GIVE command |
1.0 | 05/Apr/22 | Full release! Motivated by a lack of changes, so no big changes |
1.1 | 01/May/22 | Changes to "respond" (and under the hood NPC reactions now uses it); also improvements to RPG |
1.2 | 01/Sep/22 | The "respond" function also used for SAY and item giving, plus you can have two-ways exits with Link |
1.3 | 08/Nov/22 | Big update to RPG library, quests sorted out; the Command class code done as a proper class that automatically adds it to the list |
As of 0.2, settings.questVersion
records the version and the ABOUT command reports it.
It is possible the editor will have its own version scheme.
Tutorial
- First steps
- Rooms and Exits
- Items
- Templates
- Items and rooms again
- More items
- Locks
- Commands
- Complex mechanisms
- Uploading
QuestJS Basics
- General
- Settings
- Attributes for items
- Attributes for rooms
- Attributes for exits
- Naming Items and Rooms
- Restrictions, Messages and Reactions
- Creating objects on the fly
- String Functions
- Random Functions
- Array/List Functions
- The
respond
function - Other Functions
The Text Processor
Commands
- Introduction
- Basic commands (from the tutorial)
- Complex commands
- Example of creating a command (implementing SHOOT GUN AT HENRY)
- More on commands
- Shortcut for commands
- Modifying existing commands
- Custom parser types
- Note on command results
- Meta-Commands
- Neutral language (including alternatives to "you")
- The parser
- Command matching
- Vari-verbs (for verbs that are almost synonyms)
Templates for Items
- Introduction
- Takeable
- Openable
- Container and surface
- Locks and keys
- Wearable
- Furniture
- Button and Switch
- Readable
- Edible
- Vessel (handling liquids)
- Components
- Countable
- Consultable
- Rope
- Construction
- Backscene (walls, etc.)
- Merchandise (including how to create a shop)
- Shiftable (can be pushed from one room to another)
See also:
- Custom templates (and alternatives)
Handing NPCs
- Introduction
- Attributes
- Allowing the player to give commands
- Conversations
- Simple TALK TO
- SAY
- ASK and TELL
- Dynamic conversations with TALK TO
- TALK and DISCUSS
- Following an agenda
- Reactions
- Giving
- Followers
- Visibility
- Changing the player point-of-view
The User Experience (UI)
The main screen
- Basics
- Printing Text Functions
- Special Text Effects
- Output effects (including pausing)
- Hyperlinks
- User Input
The Side Panes
Multi-media (sounds, images, maps, etc.)
- Images
- Sounds
- Youtube Video (Contribution by KV)
- Adding a map
- Node-based maps
- Image-based maps
- Hex maps
- Adding a playing board
- Roulette!... in a grid
Dialogue boxes
- Character Creation
- Other example dialogs [See also "User Input"]
Other Elements
- Toolbar (status bar across the top)
- Custom UI Elements
Role-playing Games
- Introduction
- Getting started
- Items
- Characters (and Monsters!)
- Spawning Monsters and Items)
- Systema Naturae
- Who, When and How NPCs Attack
- Attributes for characters
- Attacking and guarding
- Communicating monsters
- Skills and Spells
- Limiting Magic
- Effects
- The Attack Object
- [Extra utility functions](https://github.com/ThePix/QuestJS/wiki/RPG-Library-%E2%80%90-Extra Functions)
- Randomly Generated Dungeon
- Quests for Quest
- User Interface
Web Basics
- HTML (the basic elements of a web page)
- CSS (how to style web pages)
- SVG (scalable vector graphics)
- Colours
- JavaScript
- Regular Expressions
How-to
Time
- Events (and Turnscripts)
- Date and Time (including custom calendars)
- Timed Events (i.e., real time, not game time)
Items
- Phone a Friend
- Using the USE verb
- Display Verbs
- Change Listeners
- Ensembles (grouping items)
- How to spit
Locations
- Large, open areas
- Region,s with sky, walls, etc.
- Dynamic Room Descriptions
- Transit system (lifts/elevators, buses, trains, simple vehicles)
- Rooms split into multiple locations
- Create rooms on the fly
- Handling weather
Exits
- Alternative Directions (eg, port and starboard)
- Destinations, Not Directions
Meta
- Customise Help
- Provide hints
- Include Achievements
- Add comments to your code
-
End The Game (
io.finish
)
Meta: About The Whole Game
- Translate from Quest 5
- Authoring Several Games at Once
- Chaining Several Games Together
- Competition Entry
- Walk-throughs
- Unit testing
- Debugging (trouble-shooting)
Releasing Your Game
Reference
- The Language File
- List of settings
- Scope
- The Output Queue
- Security
- Implementation notes (initialisation order, data structures)
- Files
- Code guidelines
- Save/load
- UNDO
- The editor
- The Cloak of Darkness
- Versions
- Quest 6 or QuestJS
- The other Folders
- Choose your own adventure