Difference between revisions of "User:51mplex/drydock"

From RogueBasin
Jump to navigation Jump to search
(Created page with "'''BASIC''' ''(Beginner's All-purpose Symbolic Instruction Code)'' is a family of general-purpose high-level programming languages, first introduced in 1964. As the name sugge...")
 
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''BASIC''' ''(Beginner's All-purpose Symbolic Instruction Code)'' is a family of general-purpose high-level programming languages, first introduced in 1964. As the name suggests, it was created with ease of use in mind.
'''Quests''' are one of the characteristic features of computer role-playing games (further simply RPGs in this article, as the nature of tabletop RPGs is very different). By definition, an RPG relies on them to develop the plot and keep the player entertained.


==Origins and historical use==
A distinction is usually made between ''the'' main quest, whose completion traditionally marks the end of the game, and side quests, which are generally optional and are done for rewards.
Relatively few high-level languages existed in the 1960s, and all major ones (COBOL, FORTRAN, Lisp, ALGOL) were intended for business or scientific use. Their requirements were large, and they were too difficult to learn for a typical computer user. The original BASIC was created at Dartmouth College, by John George Kemeny and Thomas Eugene Kurtz, for use by non-science students. They released the original  compiler free of charge.


In the early microcomputer era (late 1970s and 1980s), BASIC rapidly spread to many microcomputing platforms, including Apple, Atari and the IBM PC. They often contained a firmware implementation, which lead to many forks of the original language.
==The structure of a quest==
A quest can be defined as a ''series of actions that have to be taken to reach an ultimate goal''. To be complete and to have sense, a quest must have several basic elements:
; Target: What your character is supposed to change in the game world. The most typical example is a fetch quest, in which the player must acquire some item and bring it back.
; Chain of prerequisites: What must be done to achieve the quest target. A simple beginners' quest might have no such chain of prerequisites, but to complicate things for the player, most quests have some chain of requirements. For example, on a quest to retrieve a dragon tooth (the target), the player must first level up to some point, accumulate good equipment, find the golden key (a quest item) to get the whistle of sound sleep (another quest item), ask a hermit for directions and only then actually fight the dragon.
; Reward: Players won't do quests for nothing, but expect to get some benefits in return, for example an artefact item with special properties or some perk unattainable by conventional means. An exception may be the main quest, which simply ends the game and as such can't supply any other reward than a credits screen.
; Decorum: Everything else that exists only to create the atmosphere – why the quest giver wants you to do the job for them, the way they speak, the style of the quest items, and so on.


BASIC was important to Microsoft in its early days, and its influence survives in the form of [[Visual Basic]] and Visual Basic .NET.
The terms used above are in no way standardised or universal, but were defined for the needs of this article.


==Characteristics==
==Quests in roguelikes==
BASIC is an imperative, traditionally unstructured language, which
Due to the complexity of interesting and involving quests, the main quest is almost always static. However, lesser side quests which aren't so developed are more feasibly generated by an algorithm.
 
==Creating dynamic quests algorithmically==
 
 
==HTML and CSS==
The standard method for user interaction is via HTML, CSS and its Document Object Model (DOM). Thanks to this, JavaScript supplies perhaps one of the most portable APIs for development. In the current state of things, there are actually several environments for visual presentation and interaction within a modern web browser:
 
; HTML, CSS and the DOM (Document Object Model)
: The oldest presentational API, which is also known collectively with JavaScript as DHTML, for Dynamic HTML. It involves using pre-defined HTML elements and changing their style to create a dynamically-changing web page. Traditional DHTML is only of utility to very simple games, since it is not possible to escape the limits of presentational HTML markup – it is not possible to draw free shapes without going to extreme lengths to do so.
 
; Canvas 2D context
: A standard that first appeared in 2004, and is currently supported by all popular modern web browsers (with Internet Explorer being an exception up to version 9). Canvas 2D in itself is a rather simple 2D API with a set of basic functions for drawing lines, arcs, curves and polygons. It also has the useful ability of
 
{{stub}}

Latest revision as of 20:07, 20 March 2014

Quests are one of the characteristic features of computer role-playing games (further simply RPGs in this article, as the nature of tabletop RPGs is very different). By definition, an RPG relies on them to develop the plot and keep the player entertained.

A distinction is usually made between the main quest, whose completion traditionally marks the end of the game, and side quests, which are generally optional and are done for rewards.

The structure of a quest

A quest can be defined as a series of actions that have to be taken to reach an ultimate goal. To be complete and to have sense, a quest must have several basic elements:

Target
What your character is supposed to change in the game world. The most typical example is a fetch quest, in which the player must acquire some item and bring it back.
Chain of prerequisites
What must be done to achieve the quest target. A simple beginners' quest might have no such chain of prerequisites, but to complicate things for the player, most quests have some chain of requirements. For example, on a quest to retrieve a dragon tooth (the target), the player must first level up to some point, accumulate good equipment, find the golden key (a quest item) to get the whistle of sound sleep (another quest item), ask a hermit for directions and only then actually fight the dragon.
Reward
Players won't do quests for nothing, but expect to get some benefits in return, for example an artefact item with special properties or some perk unattainable by conventional means. An exception may be the main quest, which simply ends the game and as such can't supply any other reward than a credits screen.
Decorum
Everything else that exists only to create the atmosphere – why the quest giver wants you to do the job for them, the way they speak, the style of the quest items, and so on.

The terms used above are in no way standardised or universal, but were defined for the needs of this article.

Quests in roguelikes

Due to the complexity of interesting and involving quests, the main quest is almost always static. However, lesser side quests which aren't so developed are more feasibly generated by an algorithm.

Creating dynamic quests algorithmically

HTML and CSS

The standard method for user interaction is via HTML, CSS and its Document Object Model (DOM). Thanks to this, JavaScript supplies perhaps one of the most portable APIs for development. In the current state of things, there are actually several environments for visual presentation and interaction within a modern web browser:

HTML, CSS and the DOM (Document Object Model)
The oldest presentational API, which is also known collectively with JavaScript as DHTML, for Dynamic HTML. It involves using pre-defined HTML elements and changing their style to create a dynamically-changing web page. Traditional DHTML is only of utility to very simple games, since it is not possible to escape the limits of presentational HTML markup – it is not possible to draw free shapes without going to extreme lengths to do so.
Canvas 2D context
A standard that first appeared in 2004, and is currently supported by all popular modern web browsers (with Internet Explorer being an exception up to version 9). Canvas 2D in itself is a rather simple 2D API with a set of basic functions for drawing lines, arcs, curves and polygons. It also has the useful ability of