"Hollow blocks" to build the covered structures

Discussion in 'Mechanics' started by Warget, Aug 18, 2015.

  1. lazarus78

    lazarus78 The Waste of Time

    Is that not what I said? "A third layer would be ideal..." meaning that would be a good way to achieve the desired effect, "...but might be performance heavy." as in, could possibly impact performance in a negative way... I fail to see what you "added" that my statement didn't address.

    You are the one trying to undermine me, not the other way around. If you truly did understand my statement, then there was no reason to reply with your "Technically..." bit and we wouldn't be here right now.
     
    Warget likes this.
  2. Warget

    Warget Giant Laser Beams

    Guys, get calm. I think this is just a misunderstanding. And I really hope, that nobody is undermining noone.
     
  3. lazarus78

    lazarus78 The Waste of Time

    Ill take my leave from this thread to avoid escalating things.
     
  4. Warget

    Warget Giant Laser Beams

    Sorry to read that... =(
     
  5. Wordsmythologic

    Wordsmythologic Scruffy Nerf-Herder

    Ah... I was hoping to reach a resolution by explaining what I think was misunderstood, and addressing a few important points, because I do feel kind of attacked. If you change your mind, I'd hope to actually settle this by coming to an agreement, rather than leave the issue hanging with potential animosity. I typed this up, so I may as well post it... It's here, if you want to read it, but I guess that might not happen now.

    I apologize for the wall of text. It's in a spoiler, so as to not break up the thread too much.

    Whoa...
    No, I am not. No. That is incorrect. I am trying to be amicable. I keep trying just to flesh out the points I'm trying to make, so that you don't get offended; I have been actively trying to avoid it. You keep arguing about your wording and semantics, I'm just trying to address the actual idea, and its implications. Please stop picking out minutiae? I've been trying to reach some kind of an agreement. I am not trying to undermine you; you're just factually wrong about that assertion. Mind you, this is the first time I'm even outright saying that. You didn't even acknowledge the last sentence I wrote in my last response. You disregarded it completely, and pretty much counted it as a lie.

    Your initial responses had a negative tone toward how viable the idea of a third tile field is, seeming to primarily express problems with it, and not show much support beyond it being "ideal". I tried to point out that, despite those potential drawbacks you pointed out, the idea itself still has merit, and that, what you said is not always the case. It's not criticism of what you said, and I wish you would not take it that way, because, as far as I can tell, you are. It's just a counterpoint... something that's supposed to be favoured in discussions about these kinds of things.

    Well, no. It's not. You didn't say that it still may be worth implementing. What you said really just seemed to make it sound like it isn't worth it. That's why I was trying to say "well, it might be". Like I said, you seemed to be much more pessimistic about the concept.

    The very thing I said I did. I did not say, nor am I saying, that you said anything in absolutes about the actual idea being presented. And yes, your wording is vague enough that it allows for extrapolated interpretations, but you did not actually address what I mentioned. You didn't directly state that the benefit may outweigh the drawbacks. You seemed, to me, focused on those drawbacks. I was trying to highlight the benefits. You also didn't address differences in performance across different machines, something relevant to the point you made, that I did add.

    You can't blame this on me; that's just not possible or really even able to be rationalized. My response actually had to do with the fact that game performance isn't a deciding factor. After that you just said "Obviously. I figured one could infer that from my post." which is... a reply that only serves to insinuate I was incapable of understanding your meaning. Which is rude and definitely undermining. You made the decision, and even now, as best I can tell, keep making the decision, to make this about me and you. I keep trying to bring it back to the actual topic of this thread, but you keep pulling back to your choice of words, and how I'm supposedly not saying anything relevant or additive to them, because you used general words and phrases like "might be" and "would be ideal", so you can point out how you're right about those, and so you can point out, evidently, how I'm not adding anything, which, again, is an attempt to undermine what I've said. I don't know why. Semantics really isn't the point, and I'm trying to avoid that.

    Again, trying to bring this back to the topic at hand, the point is that it would be nice to have buildings feature opaque walls on the outside, so that they aren't always visually hollow. You made a statement to the affect that sacrificing performance is not worth it to implement the solution of a third tile field, if it turns out to be intensive. My reply was supposed to just say that that's not all that's at play, because all additional programming increases performance stress, and that the mechanic itself might have more merit than you seem to be giving it, based on how negative your messages were. Which is why there was a reason to reply with my "technically" bit, despite comprehending your point, because as I've said, I was trying to expand upon what you said, to say that there's more to it than that. I don't feel that there's a problem with that, because your message was a terse oversimplification, nor do I feel like your responses so far have been very diplomatic. I mean I'm trying explain my responses and to not be rude about it. Like I said, I just wanted to make the case that performance issues are not an immediate disqualifier for the idea, for the several reasons already listed, and more, i.e. aesthetic benefit, gameplay and depth of realism, consideration of machine capabilities, the added customization as opposed to mirroring the background tiles, as also suggested, and so on. And, in addition to that, as I said, your messages gave me an impression of pessimism toward how feasible the idea is, but I'm optimistic, and I think there's a lot of potential in the idea, so I wanted to express support.

    I am not trying to undermine you. Please, do not tell me that I am, when all I am trying to do, and all I have so far done, is clarify details that have to do with the thread's topic. I have my doubts you'll believe me if I say it again, but I will, all the same... I wasn't looking to just disagree with you or say your points aren't without any merit, I only meant to add to the dialogue in a slightly more hopeful way.

    I'm pretty calm. Kind of miffed that my intent was asserted to be to undermine, that's the one thing I'm actually mad about, so apologies for lashing about that, but, otherwise, I'm still calm. I'm just trying my best to explain why I responded. I guess I didn't think I'd need to go into this much detail, and maybe using more words gives the impression of anger? It's hard to convey intent through text, so maybe it is a misunderstanding. But I do feel like there has been a rather strong attempt to undermined the points I have been trying to make.
     
    Last edited: Aug 21, 2015
  6. teilnehmer

    teilnehmer Existential Complex

    I would love that! I also believe that a third layer introduces some problems, unfortunately. If it becomes transparent when you're near it, performance might be impacted, if it's always opaque, gameplay would suffer.

    As a slightly more careful installation of the benefits, I could also see foreground items: columns, panels, pillars and girders that are defined to go in the foreground. That way, CF could control how these items behave. If they are small enough or have enough homes, they would stay opaque, others could be movable or would toggle their visibility.
     
  7. Wordsmythologic

    Wordsmythologic Scruffy Nerf-Herder

    One way to implement the effect, rather than proximity, would be by detecting whether or not there is a wall tile behind the player. The only downside to this would be open windows inside buildings.
     
  8. lazarus78

    lazarus78 The Waste of Time

    I've also wondered if foreground objects were possible. At the very least, they might allow people to create a better illusion of a room having volume to them. IE railings that are in front of the player so it give the impression you are actually walking on a platform, not in front of it.

    That might be a minor compromise feature I think would be a step in that direction.
     
    teilnehmer likes this.
  9. FireFangs

    FireFangs Cosmic Narwhal

    I think the solution is a full 3D overhaul. -nods-

    But merely giving the illusion of a closed building could be enough.
     
  10. Omega X

    Omega X Void-Bound Voyager

    Left-click places a block in front of you, right-click places one in the background. We can use the scroll-click to place a block in the foreground. Foreground blocks should only be placable if there is a background block behind it. Since background blocks are darker than the regular blocks, the foreground blocks could be a bit lighter colored than the regular layered blocks.
    As for "performance heavy", I doubt having a foreground for blocks will do much on that, but thats a different story.

    The problem I see with having a foreground is that now your home/structure won't feel "complete" without a background AND foreground, meaning you will need double the blocks to make what you want. When outside the structure, you can't really see the doors/entrances and the like to enter it because that foreground block will be covering the door(s). As for village/dungeon generation, should those also be generated with foreground blocks, or only have the players able to place that and not be generated? That right there seems to be a bigger conflict as you wouldn't want to have structures generated with foreground because you'll never be able to find a cave unless you stumble into one. If you are about to enter some kind of stronghold, you won't know the amount of enemies in the immediate area of entry nor their positions, meaning you'll be going in without knowing what you're getting yourself into.
     
  11. Garfield67

    Garfield67 Sandwich Man

    Each block is made up of a pair of triangles to form a square. Each layer is made up of the width of screen (in blocks) multiplied by height of the screen (in blocks). So on a 2048 x 1028 screen at 2x zoom (16 x 16 blocks) you can fit (2048 x 1028) / (16 x 16) x 2 triangles per layer. This is 16384 triangles per fully packed layer. This is 8192 blocks and if each is stored on ram for 32bits a piece the whole layer only takes up 32kb of space, even if they use more space per block you're getting 1kb space for each bit used up by describing a block, so it's still not a lot. Two layers is the rendering of at most 32768 triangles, but that's not really true if the devs are optimizing. Any background blocks that aren't drawn don't have to be rendered at all. The same would be true for a foreground layer, or a stack of ten layers. You're never going to have to draw more triangles than the amount in one layer (for block layers, other sprites are extra).

    There is an exception, if you're drawing transparent blocks then obviously the blocks behind need to be rendered. Also, SB's edge blocks are a little more complicated than just one block, but this is irrelevant to calculating the upper limits of how many triangles are being drawn. So with two opaque layers and one transparent, you'd be drawing up to 32768 triangles. The issues would come if they're just pushing all their layers to the GPU without any kind of basic optimization, or implementing another layer would add a layer of complexity to their generation algorithm that makes worldgen unacceptably slow.

    Drawing 32768 triangles per frame shouldn't be an issue for modern hardware, but if it is, you can crank your zoom up to 3x and draw half as many triangles, or change resolution/window size. Unless SB lags already on those things, but I think those problems are mostly caused by unrelated things.
     
  12. FireFangs

    FireFangs Cosmic Narwhal

    I think foreground layer should only be for actual structures, not naturally occurring caves and such. That way we won't miss the caves, but we'll still get surprises when entering buildings.

    As for the completeness of the structure you built, that's really a player choice there. Some people will build to show their constructions, including the interior and thus will not add the foreground layer, while others will build with realism or surprise in mind and will add it.
     
  13. Omega X

    Omega X Void-Bound Voyager

    Most of what you said may be true, but remember, all of the rendering isn't solely relying on the computer's capabilities. The game's engine will be doing a good chunk of that category and the Devs can always further improve performance and optimization.

    Having the world generation to only have foreground on "actual" structures like houses and dungeons may be a good path to follow, but there are still some issues with having it in general. How will you be able to edit the foreground when the foreground will most likely be invisible when you enter the structure so you can see the background? How will you be able to see the entrances like doors when the foreground block will be covering it, etc. It's just things like that to consider if we were to have foreground blocks.
     
  14. FireFangs

    FireFangs Cosmic Narwhal

    Foreground could not cover doors so you actually see it. As of removal of the foreground, it's the same as other blocks, if it's there, you can remove it normally. It being invisible wouldn't change much to it.
     
  15. Garfield67

    Garfield67 Sandwich Man

    The game's engine shouldn't be processing graphics on CPU time unless they're hitting GPU bottlenecks. If they're doing that and they want to optimize, letting the GPU do its job would be a good starting place.
     
  16. Omega X

    Omega X Void-Bound Voyager

    Since you enter it, it would become invisible so you can see the inside normally. you wouldn't know what you're breaking because you can't see it unless you work your way in from the outside or remember the position of the block(s) you want to edit.
    Yeah true about the graphics but for that situation the devs would just have to do it and see if they get any major performance issues. We wouldn't know how it'll turn out 'till we tried :3
     

Share This Page