User:4st/Graphomic

The Graph
The game is played on a matrix of discrete size. Each entity has a row and a column. The values in the graph can be integers from -10 to 10 inclusive, rules to the contrary notwithstanding.

Each player has an entity.

Edges
Each row represents the starting vertex, and each column represents the destination vertex for a directed edge. The value at this matrix element is the weight of that edge. A value of 0 represents no edge.

(This makes the matrix representative of a weighted, directed graph: See these links for more details:

https://en.wikipedia.org/wiki/Adjacency_matrix

https://en.wikipedia.org/wiki/Directed_graph)

Paths
A path from entity A to entity B is a list of edges where the first edge in the list has starting entity A, and the last edge in the list has destination entity B, and each edge in-between has a starting entity of the destination entity of the previous edge in the list.

Turns
Each phase, a player can make one move.

Moves
A move is one of the following actions:

Graph Adaptation
A graph adaptation consists of a player can modifying a value in the matrix (optional rule?: a value that is neither in their row or column) by adding or subtracting 1 to that value, and they can do such a move so by announcement in #game-actions. (And then, preferably, updating the cycle's gamestate page.)

Winning
A player wins if there is a path, whose edge weights sum to a positive value, from themself to each other player's entity. Multiple players can win at the same time, but once a win exists, no more graph adaptations can occur.

Bonus entities
There exists an entity called 'Bonus'. As long as a path with total positive value exists from a player's entity to that bonus entity, that player can make an additional move each phase.

Power Bonus
If a path from a player's entity exists with infinite value (ie a cycle), that player can make an additional move each phase.

Sad Bonus
If a path from a player's entity exists with negative infinite value (ie a cycle), that player can make an additional move each phase.

Points revamp
Turns are now either one move or one firing. Winning is now the first player to 100 points.

Score
Each player has an integer called points.

Firing
A firing consists of a player traversing the directed graph, starting from their vertex, and adding up each traversal. A player adds up the points when the traversal finishes, or, if a traversal would never finish due to a cycle, then -10. This value is added to their score.

Alternatively, if a traversal would go to an entity that has been visited, it instead doesn't, and no value is counted for that edge. If there are multiple valid traversals, the player who fires should specify the particular desired traversal, otherwise it fails.

Shop
The shop is an entity. A player can buy items if the shop is connected to them. A player can sell items if they are connected to the shop.

Version 1
If, after a move, a cycle exists, all positive edges in those cycles have their value decreased by 1, and all negative edges in those cycles have their value increased by 1.

Version 2
If, after a move, a cycle with total a total positive edge weight exists, all edges in that cycle have their value decreased by 1.

Items
An item is stored on an entity. That entity may choose to give that item to any entity it is connected to by a path with a total positive value.

Adventurer
Each player has an adventurer which starts at their entity. At the beginning of each phase, they may have their adventurer move across the edge with the highest weight.

An adventurer starts with 0 gold. When an adventurer moves, they gain an amount of gold equal to the edge they moved across. When an adventurer is back at their player's entity, it deposits the gold as points.

Power debuff
An player is powerful if they have 5 or more outbound edges from their entity with positive weight. That player must choose one of those edges and reduce its weight by 1.