User Tools

Site Tools


place_file_syntax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
place_file_syntax [2025/03/17 12:26] – [@ (EXITS)] jeffdplace_file_syntax [2025/03/18 00:47] (current) – [LOCATION DEFAULTS:] jeffd
Line 1: Line 1:
 ====== Place File Synax ====== ====== Place File Synax ======
 +
 +[[Place Files]]
 +
 +===== Overview =====
 +
 +Place files contain:
 +
 +  * A Header consisting of one or more Header Lines.
 +  * Areas (or Libraries) which serve as namespaces containing:
 +    * Locations (each has a mandatory prefix of either Int. or Ext.)
 +      * Some Locations may be logically treated as Main Locations comprised of Sub-Locations.
 +      * If a slash is present in a Location name, it separates the Main Location from the Sub-Location.
 +    * Camera Angles (Named with A-Z,0-9,_)
 +    * Package Definitions
  
 ==== Header Line ==== ==== Header Line ====
Line 11: Line 25:
  
 ==== Comments ==== ==== Comments ====
 +
 +Comments may be included anywhere in the .place file:
  
 <code> <code>
 ; Any line beginning with a semicolon is a comment. ; Any line beginning with a semicolon is a comment.
 </code> </code>
 +
 +-----
 +
 +===== Importing Content from Other Files =====
  
 ==== IMPORT FROM / IMPORT ALL ... FROM ==== ==== IMPORT FROM / IMPORT ALL ... FROM ====
Line 56: Line 76:
 <code> <code>
 INT. MY NEW LOCATION INT. MY NEW LOCATION
- 
 (BASED ON "INT. LOCATION NAME" [FROM ...] [ROTATE 0]) (BASED ON "INT. LOCATION NAME" [FROM ...] [ROTATE 0])
 +</code>
 +
 +When used for a Camera, it makes a copy of the named Camera and opens it for modification. This Camera may either be a Camera that already exists in your game, or a Camera defind in an imported Library:
 +
 +<code>
 +CAMERA: OFFICE
 +(BASED ON "OFFICE" [FROM ...])
 </code> </code>
  
Line 67: Line 93:
 REFER TO IMPORTED "POLICE STATION" AS "SHERIFF'S DEPARTMENT" REFER TO IMPORTED "POLICE STATION" AS "SHERIFF'S DEPARTMENT"
 </code> </code>
 +
 +-----
 +
 +===== Packaging Sets of Locations =====
  
 ==== PACKAGE ==== ==== PACKAGE ====
  
-Packaging locations together allows them to be imported or cloned as a related set of locations, maintaining any connections between their exits.+Packaging Locations together allows them to be imported or cloned as a related set, maintaining any connections between the exits of the various locations.  All Cameras associated with the Locations are also automatically included in the package.
  
 <code> <code>
Line 86: Line 116:
 UNPACK "TRAIL" [FROM ["filename.place"] [LIBRARY "OUTDOORS"]] UNPACK "TRAIL" [FROM ["filename.place"] [LIBRARY "OUTDOORS"]]
   AS "NATURE PATH" (START = "PARKING LOT")   AS "NATURE PATH" (START = "PARKING LOT")
 +</code>
 +
 +-----
 +
 +===== Location Definitions ======
 +==== LOCATION DEFAULTS: ====
 +
 +This opens up the template for locations defined within this Library or Area that aren't BASED ON any other location. Once this line is encountered, you are in "Location Definition Context" until switching to another context.
 +
 +<code>
 +LOCATION DEFAULTS:
 +
 +A-CAM:  $FILENAME($LOCATION), Default($FILENAME($LOCATION))
 </code> </code>
  
Line 112: Line 155:
 INT. OFFICE INT. OFFICE
  
-  You look around to gain your bearings.   $DESCRIPTION +  You look around to gain your bearings. $DESCRIPTION
- +
 </code> </code>
  
