Why is portal cost releated with portal size, not distance?

My question is as simple as that. Boundless is all about building right? Then why I can’t make big portal linking places on the same planet? (for aesthetic reasons). I totally don’t get that change. I currently have 2x3 portal which will link to the same planet, but I have to pay two times as much for maintaining it as if it was 1x2. And I’m not even talking about making cool looking 4x6 portals because that costs me… 9 shards per hour…

I don’t get it. At this point game punishes you for going big. It should really be only releated with blinksecs distance, not portal size the same way it is with warp conduits.

devs please rethink that design. It’s terrible for builders and I think we don’t need realism in this area.

9 Likes

Actually you pay four times as much.
A 2x3 portal costs 4 shards / hour and 200 to open.

1 Like

I could see a need for a bit more cost for super sized portals but something that is only 25-50% bigger shouldn’t need a huge cost increase.

I do agree that consistently more and more of the design decisions hurt builders or those wanting to build. I get the wish to push the game MMO but you really are ruining your chances with the base group of players that like to build and came to this game to build.

2 Likes

I would assume that it has to do with render costs for larger portals, but I don’t know that for certain. I would prefer to build larger portals if possible.

4 Likes

I was thinking about this possibility, but I never experienced an fps drop when looking on a portal so can’t comment on that. It seems there is a higher fps drop when looking from high ground on the city than looking through the portal.

It still is indirectly liked to distance, though, as portals require a certain number of conduits as a minimum for each distance
I think it makes more sense this way

I think this is my main beef with it as well, the price curve is pretty steep for small portals

1 Like

Most of the design choices related to portals all had to do with server side resource overhead. For example, when blink sec was introduced it force mesh networks into star formations, which decreases the number of portals, but increases the efficiency of their use. I was told keeping a portal open also consumes considerable bandwidth. The increase size most likely increases the resources consumed, thus must be kept under control. Thus they introduce a cost prohibitive design that said yes you can but you must be prepared to do the work to maintain it, thus limiting to only the dedicate players use of it.

1 Like

I didn’t realise the costs went up from EA…damnit.

It doesn’t really affect servers. You load this area anyway and server doesn’t care of what size the portal is, it just sends you data and info about location on the other side. More portals - more resources needed, I get that design choice, but considering devs want to limit amount of portals in general, it’s still bad that we can’t create big portals for a low cost.

4 Likes

something like this would be nice:

License: https://opensource.org/licenses/MIT

var portalConduitCount = [2,2,2,3,3,4,4,4,6,6,6,8,8,8,10,10,10,15,15,15,18,18,18,24,24,24];
var portalConduitMinIndexTable = [2,3,4,6,8,10,15,18,24];
var portalConduitMaxIndexTable = [8,10,15,18,24,36,48,56,100]; // <--- new array!
var portalOpeningCost = [50,100,150,200,250,300,350,400,450];
var portalRunningCost = [1,2,3,4,5,6,7,8,9];

function GetPortalCost(blinksecs, conduits)
{
    if (blinksecs >= portalConduitCount.length)
    {
        return `[${blinksecs} blinksecs - ${conduits} conduits] INVALID1`;
    }

    var minConduits = portalConduitCount[blinksecs];
    if (conduits < minConduits)
    {
        return `[${blinksecs} blinksecs - ${conduits} conduits] INVALID2`;
    }

    var curIndex = portalConduitMinIndexTable.indexOf(minConduits);
    var maxConduits = portalConduitMaxIndexTable[curIndex];
  
    while (conduits > maxConduits)
    {
        ++curIndex;
        
        if (curIndex >= portalConduitMinIndexTable.length)
        {
            return `[${blinksecs} blinksecs - ${conduits} conduits] INVALID3`;
        }
        
        minConduits = portalConduitMinIndexTable[curIndex];
        maxConduits = portalConduitMaxIndexTable[curIndex];
    }
    
    return `[${blinksecs} blinksecs - ${conduits} conduits] Portal opening cost: ${portalOpeningCost[curIndex]} shards - Portal running cost: ${portalRunningCost[curIndex]} shards/hour`;
}

console.log(GetPortalCost(0, 2));
console.log(GetPortalCost(0, 3));
console.log(GetPortalCost(0, 4));
console.log(GetPortalCost(0, 6));
console.log(GetPortalCost(0, 8));
console.log(GetPortalCost(0, 10));
console.log(GetPortalCost(0, 15));
console.log(GetPortalCost(0, 18));
console.log(GetPortalCost(0, 24));
console.log(GetPortalCost(3, 2));
console.log(GetPortalCost(3, 3));
console.log(GetPortalCost(3, 4));
console.log(GetPortalCost(3, 6));
console.log(GetPortalCost(3, 8));
console.log(GetPortalCost(3, 10));
console.log(GetPortalCost(3, 15));
console.log(GetPortalCost(3, 18));
console.log(GetPortalCost(3, 24));
console.log(GetPortalCost(6, 2));
console.log(GetPortalCost(6, 3));
console.log(GetPortalCost(6, 4));
console.log(GetPortalCost(6, 6));
console.log(GetPortalCost(6, 8));
console.log(GetPortalCost(6, 10));
console.log(GetPortalCost(6, 15));
console.log(GetPortalCost(6, 18));
console.log(GetPortalCost(6, 24));
console.log(GetPortalCost(12, 2));
console.log(GetPortalCost(12, 3));
console.log(GetPortalCost(12, 4));
console.log(GetPortalCost(12, 6));
console.log(GetPortalCost(12, 8));
console.log(GetPortalCost(12, 10));
console.log(GetPortalCost(12, 15));
console.log(GetPortalCost(12, 18));
console.log(GetPortalCost(12, 24));

