Shadowrun: Awakened Forums Welcome, Guest. Please login or register.
Did you miss your activation email?
  Site Forums   Wiki   Bugs Code Docs Help Register  
    Page   Discussion         View source History  


From Shadowrun: Awakened

Jump to: navigation, search

A 'Zone' in Shadowrun Awakened is a self-contained area in the World. This can be an outside area that connects to other outside areas, or perhaps the interior of a large building.

Game Rules Description

A city can often be reduced to a set of districts, a group of neighborhoods, and further into buildings and such. These individual areas are usually places specified in campaigns as particular settings for scenes. They represent different parts of the game world that can be explored. They are also modular units of environment that can either be long-term public areas or be created separately, dynamically added to the world for a unique mission experience, then removed. They are most simply thought of as classic game 'levels'.

The majority of zones in the world of SRA are intended to be public areas. Players may come and go, congregate or combat each other. They will contain shops, bars, clubs, restaurants, etc. Other places may lead to more personal areas, such as individual apartments and homes. Yet more will be used for specific missions. When building a mission, content creators will be encouraged to use public zones for peaceful assembly, chase scenes, conversations and socialing, transporting and traveling between locations, and light to moderate combat situations. This will help the players participate on a grand stage and share the world. Also, the content creator will be able to build custom buildings and areas that allow for complex scenes with scripted story elements, custom characters, and dramatic storytelling at a pace not dictated by outsiders. These are good for heavy combat, sneaking, and hacking. Perhaps the greatest example of such a zone might be the matrix incarnation of a corporate server.

Fully private areas that can only be accessed by certain people will most often be entered by teams attempting to accomplish a particular mission. This technique is more generally known as 'instancing' in MMOGs. While counter to the open world plans desired by many, this is an important and necessary tool in the arsenal of a content creator. SRA is not just about the dynamics of runners and Johnsons, it's about people interacting with people. Bystanders will not always lend themselves to drama and griefing has a lot of potential to ruin storytelling. Also, most any sneaking-centric scenario is unrealistic while there are human onlookers. That said, it is out intention to also utilize instancing to allow for teams to compete and conflict with each other. The most basic example might be two teams with two missions and one location: one side protects while one side attempts to execute their mission objectives. This is the most basic approach we've outlined in the prototyping phases and it's likely it will continue to be applied elsewhere in the main game.

Technical Implementation

A 'Zone' is represented by a single physical simulation. A player joins this simulation when entering the zone, allowing them to interact with the environment. In early version, this process will likely involve a load screen while the simulation is joined and appropriate assets loaded on the client, but in the future, the system will likely allow for more seamless transitions.

Zones imply their own ability to manage resources. For instance, a zone may be able to spawn and manage minor NPCs automatically, for instance, in a corporate building defined as always being guarded, regardless of the mission. Or shopkeepers who always stay in a particular public area. These resources will be tied to the zone and will either be reclaimed by subsequent scripting, also performed directly on the behalf of the zone, or by a final cleanup step executed when the zone is unloaded. Ability for the final cleanup step to reclaim all resources for a zone, even those potentially forgotten by scripting, is vital to reliability and reducing the possibility of resource leaking or mismanagement.

In addition to being added to the world and removed, as a unique area for a mission may do, it is likely that zones will also exist long-term in the world. They may not be occupied at all times while in the world and we do not wish for them to waste system resources. It will be necessary for zones to support recognition of when they go dormant and allow for them to go into a sleep move where they are persisted to long-term storage (IE database) and their active simulation is removed from the world. When a player character attempts to gain entrance during this dormant state, the zone should load on-demand, potentially execute custom actions for recovering from sleep mode, and resume normal function. This ability to persist any active zone to memory and restore will also allow for zones to potentially load balance amongst many servers in the future (allowing for a zone to persist into a central database from one server, then be restored on another server). This is a circumstance to deeply consider during design and development of this feature.