BookCases & Brick

metouto

Active Member
Contributor
Art
While I was building I had noticed how thing look the same in BookCases & Bricks so I have these ....



















What do you think ... could we use some more Bricks & Bookcases the to break thing up a little :)


EDITED .... maybe this should have went into Development :unsure:
 

Attachments

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
*waves hands at thread, moves to development* :geek:

Good timing, with the bookcase thread popping up - viewtopic.php?f=4&t=290 - we might indeed need some more bookcases :D

And yes, nice to have more varieties - although we still need to come up with a way to use variants safely. For instance any one brick wall probably should use the same texture so the bricks will connect properly (unless the variants only differ within the block, not at the edges). Then you get into how you define that so you can add intelligence to the selection :)

But it'll probably happen, so yay!
 

metouto

Active Member
Contributor
Art
Cervator said:
*waves hands at thread, moves to development* :geek:
Thank you for hand waving (you will have to teach me that magic sometime) ;)


Cervator said:
Good timing, with the bookcase thread popping up - viewtopic.php?f=4&t=290 - we might indeed need some more bookcases :D

And yes, nice to have more varieties ....
With B!0HAX working on bookcase... (and very nice work it seems to be right now) ...would there be any use to have bookCases like the ones I show above ... or would the idea be to mix the two types (some books removable some not) together ?


Cervator said:
.... although we still need to come up with a way to use variants safely. For instance any one brick wall probably should use the same texture so the bricks will connect properly (unless the variants only differ within the block, not at the edges)....
OK ... I understand what your saying Cervator about the ends match correctly ;) ....

I used the same box each time to make the different insides so the bricks should match up nicely ;) But the next time you are in a town that has old buildings in it ... look to see if that building is patched in any way and does the brick match ... if the building is old enough I would say they don't. I would believe this might be a way to add "oldness" to a building???


Cervator said:
....Then you get into how you define that so you can add intelligence to the selection :)....
Could we not do like B!0HAX is doing and lable them Block1 ... Block2 .... Block3 ... and so on ???? I don't know coding so there might be a problem I don't see here ;)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
I'm not really sure, honestly. There are several different concepts at play here:

1) Blocks that differ by quantity - example: single bookcase block that may represent the number of books in it (no distribution, single block)
2) Blocks that could use variety breaks shuffled randomly - example: dirt, grass, etc, could be done with the Wang Tiles concept to distribute in a purely programmatic fashion (equally distributed over any size area)
3) Blocks that break monotony occasionally - example: single brick blocks in an otherwise seamless brick wall that just shows damage, plant growth, etc (distribution heavily favors the single "normal" brick block)
4) Blocks that break monotony specifically - example: an old building that has a large patch of wall replaced with a new style brick (distribution has a clean break between old and new bricks)

Thinking about how those could work / be classified - simplified setup assuming we go all out on unique block IDs rather than use sneaky tricks

1) Bookcase example. The extra textures are meant to rotate through a quantity on a single block. Easy - make each a unique block (Bookcase1, Bookcase2, etc) and have the code change the active block picked based on quantity

One drawback with making bookcases functional - great for the player who wants to place a bookcase in a house with actual books in it. But generating structures in the world that contain bookcases - do you attempt to generate actual books, or just inactive bookcases that don't actually hold real books? Can the player only create empty bookcases, then must seek out or create actual books? If there are both inactive and active bookcases you might want some other bookcase textures, say for ruined books, since it would make some sense that you can't interact with those. Maybe RuinedBookcase. Inactive bookcases might just pick a quantity-based block at random

2) Random distribution - there are sort of two related concepts here, a random choice and an animated block. Water blocks actually use a 16x?? pixel PNG strip and just animates by switching the second axis up and down the strip.

I wonder if you could do something similar for blocks that may change, like grass and dirt - simply include a larger PNG strip with the variations and have the engine pick one and stick with it. Which may be tricky as each reload would have to re-pick, so your random distribution shuffles between world reloads, which might look funny. So still might need unique blocks per variety, but the engines needs to pick one at random instead of relating it to quantity

3) This might be the trickiest - although you could just have the engine occasionally output a random sub-variety of a parent type. So you place a ton of YellowBricks to make a wall, and every 20th brick randomly picks a YellowBrickVar1, YellowBrickVar2, etc, where one might have some moss on it, one may have a cracked brick, etc. For player-placed walls maybe all bricks start out pristine, and over time occasionally one gets replaced with a variant (moss grew on it, a brick cracked, etc)

4) Differing bricks not placed randomly (need to match in multi-block segments) - pretty much need unique brick blocks here. Engine could possibly generate a wall made of different types. So could players. So not really a variation choice, instead just RedBrick, YellowBrick, DarkYellowBrick, etc.

In addition to that you might have outright ruined blocks, like a partial brick wall. They'd also be fully unique blocks. Heck, the more I think and write about it the more it makes sense to just go easy and make everything unique blocks, bloating the heck out of the total number of block IDs :)

So if you were to do Bookcase textures that would fit well with B!0HAX's quantity-based bookcases I'd go with either a similar set of 16 in a different material, or just one-off ruined / non-interactive bookcases

At some point tho we'll probably have too many bookcases :D
 

metouto

Active Member
Contributor
Art
WoW Cervator I ask all that :shock: .... sounds like Pandor's Box opened wide .... I'll have to have some time to digest all that :shock:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Too Long Didn't Read (TL;DR) version :D

1) Bookcase1, Bookcase2, etc are for quantity-based blocks and the engine will replace the block to change appearance
2+3) Brick, BrickVar1, BrickVar2, etc are for breaking up patterns, the primary block will be used normally but the engine could occasionally pick a variant
4) RedBrick, YellowBrick, DarkYellowBrick are distinct types and could be used to make walls that have been "renovated" at some point. Controlling these as variants of a single brick "parent" type would probably be a bad idea. You'd just have two slightly different walls that connect :)

We could potentially have Bookcase1Var1, ...Var2, etc, if we really wanted, or WoodBookcase1, StoneBookcase1, etc. And also BookcaseRuined or such.
 
Top