Basic Concepts
This guide is mainly aimed at game designers and administrators and covers topics related to the entire workflow of creating, configuring, publishing, managing, and monitoring games. Before diving into these topics, it is important to explain some concepts (or terminology) that are fundamental in understanding how pervasive games are supported in rollick and what implications your design decisions will have.
Players
Players are driving the gameplay by moving in the physical world, and interacting with other game entities ( physical or fictional objects, messages, questions, conversations, etc.). Players are the main actors (i.e perform actions) and owners (own game assets) in a game.
Player State
Each player has their own (private) state (i.e. data) which is formed according to their activity in playing the game (gameplay). Player state at a given moment includes
- The journal of all the actions they did while playing the game (messages seen, questions asked and answered, missions assigned and completed, etc.).
- The game assets they own i.e objects, items, money, etc.
- The attributes that they have gained or lost.
Game Designer
The user who creates, authors (defines the involved game entities, the rules, the script, etc.), configures and publishes a game.
Game Master
The user who has access to manage and monitor a published game. That is, to see the game instances played, to inspect game and player progress, as well as to intervene in the game world (create/update/remove objects, send messages to players, etc.). Game Designers can by default act as Game masters for their own games.
Game Characters
Game Characters (also called Non-playing Characters -NPCs-, or just Characters) are non-self-acting actors who act according to the script defined by the game designer (you). Characters can show info messages to players, ask questions and quizzes, assign missions, attach and detach attributes to players, etc. only when the designer defines such behavior in the script.
Game World
The term game world refers to the entire context of a game experience. Each game, when started, creates a new game world that accommodates many things. Real (entities of the real world), virtual (entities created by the game designer or the players), or fictional (entities that are only conceived in the player’s imagination). That’s why rollick adopts for its players the verbs
- Enter instead of play (the player enters the game world)
- Exit instead of pause (the player exits the game world)
- Drop out instead of quit (the player drops out -permanently leaves- the game world) For the game designer, in particular, the game world is also a special workspace where shared game artifacts can exist. Thus, the gameworld can hold virtual objects, offers, quantities of available items, as well as available attributes. In multiplayer games, these artifacts are considered shared, meaning that when a player picks, drops, or modifies one of them, all the other players will notice the change.
Game Playground
Game Playground is the geographical area in which the game is spatially played. While players move in this playground, their position is tracked, and the game plot evolves. The game playground is fragmented into smaller “active areas” (called scenes) to better structure the game plot. The term playground refers also to the basic screen of the game in the player’s app which contains the map where the player can see virtual objects placed in the game world.
Game Market
Rollick allows games to establish a market environment in which players can buy, sell or redeem their assets, and organizations can give offers that players can pick and redeem in exchange for real-world discounts for goods or services. To establish a market in your game you have to define its virtual currency (e.g. points, coins, diamonds, etc.). This currency is the medium of exchange in all transactions taking place in the game. E.g. when a player sells or redeems an owned asset, it is paid in this currency. Accordingly, offers, if not given for free, are also paid in this currency.
Games and Game Instances
What a game is depends on who you are. If you are a game designer, a Game is a new project that you can create, author, configure and publish on the platform. In this game you define and structure the game playground (where the game will be played), you define the game elements and mechanics that are important to play the game (messages, questions, missions, characters, items, objects, etc.), as well as the script that defines how the game plot unfolds. If you are a user of the rollick player app, the term game refers to games that you find on the platform and those you are currently playing. However, there is a significant technical deviation between the two. The game you find on the platform is a game blueprint, while the game you play is a Game Instance created from and played according to a game blueprint.
Working and Published Game Versions
Each game in the rollick has two versions. The working version, and the published (or public) version. The working version of a game is a private game project the designer works on building the game plot step by step. While working, the designer can use the rollick player app to review how the game is played and to check if the game plot is unfolding as expected. When the game design process is completed, the designer can publish the game, creating the published game version which is visible to all users of the rollick player app. The game spec in this published version is immutable, i.e. no changes can be done. If an update is needed, the designer can do it in the working version, and when ready, they can publish it again. This will lead to an updated public game version. Existing game instances will adapt to the new game specification while maintaining their previous state (i.e. the state of the players and the game world will be maintained). Thus, such updates must be very rare, carefully designed, and not introduce significant changes to the spec of the game.
Game Spec
Game Spec (Specification) is the output of the game design process which serves as the blueprint for creating and playing new games (game instances). When a game is published, this spec is optimized and published on the platform so that platform users can find and play it with the player app. When first played (in general or by a specific user), a new game instance is created in the platform which incorporates this game spec.