Starmade | Add dimensional limits to game config
Resolved, needs quality check / confirm fix, HighPublic

Description

We currently have only total block limits as restrictions in the config.

A dimensional restriction option would also be very handy for quite a few use cases.

Suggestion

Allow adding:

  • height
  • width
  • length

to the object types for limitations.

Details

Commits
Restricted Diffusion Commit
Restricted Diffusion Commit
Restricted Diffusion Commit
Restricted Diffusion Commit
Task Type
Feature
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.199.529
Category
none/unspecified
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Tester information (Internal use only)

-QA Testing-

Works better now although a few remaining issues, probably closely related to each other, tried to put it in a decent format although not sure if I succeeded at that...:

  1. The Length, Height, Width information in build mode is incorrect if you try a placement that goes outside the limit and if it's far enough. Probably has to do with chunk initialization.
    1. Make sure the dimension limits are set to something like 10 or 20
    2. Make a new ship core
    3. Place down a line of 50 blocks long starting with a new ship core.
    4. Check build mode info, dimensions will be 51m yet the amount of blocks placed will be correct
  1. You're able to place 1 block more down compared than the allowed dimensions.
    1. Set limit to 20
    2. Notice how the game allows you to get your dimensions to 21
  1. A Block removal action (right click or undo) that crosses a chunk border and the ship is already 1 or more blocks over the limit (can be achieved by doing the previous issue) will cause the game to not recognize this change when it comes to the dimensional limit. The block gets removed but you get an error message with any new build action saying your ship is over the limit, using the old ship's dimensions in the error message.
    1. Set ship dimension to 20
    2. Go above it with 1 block (Length 21m, Height, 1m, Width 1m)
    3. Remove exactly 5 or more blocks with 1 click from the front
      1. If you use 4 or less, you'll not cross a chunk border with that build action, check the block coordinates
    4. Notice how you can't build anymore, apparently still over the limit although your ship should not be.
AndyP created this task.Dec 20 2016, 2:11 PM
AndyP moved this task from Backlog / Unclassed to schema on the Game Development board.
AndyP moved this task from Unclassed to Planned Feature on the Starmade board.
Croquelune added a comment.EditedJan 6 2017, 4:51 PM

I don't know how you planned it but maybe it would be good at the same time to permit to parameter different limitations according the entities: stations and vessels.
This would allow the owners of servers (especially RP) to make different limitations for both types of entities and thus impose a ratio.

I.e: A station could make 1000m maximum while vessels only 500m.

(Just playing on this ratio could maybe boost a little the station. No more solo ship destroying it but force people to form fleet and cooperate to engage it)

AndyP changed Task Type from Bug to Feature.Feb 24 2017, 1:49 PM
Restricted Application added a project: Feature. · View Herald TranscriptFeb 24 2017, 1:49 PM
AndyP changed the task status from "In Queue (Game)" to "In Queue".Mar 10 2017, 5:04 PM
schema changed the task status from "In Queue" to "Resolved" by committing Restricted Diffusion Commit.Mar 21 2017, 4:53 AM
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptMar 21 2017, 4:53 AM
33Cav added a subscriber: 33Cav.Mar 21 2017, 8:10 AM

Just to be clear, the current block count limit does not prevent you from making something larger than specified. It does exactly what it says it does which is disable systems on a ship not conforming to the set limit.

schema added a commit: Restricted Diffusion Commit.Mar 21 2017, 3:22 PM
lancake claimed this task.Mar 27 2017, 2:39 PM
lancake changed the task status from "Resolved" to "In Queue".
lancake added a subscriber: lancake.

-QA Testing-

Not fixed, seems some condition is wrong.
Anything that should be allowed, is not allowed.
Anything that should not be allowed, is allowed.

Probably caused by line 453 in the Segment class.

Restricted Application edited projects, added Game Development, QA-Return; removed Quality Assurance. · View Herald TranscriptMar 27 2017, 2:39 PM
lancake edited Tester information (Internal use only). (Show Details)Mar 27 2017, 2:40 PM
lancake set Last tested (version) to 0.199.491.
lancake moved this task from Planned Feature to Archived on the Starmade board.Mar 29 2017, 1:21 PM
schema changed the task status from "In Queue" to "Resolved".Apr 4 2017, 2:53 PM
Restricted Application edited projects, added Quality Assurance; removed QA-Return, Game Development. · View Herald TranscriptApr 4 2017, 2:53 PM
lancake changed the task status from "Resolved" to "In Queue".Apr 14 2017, 2:26 PM