Line 125: Line 166:
 ==== MARK / DELETE MARK ==== ==== MARK / DELETE MARK ====
  
-To add or update a mark:+To add or update a mark in the current Location:
  
 <code> <code>
Line 137: Line 178:
 </code> </code>
  
-==== @ (EXITS) ====+==== x-CAM / DELETE x-CAM ====
  
-Exits can be any of the abbreviated compass directionsUPDOWNor ENTER [target] or EXIT [target] (both of which have an optional target), or GO <target>, with the target required in this case.  If a target is specified, a colon is used to separate it from the destination location.+This is how to assign cameras to a location.  You can use $A-CAM$B-CAMetc, to refer to the previously defined value of any CAM.
  
-Locations may be substantially abbreviated Int. or Extalone will flip to the corresponding exterior or interior matching with the current location (if any.)  If a location has a main area and sub-areas (separated by a slash), and it is within the same main area as the current location, only the sub-area needs to be given.+Note that the same Camera Angle can be assigned to multiple named CAMs, which may be useful (for example) if the coverage area is wider than what had originally been envisioned. 
 + 
 +If a camera includes visibility of other locations, pass those location names in parenthesis as named parameters to the Camera Angle. 
 + 
 +If the current Location is not the primary subject of the desired camera, you may use POV and the primary Location name to treat that Location as primary, and then list which of the Camera Angle's named parameters the current Location should be passed into (it will be automatically filled in with this current Location's name, which doesn't need to be written in.) 
 + 
 +Note also that each CAM designation may list more than one Camera Angle.  If the game is going to be rendered with more than one rendering engine (i.e., fully 3D vs. Visual Novel style), or if the designatd Camera Angle is disqualified for some other reason (i.e., not supporting a night-time view when the current time is night), then the first available/eligible camera in the list will be used when the given CAM is called for. 
 + 
 +When a location is shown in a scene, and no specific camera angle is specified, the lowest-lettered available camera will be used (usually A-CAM.)
  
 <code> <code>
-  @ENTER DOORInt.+A-CAMOFFICE 
 +B-CAM: OFFICE_REVERSE(HALL = "Ext. Office"), $A-CAM 
 +C-CAM: POV "ExtOffice" OUTSIDE_OFFICE(INTERIOR), OFFICE
 </code> </code>
  
-==== SCOPE LIMITERS ====+To delete an existing CAM definition from this location: 
 + 
 +<code> 
 +DELETE C-CAM 
 +DELETE OFFICE_REVERSE FROM B-CAM 
 +</code> 
 + 
 +==== @(EXIT) / DELETE @(EXIT) ==== 
 + 
 +Defines, edits, or deletes exits in the current location. 
 + 
 +Exits can be a simple direction or a named target: 
 + 
 +Simple directions include the abbreviated compass directions (N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW), UP, or DOWN. 
 + 
 +Target names may not include spaces. 
 + 
 +Locations may be substantially abbreviated.  Int. or Ext. alone will flip to the corresponding exterior or interior matching with the current location (if any.)  If a location has a main area and sub-areas (separated by a slash), and it is within the same main area as the current location, only the sub-area needs to be given. 
 + 
 +After a location, flags may be given in parenthesis.  These flags help the Ghostwood Engine to verify the integrity and sensibility of your location definitions.  If either end of a connected route contains the flag "WINDING", the game engine doesn't care if the return direction is at variance with the arrival direction.  And, if the origin route has the flag "ONE WAY", then no return route is expected. 
 + 
 +<code> 
 +  DELETE @N 
 +  @NW Ext. BACK ALLEY (WINDING) 
 +  @DOOR Int. (ONE WAY) 
 +</code>
  
-G$ = Ghostwood GL Engine \\ 
-U$ = Fully 3D Rendering Engine \\ 
-T$ = Text Adventure Engine \\ 
  
place_file_syntax.1742239611.txt.gz · Last modified: 2025/03/17 12:26 by jeffd

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki