GameSystems
Real-Time Turn-Based Speed System
Entity Queue:
At the core of this system is an Entity Queue. This is a data structure that holds all the entities in the game world that are capable of performing actions. The entities are sorted in this queue based on their 'speed' attribute.
Tick System:
The Tick System is the engine that drives the game's internal timing mechanism. A "tick" is triggered whenever a player provides certain inputs. During each tick, the speed attribute of all entities in the Entity Queue is decremented by one.
Speed Attribute:
Each entity possesses a 'speed' attribute. This attribute is crucial in determining the rate at which an entity will take its actions. A lower value signifies a higher speed, and vice versa. The game is balanced around a base speed for the player of 11. The slowest enemy has a speed of 22. This gives the player an initial ratio of 2:1 movement when fighting the first enemy. Things quickly become more complex as the player unlocks speed boosts and permanent speed upgrades. This also creates a large space to balance enemies. For example, higher level enemies and some bosses will have movement patterns that put their speed closer to 1. Unless the player is very strong, with multiple health buffs, strong thorn effects, high damage mitigation, or dramatically improved speed, they will not be able to beat these enemies. This will demand that the player meet at least some progression requirements.
Action Triggers:
When an entity's speed attribute reaches zero, it is that entity's turn to perform an action. After completing its action, the entity's speed is recalibrated according to its initial value with any modifiers, and it is reinserted into the Entity Queue. If two entities can act in the same tick there are additional sorting fallbacks that can be used (level, health, size, initiative, etc)
Order of Actions:
Entities with a lower 'speed' value will naturally reach a speed attribute of zero faster than those with higher values. Therefore, entities with lower speed values will take actions more frequently, giving the impression of moving quickly within the game world.
Player Input as a Catalyst:
The real-time aspect of the system is introduced through player input. Player(s) can provide inputs at any time. This will have the effect of continually refilling the queue system and continually triggering ticks. This means that the player’s interactions act as the catalyst for all subsequent entity actions, blending the boundary between real-time and turn-based elements. There is an input buffer, but it can be altered in the game settings to near 0, resulting in a no delay between inputs. Some game elements will be tied to real time animations (such as a weapon pattern) and therefore it is possible to have both predictable outcomes if the player carefully plans turns, vs more chaotic outcomes of the player just holds down an input key.
TLDR:
- All entities have a speed attribute.
- Lower speed is faster.
- Game is balanced around 11 base speed. Highest speed is 22.
- The Player will be able to unlock 10 persistent speed upgrades over the entire course of the game.
- Therefore, the game starts with a 2:1 movement ratio but quickly becomes more complex from there.
- The player feels powerful when at the end of the game they revisit level 1 with a speed value of 1 and can move 22 times as fast as the enemy.
Player loop and off-ramps
Player Loop:
The player will try to explore as far as possible and collect as many cogs as possible. The player should be able to reach a point of interest (boss, location transition, secret, etc) within 5 minutes. The player should be able to explore any locations that are unlocked at their leisure. Players who are focused on game progression should be able to spend their cogs and get into another gameplay session in <=10 seconds.
Off-ramps:
Everytime a gameplay session ends the player should have no doubt that their progress has been saved and that they can immediately quit with no negative consequences. This opportunity to quit should come up every <= 5 minutes. Middle progression <= 10 minutes. Endgame <= 15 minutes. The players will be expected to put a little more time into a run as they near the conclusion of the story. Additionally, there is a slider that allows players to adjust the input buffer so that the game plays in real time. For players who want an even faster experience they can set this slider to its minimum value and finish the entire progression loop of a gameplay session in a small fraction of the expected time.
TLDR:
- Player Loop:
- Goal is to explore and collect cogs.
- Reach a POI within 5 minutes.
- Explore unlocked locations at leisure.
- Quick transition to spending all cogs and starting a new game session in <=10 seconds.
- Off-ramps:
- Clear indication of progress saved after each session.
- Opportunity to quit without negative consequences on frequent intervals:
- Early game <= 5 minutes
- Middle progression <= 10 minutes
- Endgame <= 15 minutes
- Time commitment increases towards endgame.
- Slider to adjust input buffer for a faster real-time experience.
Amps
Amps are powerful items that amplify a player's abilities or weapons in a game-breaking way for a short period.
- Limited Duration: Amps should be powerful and game-breaking but time-limited.
- Trade-Offs: Using an Amp should have some form of cost, such as consuming resources.
- Specialization: Amps should focus on enhancing specific attributes or abilities of the player or a players weapons, not all aspects of gameplay.
- Strategic Deployment: Their availability should be rare enough to enforce strategic use but frequent enough to be a regular part of gameplay.
- Visual & Audio Cues: Clear indicators should signal when an Amp is activated or is about to expire, for both the player and opponents.