-QA Testing-

A bit better now, has several issues remaining though:

  1. Doesn't work for ship entities
  2. For stations it works but with issues:
    1. The current dimensions of your ship is bigger than the actual ship, leading to a false positive. Can make anything invalid because you're allowed to put 1 block beyond the max dimensions
    2. If above the dimension limit, you're not allowed to remove blocks to go below it. Once you go above it you're stuck.

This limit should only apply for placing down blocks, templates or trying to spawn in a ship that is above the limit.
It should not apply on removing blocks, that way you always have the chance to convert existing ships into something usable.

Restricted Application edited projects, added Game Development, QA-Return; removed Quality Assurance. · View Herald TranscriptApr 14 2017, 2:26 PM
lancake edited Tester information (Internal use only). (Show Details)Apr 14 2017, 2:27 PM
schema changed the task status from "In Queue" to "Resolved".Apr 14 2017, 4:15 PM
Restricted Application edited projects, added Quality Assurance; removed QA-Return, Game Development. · View Herald TranscriptApr 14 2017, 4:15 PM
schema added a subscriber: schema.Apr 14 2017, 4:15 PM

Can go one over allowed dimension. Once that happens only remove will work on that structure.

schema added a commit: Restricted Diffusion Commit.Apr 19 2017, 12:12 PM
lancake changed the task status from "Resolved" to "In Queue".Apr 19 2017, 11:27 PM

-QA Testing-

Works better now although a few remaining issues, probably closely related to each other, tried to put it in a decent format although not sure if I succeeded at that...:

  1. The Length, Height, Width information in build mode is incorrect if you try a placement that goes outside the limit and if it's far enough. Probably has to do with chunk initialization.
    1. Make sure the dimension limits are set to something like 10 or 20
    2. Make a new ship core
    3. Place down a line of 50 blocks long starting with a new ship core.
    4. Check build mode info, dimensions will be 51m yet the amount of blocks placed will be correct
  1. You're able to place 1 block more down compared than the allowed dimensions.
    1. Set limit to 20
    2. Notice how the game allows you to get your dimensions to 21
  1. A Block removal action (right click or undo) that crosses a chunk border and the ship is already 1 or more blocks over the limit (can be achieved by doing the previous issue) will cause the game to not recognize this change when it comes to the dimensional limit. The block gets removed but you get an error message with any new build action saying your ship is over the limit, using the old ship's dimensions in the error message.
    1. Set ship dimension to 20
    2. Go above it with 1 block (Length 21m, Height, 1m, Width 1m)
    3. Remove exactly 5 or more blocks with 1 click from the front
      1. If you use 4 or less, you'll not cross a chunk border with that build action, check the block coordinates
    4. Notice how you can't build anymore, apparently still over the limit although your ship should not be.
Restricted Application edited projects, added Game Development, QA-Return; removed Quality Assurance. · View Herald TranscriptApr 19 2017, 11:27 PM
lancake edited Tester information (Internal use only). (Show Details)Apr 19 2017, 11:27 PM
lancake changed Last tested (version) from 0.199.491 to 0.199.529.

2 could be a result of the core counting as 2m cube. In your example did you add 19 or 20 blocks to reach dimension of 21?

In T2118#98526, @33Cav wrote:

2 could be a result of the core counting as 2m cube. In your example did you add 19 or 20 blocks to reach dimension of 21?

Added 20 blocks, for a total of 21 if you include the ship core. it's either a < versus <= issue or the value to be compared to is just offset by 1.
Not much of a big deal, only makes the error message confusing.

schema changed the task status from "In Queue" to "Resolved".Apr 20 2017, 11:40 PM

(3.) is fixed

Restricted Application edited projects, added Quality Assurance; removed QA-Return, Game Development. · View Herald TranscriptApr 20 2017, 11:40 PM
schema added a commit: Restricted Diffusion Commit.Apr 21 2017, 1:09 PM