Engine Specifications

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Submitted mechanic.png This article covers a submitted game mechanic.

Submitted game mechanics have been fleshed out in detail and are ready for review by the other developers. Once submitted mechanics have been reviewed and agreed upon, they become accepted game mechanics.

Here is just a list of specifics that need to be supported by the game engine. For description of relevent GUI see: Basic Game GUI


Global Time

The game has a time scale. Time passes as the character takes action, including but not limited to: Moving, Fighting, Talking, "Using" an item, "Using" an active skill, talent or perk, Eating, or Resting. In general, time is frozen while the game is awaiting player input. Mechanisms will exist in many modes where time is "run off the clock" in chunks. Example: "Rest for 8 hrs" button.

Named Locations

These are locations where the meat of the game occurs. They will typically be either indoor (including underground) or outdoor locations. Most of the scripted behavior of the game (see "ActionObjects") occurs here. The characters should be as deep and detailed as possible. Locations may be connected locally (some areas may need to be unlocked by interaction or skill use) or via the Worldmap. It should be obvious when you about to leaving a local map to another one or the world map (as long as there is a finite loading time associated with the transition). If the loading time can be done unnoticeably on "average" hardware (whatever that is), then it could be hidden from the player.

Generic Locations

These are locations "between" named locations on the world map. They might be generated randomly (from templates) if something 'happens' in them. This random generation should only occur once per tile. Unnamed tiles on the world map should be assigned "categories" (terrain types) representing algorithms to generate the details of the generic location. They could conceivably have connected "sub" locations. As an alternative to random generation from templates, real geological information could be used - possibly modified by designers (if the game is on earth, the data is available, the storage space doesn't overwhelm the game). Whatever the method - there should be little or no design/scripting effort spent on making these locations unique. If there was, they would become "Named" Locations. Random or semi-random generated encounters typically occur on generic locations. If so, tiles should be assigned an "encounter" class which determines type and frequency of encounters. They are otherwise just like Named locations


This is specifically stuff on a local map (either type) that the player cannot interact with. Example include but are not limited to scroll blockers, "cover" (i.e, stuff that can be hidden behind), trees and other flora, floors, ceilings, some walls, pits, or holes. Basically, everything that does not have a script attached to it, but can still be seen in a local map viewport is scenery. Scenery _can_ have descriptions attached to it, either terse or verbose. If a skill is required to get more than the "verbose" description, that "thing" is actually an ActionObject. Scenery is never grabable. Scenery can sometimes be destroyed by player actions or game events.

  • Local map exit grids might could be categorized as scenery as well? --MvBarracuda
    • Yes, although they are almost ActionObjects since they write to the game state --Zenbitz


These are active "things" in the game world, typically accessed via mouse from the Local map interface (some ActionObjects can be accessed via other interfaces, the obvious example being the inventory interface). All functions may not always be available from all interfaces. ActionObjects may be Grabable (placed into a critters inventory, or another container ActionObject). All ActionObjects may some "game modifying actions" and characteristics of scenery (i.e, they can be scroll blockers, provide cover, etc. as well). Grabable ActionObjects can have a non-zero weight and/or bulk (i.e, they effect encumbrance of critters, containers, or vehicles). A simple mouseover action by the player will USUALLY distinguish scenery from ActionObjects. Hidden ActionObjects may require an player action (i.e, search/examine) and/or skill role to become accessible. ActionObjects can often be destroyed or modified by player actions or game events. The game modifying activities may be coded at various levels. Core types of ActionObjects like weapons, ammunition will have their set of properties. Other items might have special "scripts" attach to them to allow them to get/set game properties depending on game state.


These are intermediate between scenery and ActionObjects. They can be searched and may "produce" grabable or usable ActionObjects in a scripted or random fashion. A searchable is very similar to a container, but represents a large generic area, like a ruin, or a forest. Searching them might be accessible from the worldmap interface.

Player Character

AKA PC or "Avatar". This is the center of the universe. Generally, the viewport(s) will be drawn with respect to the PCs locations. Distinct from the player, who the the one pulling the strings. Player characters are critters, but they have many other special functions and menus that are not shown/available for other critters. The PC has the full range of possible metrics (stats, skills, attributes, talents, perks, goals, motivations, reputations, etc., etc.)


These are animals or other entities that "appear" living. They typically have movement capabilities. Many of them can be talked to. Many of them can be bartered with. All of them can be attacked, and (in principle) destroyed. "Killing" a critter transforms it into a Dead Critter - which may be either another ActionObject (like a container) or simply scenery. They will typically have a subset of the PC metrics - although they may have special powers and/or items that a PC cannot obtain. They can have complicated behavior scripts - including combat AI, programmed response to stimulus, random response, friends, enemies, etc. They act as containers (although they may be empty - and may not be freely accessible). They may resist action taken upon them (or other ActionObjects they are scripted to "watch"). They may have schedules based on the game clock. They may be in a quiescent state (sleeping, unconscious, crippled) and have limited or no actions available to them (or upon them). Skills and ActionObjects can be used on them, but they may not (in fact probably will not) have scripting support for all possible player actions involving them.

Non Player Characters

AKA NPCs. These are heavily scripted characters, with special features to distinguish them from critters. In some cases, they may join forces with the PC (permanently or temporarily). They are usually the granters of quests or missions. They almost always can be talked to with dialog trees (Dialog specs). They are otherwise a sub-class of critters.


These are ActionObjects that contain other ActionObjects. Some of them may be grabbable (i.e., a small box, bag, or back pack). Some of them may move (Vehicles) with a critter (including, obviously) the PC. The have a capacity in terms of weight and/or bulk of contained items. They posses an "empty" and a "full" encumbrance (weight/bulk) and may be contained in/contain other containers. They can be searched, opened, locked, unlocked and destroyed - but not all containers have these states.

Personal tools