---
description: gather Resources
---

# Pools

**Pools store Resources, and are the building blocks of Machinations.**

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-M5flyMam4-tzlwf4GIX%2F-M5gIEBJrqdWk6cvR1Z_%2Fimage.png?alt=media&#x26;token=5ac82cdd-0f5b-4e6c-a9c0-030a1cda734e" alt=""></div>

{% hint style="success" %}
Use Pools to model entities.
{% endhint %}

For example, if you have a Resource called Money and an entity called Player’s Bank Account, you would use a Pool to model that bank account.

## Properties

Selecting a Pool on your canvas will make its properties available in the right panel.

<div align="center"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqRcQIJZsMwa8FWkvc%2Fimage.png?alt=media&#x26;token=11464055-ad40-40f4-857c-0faf1a296784" alt=""></div>

### Label

Use the Label field in the Functional menu to name your Pool.

![](https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqQth85WEd6FSHTlDs%2Fimage.png?alt=media\&token=e79b1c1c-bc7d-4ba6-b1d8-ce97fe193b93)

### Activation

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqRBI-QKw76sFAdaEa%2Fimage.png?alt=media&#x26;token=37e120d6-6d66-4708-938d-349e9924c8a6" alt=""></div>

There are 4 ways in which Pools can be activated. \
&#x20;:book: Learn how to use [Activation Modes](../nodes-properties/activation-modes).

### Action

Pools can be set to either Push or Pull Resources, function to what action it needs to take once activated.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqRnFSx1G9Xbb6gujD%2Fimage.png?alt=media&#x26;token=fef0c04a-3a82-4128-b78a-78c22c1c0cb3" alt=""></div>

:man\_mage: Read more about [Pushing and Pulling Resources](../nodes-properties/pulling-and-pushing-resources).

### Resources

#### Number

In the Resources field, you can set the number of Resources with which a Pool starts. The default is 0.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqS4-WqYN7MF9L_psl%2Fimage.png?alt=media&#x26;token=50d9916b-4101-4962-a314-248ae1356daa" alt=""></div>

#### Colour

Machinations uses colour to distinguish between different types of Resources. At the moment you may have 5 types of Resources on a diagram.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqRz3UQ-2dSvLbsizd%2Fimage.png?alt=media&#x26;token=0e47eeb2-153c-4c5a-a0ee-7d6d8f4478db" alt=""></div>

{% hint style="info" %}
A Pool can store Resources of more than one type, meaning that it can be used to model compound entities.&#x20;
{% endhint %}

:wrench: Watch this example of how you can use a Pool to model a compound entity.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-M5gYCl_2H3ltwVriFJH%2F-M5gY_lbaDUt8MqhzBMJ%2FScreen%20Recording%202020-04-24%20at%2005.16%20PM.gif?alt=media&#x26;token=a302deb5-aa4b-4323-9ab6-04ae0c13080a" alt=""></div>

### Overflow

In the Overflow drop down, you can set what happens to the Resources that are produced and sent towards the Pool after its limit has been reached. The receiving Pool can either block the incoming, overflowing Resource, or it can drain it - as in consume it.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqSKV2zVbpmVVoWBm8%2Fimage.png?alt=media&#x26;token=c5170e18-da0b-4033-b0a7-12fffc7b4f22" alt=""></div>

### Capacity

#### Limit

Use Capacity limit to set how many Resources the Pool can store.&#x20;

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqSCnfXhm9nNsar9_5%2Fimage.png?alt=media&#x26;token=035c7360-1969-48fa-83c2-6a1e51522d77" alt=""></div>

#### Display

Resources stacked in a Pool are by default displayed as small black tokens <img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-M5gNl45pPsJR6I1V9mt%2F-M5gRAwmIRnzZgpbCgsc%2Fimage.png?alt=media&#x26;token=9e346caf-2a04-47a8-af04-f18c5989f73b" alt="" data-size="original"> If there are too many Resources in a Pool to show them as stacks, the tool starts displaying them as a number instead&#x20;

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqSkBTKxrtIUhAucoK%2Fimage.png?alt=media&#x26;token=0f2d9dd5-6807-4562-a84c-9f867835076e" alt=""></div>

You can also manually set the limit from which onward Resources are shown as numbers. The default value for this limit is 25.

### Show in Chart

Tick "Show in Chart" (option also available in the contextual menu at right click) to plot the amount of Resources the Pool stores at each Time Step when running a diagram.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-MLqQYoX8e3G5EuWkn3P%2F-MLqTYIFXRVi29HaeHKJ%2Fimage.png?alt=media&#x26;token=22ba231d-f07b-4c08-bf15-ad6189daa97a" alt=""></div>

## Values

### Fractional Values

{% hint style="warning" %}
Pools cannot store fractional values.
{% endhint %}

However, to emulate fractional values you can express your game's Resources in subunits, so that&#x20;

`1 subunit = 1 Resource`

In the Player's Bank Account example, the value in the account should be expressed in cents.

### Negative Values

Pools support negative values but only as the result of a [State Connection](../connections/state-connections)'s effect on it.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-M5flyMam4-tzlwf4GIX%2F-M5fplVregP-UNUYh4L7%2FScreen%20Recording%202020-04-24%20at%2001.58%20PM.gif?alt=media&#x26;token=944f5863-e257-4eb8-931d-4d8835abc57c" alt=""></div>

> In the example above, Pool 1 is affected by the number of Resources in Pool 2: whenever a Pool 2 receives a Resource, Pool 1 loses 3 Resources. If Pool 1 has less than 3 Resources, its value becomes negative.

While a Pool has a negative value, it **can only accept Resources**. Any other output event will be delayed until the Pool's value is positive.

<div align="left"><img src="https://2667914601-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGZcALyOGDKb9q0wdJ5%2F-M5flyMam4-tzlwf4GIX%2F-M5ftmvcvyrDzp25DG1P%2FScreen%20Recording%202020-04-24%20at%2002.09%20PM.gif?alt=media&#x26;token=ee9430fd-48f9-4670-98f1-feab41581539" alt=""></div>
