-
Notifications
You must be signed in to change notification settings - Fork 18
List of Settings
ThePix edited this page Jul 12, 2022
·
13 revisions
There are a lot of settings for Quest 6. This page collects most of them together. Note that you can add you own attributes too, just bear in mind that they will not get saved when the user saves her game.
There is an explanation of many of these here, but it is not as comprehensive.
Name | Type | Default | Description |
---|---|---|---|
Set in game/settings.js | |||
title | string | 'Your new game' | The title |
author | string | 'Your name here' | The author |
version | string | 0.1 | The version |
thanks | array of strings | [] | Credits |
warnings | string | "No warnings have been set for this game." | Any applicable warnings |
playMode | string | 'play' | Set to 'play', 'dev' or 'beta' |
Other meta-data | |||
subtitle | string | - | The sub-title - not used if absent |
questVersion | string | Current version | The version of Quest |
additionalAbout | dictionary | - | Further paragraphs for ABOUT; the key is used as a sub-title and will appear in italics |
additionalHelp | array of strings | - | Further paragraphs for HELP |
saveLoadExcludedAtts | array of strings | * | These attributes will not get saved. By default it already includes several important values, so only modify this list using "push". |
Files | |||
lang | string | lang-en | Set to the language file of your choice |
customExits | Boolean or string | false | Set to the filename to use otherwise false |
files | array of strings | ["code", "data"] | Game files to load |
libraries | array of strings | ["_saveload", "_text", "_io", "_command", "_defaults", "_templates", "_world", "_npc", "_parser", "_commands"] | Use push to include extra library files in case this list is out-of-date |
customLibraries | array of strings | - | Custom libraries |
imagesFolder | string | 'assets/images/' | Folder for images |
iconsFolder | string | 'assets/icons/' | Folder for icons, set to false to turn icons off |
soundsFolder | string | 'assets/audio/' | Folder for sounds |
videosFolder | string | 'assets/video/' | Folder for videos |
styleFile | string | - | CSS file to include from game folder |
themes | array of strings | ['sans-serif'] | CSS files to include from assets/css (default set in gamesettings) |
favicon | string | settings.iconsFolder + 'favicon.png' | Favicon path, filename and extension |
test | Boolean | false | If true, the unit testing library will be added |
soundsFileExt | string | '.mp3' | The filename extension (and hence type) for sound files |
Game play | |||
failCountsAsTurn | Boolean | false | If true, a turn passes even if the player types nonsense |
lookCountsAsTurn | Boolean | false | If true, a turn passes even if the player does LOOK |
beforeEnter | function | {} | Run before player enters a location, after the location's beforeEnter has run. |
afterEnter | function | {} | Run after player enters a location, after the location's afterEnter has run. |
saveDisabled | Boolean | false | If true, player cannot save |
convertNumbersInParser | Boolean | true | If true, the player can type "two" and the parser will understand it as 2 |
maxUndo | number | 10 | Maximum number of times play can do consecutive undo |
moneyFormat | string | '$!' | Determines how money is displayed |
dateTime | dictionary | * | See [here](https://github.com/ThePix/QuestJS/wiki/Date-and-Time) |
setup | function | - | Run just before the game starts |
intro | string | - | Printed just before the game starts |
afterLoad | function | - | Run after a saved game is loaded |
oxfordComma | Boolean | false | Include an extra comma in list |
fluids | arrays of strings | [] | A list of the liquids and other fluids in the game. |
openQuotation | string | "'" | Used by "dialogue" text processor |
closeQuotation | string | "'" | Used by "dialogue" text processor |
NPC related | |||
noAskTell | Boolean or string | "TALK TO is not a feature in this game." | String saying ASK/TELL is disabled, or false otherwise |
noTalkTo | Boolean or string | "ASK/TELL ABOUT is not a feature in this game." | String saying TALK TO is disabled, or false otherwise |
givePlayerSayMsg | Boolean | true | If true, a standard message is provided with SAY. |
givePlayerAskTellMsg | Boolean | true | If true, a standard message is provided before the response for ASK/TELL ABOUT. |
npcReactionsAlways | Boolean | false | If true, NPC reactions are checked even when the NPC is not present |
dropdownForConv | Boolean | true | If true, dynamic conversations use a dropdown rather than links |
turnsQuestionsLast | number | 5 | If an NPC asks a question, the player has this many turns to SAY an answer |
roomCreateFunc | function | - | The is run after each room is created |
itemCreateFunc | function | - | The is run after each item is created |
I/O main pane | |||
textInput | Boolean | true | If true, player can type in commands |
cursor | string | '>' | Prompt for the commands |
cmdEcho | Boolean | true | Input commands are repeated on screen |
textEffectDelay | number | 25 | Delay in milliseconds between each character |
roomTemplate | * | * | See [here](https://github.com/ThePix/QuestJS/wiki/The-UI) |
toolbar | * | * | See [here](https://github.com/ThePix/QuestJS/wiki/Adding-a-toolbar) |
I/O Side panes | |||
panes | string | 'left' | Set to 'left', 'right' or 'none' to control placement of the side panes |
compassPane | Boolean | true | If true, show the compass rose |
symbolsForCompass | Boolean | true | If true, use symbols rather than letters in the compass rose |
inventories | * | * | See [here](https://github.com/ThePix/QuestJS/wiki/The-UI) |
panesCollapseAt | number | 700 | When screen width is less than this the side panes are not shown |
mapAndImageCollapseAt | number | 1200 | When screen width is less than this the map or image window is not shown |
statusPane | Boolean or string | 'Status' | Title for the status pane, or false to disable |
statusWidthLeft | number | 120 | Width of the left column for the status table |
statusWidthRight | number | 40 | Width of the right column for the status table |
status | complicated | * | See [here](https://github.com/ThePix/QuestJS/wiki/The-UI) |
I/O other | |||
customUI | * | * | See [here](https://github.com/ThePix/QuestJS/wiki/The-UI) |
updateCustomUI | * | * | See [here](https://github.com/ThePix/QuestJS/wiki/The-UI) |
darkModeActive | Boolean | false | If true, this is dark mode (unlike most settings this can change during play) |
onDarkToggle | function | - | Runs were dark mode is toggled |
startingDialogXXX | various | * | See [here](https://github.com/ThePix/QuestJS/wiki/Character-Creation) |
mapXXX | various | * | See [here](https://github.com/ThePix/QuestJS/wiki/Adding-A-Map) |
silent | Boolean | false | If true, sounds are disabled |
convertDoubleDash | Boolean | false | If true, a -- in the outut text will get converted to a single long dash |
getDefaultRoomHeading | function | - | Function should return a string to use for the room heading; generally based on the alias with the desired capitalisation |
Development | |||
reportAllSvg | Boolean | false | If true, when an SVG image is displayed, the raw text will go to the console |
statsData | array of dictionaries | * | Used by the STATS command, see [here](https://github.com/ThePix/QuestJS/wiki/Debugging#statistics) |
disableWaitInDevMode | Boolean | false | If true the game will ignore `wait` and `pause` when in development mode |
- Indicates the value is too complicated to fit in the table, go see the linked page
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