stackcollision / GardenConquest

A new conquest game mode for Space Engineers
6 stars 7 forks source link

Can't add faction classifiers to grid when using simple ownership #129

Closed zrisher closed 9 years ago

zrisher commented 9 years ago

Setup:

Ownership Schemes:

We have two ownership schemes right now:

Default Ownership

This was our first scheme. We introduced Control after Fleet Membership. We needed control to be easier to wrest from others than just taking over all the blocks, because it was needed for stealing ships.

Then we introduced:

Simple Ownership

People were often confused by the main cockpit requirement of the earlier scheme, and everyone already had a hull classifier that they owned on their ships, so it made sense to move the control requirement onto Hull Classifier instead. Thus this scheme.

Basing fleet membership on the classifier too (instead of on BigOwners) was also done to make things easier - people frequently had their ships stolen but never fully converted to new BigOwners, so they just floated in space without the original owners having the ability to find or remove them.

Ownership-based Placement Enforcement

When placing a new block on a grid, we do a number of validations to ensure it's allowed. The ownership-based checks come into play when we are adding new classifiers. Specifically, we check if the owner of the grid is allowed to have any more of that class. Class maximums are different depending on if the owner is in a fleet, a solo player, or if it's unowned.

These rules will be enforced over time as well, but the placement checks help to keep players from getting confused and surprised.

Problem:

If we're running under the Simple Ownership scheme and someone places a Classifier on a grid that previously did not have one (which is the only time it would be allowed anyway), we can't determine if they're allowed to have more of that class because the grid is considered unowned.

Solutions:

So I'm going to go with the second option. Curious to hear other thoughts, though.