which outputs:

"[0 blinksecs - 2 conduits] Portal opening cost: 50 shards - Portal running cost: 1 shards/hour"
"[0 blinksecs - 3 conduits] Portal opening cost: 50 shards - Portal running cost: 1 shards/hour"
"[0 blinksecs - 4 conduits] Portal opening cost: 50 shards - Portal running cost: 1 shards/hour"
"[0 blinksecs - 6 conduits] Portal opening cost: 50 shards - Portal running cost: 1 shards/hour"
"[0 blinksecs - 8 conduits] Portal opening cost: 50 shards - Portal running cost: 1 shards/hour"
"[0 blinksecs - 10 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[0 blinksecs - 15 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[0 blinksecs - 18 conduits] Portal opening cost: 200 shards - Portal running cost: 4 shards/hour"
"[0 blinksecs - 24 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[3 blinksecs - 2 conduits] INVALID2"
"[3 blinksecs - 3 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[3 blinksecs - 4 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[3 blinksecs - 6 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[3 blinksecs - 8 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[3 blinksecs - 10 conduits] Portal opening cost: 100 shards - Portal running cost: 2 shards/hour"
"[3 blinksecs - 15 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[3 blinksecs - 18 conduits] Portal opening cost: 200 shards - Portal running cost: 4 shards/hour"
"[3 blinksecs - 24 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[6 blinksecs - 2 conduits] INVALID2"
"[6 blinksecs - 3 conduits] INVALID2"
"[6 blinksecs - 4 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[6 blinksecs - 6 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[6 blinksecs - 8 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[6 blinksecs - 10 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[6 blinksecs - 15 conduits] Portal opening cost: 150 shards - Portal running cost: 3 shards/hour"
"[6 blinksecs - 18 conduits] Portal opening cost: 200 shards - Portal running cost: 4 shards/hour"
"[6 blinksecs - 24 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[12 blinksecs - 2 conduits] INVALID2"
"[12 blinksecs - 3 conduits] INVALID2"
"[12 blinksecs - 4 conduits] INVALID2"
"[12 blinksecs - 6 conduits] INVALID2"
"[12 blinksecs - 8 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[12 blinksecs - 10 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[12 blinksecs - 15 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[12 blinksecs - 18 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"
"[12 blinksecs - 24 conduits] Portal opening cost: 250 shards - Portal running cost: 5 shards/hour"

this way super large portals still cost more, but we can have slightly bigger portals than we NEED to have, at the same cost as a small portal.

9 Likes

I don’t get the logic behind this.
The world around the portal exit on the other side must be loaded not matter how big the portal is.
(How much is loaded can be configured in the options and is independent of portal size.)

I can see why many different portals increase server load, but the portal size should be relevant to the server.

1 Like

Because loading into the world, and loading the world that you see through the window are two different things.

When your looking through the window but standing on a different world the information on what is on the other side has to be streamed. The larger the window you are looking through the large the amount of data has to be transmitted for what you are seeing.

That’s not true. You stream data, not images. Data as in positions and dimensions of objects/blocks, what textures their use etc, and they send it as whole 8x8x8 plots, and not single objects. All the rendering is client side, so the server does not consume more resources(bandwitch) if portal is bigger. At least that’s how I would write that, but I write data gathering and processing soft, and not game servers, so I may be mistaken, how boundless does it.

7 Likes

I believe that is how it’s done, in settings you can set how much of other world you want to load, so the data should be the same no matter the portal size.

It’s exactly done that way. When you load google images you get only some portion of all images received from google servers. You can scroll down to see remaining images from package 1, then receive another package of data. It works more or less the same way in boundless. Portal size is not a problem here. Maybe renering issues are a problem.

If the file data on the planets are in different locations and sitting on different servers it could create more bandwidth usage.

I think the issue is everyone here is arguing on specifics when no one actually has the design and architecture data. It really makes no sense when as far as I know no one here is the expert in the design of this game.

So in the end, it is a simple set of questions we should be asking to the developers:

  1. Does portal size affect server resources or add additional real world costs?
  2. Is there a way we can have a range of portal sizes for each blink sec that would be either the same shard use or minimal additional shard use based on size?
3 Likes

As someone with really crappy internet, bigger portals would kill me completely. So i’m fine with them having a system to limit portal sizes.

How do they affect you?

They probably are on different servers, each planet has probably it’s own database. But if you need data for n chunks to render both sides of 2x1 portal I find it hard to believe that you would need more than those ‘n’ chunks for bigger portals. Especial that when you go through the portal there is no data loading, you just instantly can play in the land on the other side of portal (i would write planet, but you can have intra planet portals).

3 Likes