Hi, sorry folks I've been MIA for a bit, but I will try to get up to speed. It's silly I had almost had the update ready a few weeks ago but life intervened :tongue.gif: . I've gotten Humans+ working with the mods as well now and I will release an update once I've addressed any issues that have been brought up.
Hmm, I have to decide how much to use Humans+ in the provided templates. I think I will use it liberally in the non-ruined cities. If you don't have Humans+ installed the spawners will revert to PigZombies.
EDIT @LordcrusaderLee
Thank you for the report. That was a bug that sometimes caused crashes during long initial generation times. It's been fixed for the next release.
Ive been using this for a short time, and so far this is one of my favorite mods, but I just wanted to let you know, the most awesome part of this mod are the underground cities, I got high from exploring them, but I felt they would be even more breathtaking with a little more color, anyone else think that?
I felt they would be even more breathtaking with a little more color, anyone else think that?
The point of this mod is you can design your own buildings streets & towers to be placed in the cities. If you want more variety in the underground cities, learn how to edit the *.tml files and make your own. The *.tml files are waaaay easier to understand than the *.bo2 or *.schemata formats used by similar mods.
Would it be possible to edit templates so that spawners would be allowed to spawn mobs from other mods? I remember hearing something about that not being possible from your end but since I know what mods I'm running, could I do it?
Because I have a plan, and that plan is DINOSAUR CITY.
Would it be possible to edit templates so that spawners would be allowed to spawn mobs from other mods? I remember hearing something about that not being possible from your end but since I know what mods I'm running, could I do it?
Because I have a plan, and that plan is DINOSAUR CITY.
Yes, as I stated a couple pages back, this what I am doing. You will be able include any modded spawners as long as the spawner takes the form of a Block (and not, for example not an Entity). If the spawner is an Entity, as the Humans+ spawners are, contact me and I will see if I can rig up a way to include it. By the way this goes for any kind of modded block not just spawner blocks. So for example if you want to include blocks from Kaevator's slopes mod in templates you can do this currently. There will be a fuller explanation of this up on the OP once I have the update out.
Oh my, cellular automata :biggrin.gif: . As a former math major I think I might be contractually obligated to support this. I'm not sure about a separate generator in the code, though long term maybe some kind of ability to add on procedural builder modules such as this is something to think about.
That said I'd certainly be willing to import fixed output from your generator as templates. Certainly some of those would not look out of place in say the ruined mossy city. Or maybe an underground city filled with them? I wonder can you generate good output composed of more than one material?
But would these cellular automata structures be genuine buildings, or rather sculptures or works of art? I mean, who would live in a tower-like structure that would require non-Euclidian geometry to inhabit?
This is a hairy creeper stone monument?
Both images are the same structure.
Maybe screens from inside ?
Mayhem91
But would these cellular automata structures be genuine buildings, or rather sculptures or works of art? I mean, who would live in a tower-like structure that would require non-Euclidian geometry to inhabit?
Mozai
XD There is mandatory live in a minimum of 5.5 dimensions to inhabit these structures.
Yes, they are massive and spongy.
Could be made habitable in various ways, for example, making them hollow and then placing floors.
I wonder can you generate good output composed of more than one material?
Formivore
It's very possible (not now for me). If the criteria is, by example, block connected to only 0,1 or 4 blocks, the block is sandstone. This is another CA working in a precalculated structure. Both easy to program.
If the criteria is the sunlight is on this block, the block is "roof" and their material is smoothstone.
All this is post-produced programming. Other criteria may be real CA in the first CA program.
The two threads of the links above explain how to obtain them.
The program build a history at time. The upper is the most old history because they are not pure 3d but many 2d stacked. The aestetics are diffrent because the rules are not the same to all examples.
I understand you right guys?
As a former math major I think I might be contractually obligated to support this.
Formivore
I jumping like a dog with a big Argentinosaurus bone (the biggest dinosaurus).
Doozer,
If you can output your structures as text files with layer arrays of 0's and 1's (or 2's and 3's for different materials or whatever) I can use those as templates in the walled city mod.
Or I don't know, I'd be interested in creating a separate cellular automata builder mod for Minecraft. If you'd be interested in collaborating with me and I can get the rules from you, I imagine it would be pretty easy for me to code up. (I recall looking through A New Kind of Science but I don't know offhand what rule number 121268 means).
Formivore, I want to help you in this awesome supermod, but I think if we put a premade CA structure in the mod I gonna cry for weeks.
The very power of this idea is the player never see the same structure.
Even the styles can change (no too much for me, but well, can be made very complex and diverse with time and work...)
The system to write a rule can change. I don't follow the system of Wolfram (genius) because I don't remember it when I build de system in Grasshopper/Rhino :smile.gif:
The important is a form (any form) to almacenate the rule in a few numbers.
You can use this system. Better if you want enhance it:
Remember this is a 2D CA. Each clock's tic is a history of the building.
By example:
The cell die if their live neighbors are 0,2,3 or 4. The rule for die is "101110000" 368 in decimal.
The cell live if their live neighbors are 1 or 5. The rule for live is "010001000" 136 in decimal.
The first position in binary is the case for zero live neighbors. The last is for eight live neighbors.
The rules are 368 136 or 368136.
If the case is not covered in this rules, the cell not change their state. if he died, dies. If he lived, live.
If the rules are contradictory (random rules), the cell, by example, die.
Many rules are not very nice. Only pyramids (gorgeous pyramids if the initial seed is a small group of cells) because they grow very fast. Other rules are very nice but some die very fast.
If you can make a CA system, a set of rules or "styles" preselected (100/150 ?) can be used with a random simetrical initial seed to make this structures. I use a few types of symetry.
I think may be you can find premade open source CA generator for Java (we need only 2d two states cell). Ready for adapt to this work.
Minecraft had their own 2dCA engine? I see 3dCA in water, lava, sand...
Remember, my english is very bad and I know less programming than english.
:smile.gif:
Formivore, I want to help you in this awesome supermod, but I think if we put a premade CA structure in the mod I gonna cry for weeks. The very power of this idea is the player never see the same structure.
But so many structures will be similar to others, and may be structures that are not useful/pleasant.
translation fix An important idea is to describe the cellular automata (CA) using small string of numbers.
It is better for humans and for machines to make the numbers simple to understand. Thus it would be better to use '101110000,010001000' instead of 368136. This method of compressing numbers allows for impossible cellular automata (like '125146'). Whoever suggested using a pair of binary numbers, I wonder why this person did not suggest trinary numbers instead to avoid impossible automata.
If I understand correctly: each layer of altitude (y=y+1) of the tower is another 'clock tick' or 'execution step' of the cellular automata. So let's say we're building a tower using the cellular automata '001100000', going up. When we make the next layer, for each cube of air we check the eight cubes surrounding the cube below it, and count how many of those eight cube have a solid block occupying. If the cube below has 2 or 3 solid blocks adjacent to it (because '001100000' has a '1' in the second and third digits), then this cube will also have a solid block; otherwise it will be air.
Some things that are missing from your method:
- what is the first set of blocks to use making any tower? Very very very few cellular automata can start from an empty set of cells. We could start with a random set of solid/air blocks, but how to decide the width & depth of the starting square of blocks?
- How do you decide when to stop? Some cellular automata do not die out, and could make towers that are infinitely tall, or at least tall enough in minecraft to hit the ceiling.
Tell me how these should be done, and I can make something that will build plenty of *.tml files on demand. Hell, we could make the cellular automata be defined by a set of eight rule numbers instead of just eight on/off switches. I.E. if the cube below has 4 solid blocks surrounding it, look at the fourth instruction of the cellular automata; if it says '8', then use the rule8= definition fill this cube.
Whether any of this will end up in the *.java files is up to Formivore. Maybe I'm talking too much.
Minecraft had their own 2dCA engine? I see 3dCA in water, lava, sand...
Minecraft terrain generation uses a noise function for feeding distortion and placement procedures (possibly an alternating pair of noise functions). They are not the same as cellular automata. The an identical 'world seed' can be used to recreate an identical world because the random numbers are only pseudorandom.
Minecraft terrain generation uses a noise function for feeding distortion and placement procedures (possibly an alternating pair of noise functions). They are not the same as cellular automata. The an identical 'world seed' can be used to recreate an identical world because the random numbers are only pseudorandom.
Yeah but Minecraft physics such as water, redstone, pistons etc. are much more in the spirit of cellular automata - i.e. they update based on their local environment and simple rules. This is part of why they are so fun to play with, they are easy to understand and respond robustly to tinkering. Since all the moving parts (well not the Entities) are automata-like you could say Minecraft is one big CA.
Formivore, I want to help you in this awesome supermod, but I think if we put a premade CA structure in the mod I gonna cry for weeks.
Haha I understand this, but my philosophy is that while procedural generation is cool, procedural generation + curation can also be cool. I dunno, it kind of depends or the proportion and variety of good structures. If something is awesome I see no reason not to save it for posterity.
You've tickled my nerd bone and I would like to try to build an in-game generator once I have some time this weekend. I'm pretty sure I understand your explanation, and your right it would be very easy to code up. Like many things figuring out input formats and interface will be more work than the core algorithm :dry.gif: .
If you could provide a library of good rules and good seeds that would be very valuable and would be enough for me to get started.
- what is the first set of blocks to use making any tower? Very very very few cellular automata can start from an empty set of cells. We could start with a random set of solid/air blocks, but how to decide the width & depth of the starting square of blocks?
- How do you decide when to stop? Some cellular automata do not die out, and could make towers that are infinitely tall, or at least tall enough in minecraft to hit the ceiling.
Probably you will need a library of good seeds, or maybe some rules are so good that any seed will work? There can just be a randomized height limit that will kill generation after a certain number of steps.
Hell, we could make the cellular automata be defined by a set of eight rule numbers instead of just eight on/off switches. I.E. if the cube below has 4 solid blocks surrounding it, look at the fourth instruction of the cellular automata; if it says '8', then use the rule8= definition fill this cube.
This was kind of what I was thinking when I mentioned different materials. But it could be that this will tend to produce too finely mixed materials instead clumps of the same material that look good. But if anyone wants to experiment...
But so many structures will be similar to others, and may be structures that are not useful/pleasant.
Mozai
This is rigth. But the ugly shapes can be "curated" by the correct choice of rules. We could preselect 50-200 rules and the shapes will be more or less useful/pleasant. Is not a perfect system but is, I think, better than static aesthetic of premade shapes.
It is better for humans and for machines to make the numbers simple to understand. Thus it would be better to use '101110000,010001000' instead of 368136.
Mozai
Of course. The program not use decimal but binary. This number is only for human use. For curate the pool of rules. I explain the code for rules because Formivore ask about it.
If I understand correctly: each layer of altitude (y=y+1) of the tower is another 'clock tick' or 'execution step' of the cellular automata.
Mozai
Sorry but no and sorry for my lack hability to explain all this in right way. Each layer of altitud is (y=y-1). The upper layer is the oldest. The structure grow down and when is finish the program up it to floor level. Why is this? Because many good rules expand the shape. This examples are building down to up:The structure at left was built with a container to limit the grow but the shape is always "cubic". The other shape expand to infinity and is nice at this high but ugly if the high is too much. We can use very containers to have a nice pool of shapes but at the end all look very similar...
So let's say we're building a tower using the cellular automata '001100000', going up. When we make the next layer, for each cube of air we check the eight cubes surrounding the cube below it, and count how many of those eight cube have a solid block occupying. If the cube below has 2 or 3 solid blocks adjacent to it (because '001100000' has a '1' in the second and third digits), then this cube will also have a solid block; otherwise it will be air.
Mozai
Right!!! But the rules to an determinated shape are two, one to die and another to live. So, 001100000 is only half set of rules. If 001100000 is the code to live the block is solid but if is to die the new block is air.
- what is the first set of blocks to use making any tower? Very very very few cellular automata can start from an empty set of cells. We could start with a random set of solid/air blocks, but how to decide the width & depth of the starting square of blocks?
The seed is very, very, very important. And the "container" and the high of the shape too. The seed can be pure random but the shapes are ugly. I try diffrent seed types and I choose a few. The random seed could have bilateral or cuadrilateral symetry. Cuadrilateral is the better choice to a building, I think.
The first seed type is good only to the natural or seminatural shapes.
The container is a max space in the CA. Is a arbitrary square. The cells in their border only depend of the inner space and the shape is contained in this way. I thought about a crazy possibility. The container could be change in time. A cone container or a spherical could be shape the structure in a very cool way. If we use this technique to much, all cities could be have the same style from a distance viewer :sad.gif:
The high is an arbitrary number. If we calculate many buildings, the high of an shape could be calculated with a average high plus a variability. Both arbitrary. By example: 50 layers +-10.
Tell me how these should be done, and I can make something that will build plenty of *.tml files on demand. Hell, we could make the cellular automata be defined by a set of eight rule numbers instead of just eight on/off switches. I.E. if the cube below has 4 solid blocks surrounding it, look at the fourth instruction of the cellular automata; if it says '8', then use the rule8= definition fill this cube.
Mozai
I thought about that possibility but never put into practice. Cellular multi automatas.
Each layer change the rules to build the next layer. The possibilities make me itch the skull from the inside. The style of shapes could be very strange, awesome and very diverse.
Another possibility is to use only a few number of rules, two or four (by example) set of rules. And each layer use one set to made the next layer. First set to second layer, Second set to third layer, Third set to fourth layer and First set again to fifth layer and so.
123123123123...
or
123412341234...
or
111231112311...
The complexity emerges from simple things if we turn enough the crank of the machine. :smile.gif:
Formivore, I want to help you in this awesome supermod, but I think if we put a premade CA structure in the mod I gonna cry for weeks.
Haha I understand this, but my philosophy is that while procedural generation is cool, procedural generation + curation can also be cool.
Formivore
I agree, but a curation can be made procedural. The dead shapes, very empty, could be deleted after calculated. The very big (piramidal) shapes can be deleted too. The floating blocks, a strong danger, could be deleted from a shape.
I found many rules strong and cool. Each random seed (symetrical) generate a nice structure. There are not difficult to find.
If you could provide a library of good rules and good seeds that would be very valuable and would be enough for me to get started.
Formivore
My seeds are generated by hand. I recommend to you write a short script to make it and only click a button or a dial. I only choose the rules by dial two decimal numbers. You can try this sets:
The first numbers are the live rules. The second are the die rules. But could be not work in the same way if the algorithm you write is a little diffrent.
Probably you will need a library of good seeds, or maybe some rules are so good that any seed will work? There can just be a randomized height limit that will kill generation after a certain number of steps.
Formivore
A library of good seeds will not work very well because the crucial piece are the rules. The type seed symmetry yes, it is very important. But is not difficult to made a rule generator and a seed generator with two or three types of symetry. Lineal symmetry (like a ship helix or a Julia fractal set) not work very well because the player must be a top and seeing to bottom to see the balance or the shape could be seen like completly random.
The geometrical seeds can be added to the pool of possibilities. In the images of shapes I upload previously, many use a single row of one to ten blocks live. This seed type can produce many gable roofs. You can see very well in this example:
All these shapes use simple seeds. A row of blocks. They can be seen in the upper layer.
Circles, squares, crosses, asterisks, stars, diagonals, equis. All these could be generate cool shapes. Even we can use two seed at the same time. A cross and circle. A square with diagonals. With many diffrent sizes per type the combinatory grow to the clouds.
On the other hand, I like the simmetrical random seed style too.
Hmm, I have to decide how much to use Humans+ in the provided templates. I think I will use it liberally in the non-ruined cities. If you don't have Humans+ installed the spawners will revert to PigZombies.
EDIT @LordcrusaderLee
Thank you for the report. That was a bug that sometimes caused crashes during long initial generation times. It's been fixed for the next release.
The point of this mod is you can design your own buildings streets & towers to be placed in the cities. If you want more variety in the underground cities, learn how to edit the *.tml files and make your own. The *.tml files are waaaay easier to understand than the *.bo2 or *.schemata formats used by similar mods.
:laugh.gif: :laugh.gif: :laugh.gif: :laugh.gif: :laugh.gif: :laugh.gif:
That's excactly what I thought would be awsome!
Awsome!
Because I have a plan, and that plan is DINOSAUR CITY.
Yes, as I stated a couple pages back, this what I am doing. You will be able include any modded spawners as long as the spawner takes the form of a Block (and not, for example not an Entity). If the spawner is an Entity, as the Humans+ spawners are, contact me and I will see if I can rig up a way to include it. By the way this goes for any kind of modded block not just spawner blocks. So for example if you want to include blocks from Kaevator's slopes mod in templates you can do this currently. There will be a fuller explanation of this up on the OP once I have the update out.
Temples, buildings, ruins, monuments, fortress, palaces...
http://is.gd/Q0OwRl
http://is.gd/DKe8bH
The algorithm is a Cellular Automaton very simple.
That said I'd certainly be willing to import fixed output from your generator as templates. Certainly some of those would not look out of place in say the ruined mossy city. Or maybe an underground city filled with them? I wonder can you generate good output composed of more than one material?
... oh dear. Oh dear oh dear. city_of_rhlyeh.tml , biomes=MountainsOfMadness , spawn_shoggoths=1
Today just became so much better. :smile.gif:
Both images are the same structure.
Mayhem91
Mozai
XD There is mandatory live in a minimum of 5.5 dimensions to inhabit these structures.
Yes, they are massive and spongy.
Could be made habitable in various ways, for example, making them hollow and then placing floors.
Formivore
It's very possible (not now for me). If the criteria is, by example, block connected to only 0,1 or 4 blocks, the block is sandstone. This is another CA working in a precalculated structure. Both easy to program.
If the criteria is the sunlight is on this block, the block is "roof" and their material is smoothstone.
All this is post-produced programming. Other criteria may be real CA in the first CA program.
The two threads of the links above explain how to obtain them.
The program build a history at time. The upper is the most old history because they are not pure 3d but many 2d stacked. The aestetics are diffrent because the rules are not the same to all examples.
I understand you right guys?
Formivore
I jumping like a dog with a big Argentinosaurus bone (the biggest dinosaurus).
If you can output your structures as text files with layer arrays of 0's and 1's (or 2's and 3's for different materials or whatever) I can use those as templates in the walled city mod.
Or I don't know, I'd be interested in creating a separate cellular automata builder mod for Minecraft. If you'd be interested in collaborating with me and I can get the rules from you, I imagine it would be pretty easy for me to code up. (I recall looking through A New Kind of Science but I don't know offhand what rule number 121268 means).
The very power of this idea is the player never see the same structure.
Even the styles can change (no too much for me, but well, can be made very complex and diverse with time and work...)
The system to write a rule can change. I don't follow the system of Wolfram (genius) because I don't remember it when I build de system in Grasshopper/Rhino :smile.gif:
The important is a form (any form) to almacenate the rule in a few numbers.
You can use this system. Better if you want enhance it:
Remember this is a 2D CA. Each clock's tic is a history of the building.
By example:
The cell die if their live neighbors are 0,2,3 or 4. The rule for die is "101110000" 368 in decimal.
The cell live if their live neighbors are 1 or 5. The rule for live is "010001000" 136 in decimal.
The first position in binary is the case for zero live neighbors. The last is for eight live neighbors.
The rules are 368 136 or 368136.
If the case is not covered in this rules, the cell not change their state. if he died, dies. If he lived, live.
If the rules are contradictory (random rules), the cell, by example, die.
Many rules are not very nice. Only pyramids (gorgeous pyramids if the initial seed is a small group of cells) because they grow very fast. Other rules are very nice but some die very fast.
If you can make a CA system, a set of rules or "styles" preselected (100/150 ?) can be used with a random simetrical initial seed to make this structures. I use a few types of symetry.
I think may be you can find premade open source CA generator for Java (we need only 2d two states cell). Ready for adapt to this work.
Minecraft had their own 2dCA engine? I see 3dCA in water, lava, sand...
Remember, my english is very bad and I know less programming than english.
:smile.gif:
But so many structures will be similar to others, and may be structures that are not useful/pleasant.
It is better for humans and for machines to make the numbers simple to understand. Thus it would be better to use '101110000,010001000' instead of 368136. This method of compressing numbers allows for impossible cellular automata (like '125146'). Whoever suggested using a pair of binary numbers, I wonder why this person did not suggest trinary numbers instead to avoid impossible automata.
If I understand correctly: each layer of altitude (y=y+1) of the tower is another 'clock tick' or 'execution step' of the cellular automata. So let's say we're building a tower using the cellular automata '001100000', going up. When we make the next layer, for each cube of air we check the eight cubes surrounding the cube below it, and count how many of those eight cube have a solid block occupying. If the cube below has 2 or 3 solid blocks adjacent to it (because '001100000' has a '1' in the second and third digits), then this cube will also have a solid block; otherwise it will be air.
Some things that are missing from your method:
- what is the first set of blocks to use making any tower? Very very very few cellular automata can start from an empty set of cells. We could start with a random set of solid/air blocks, but how to decide the width & depth of the starting square of blocks?
- How do you decide when to stop? Some cellular automata do not die out, and could make towers that are infinitely tall, or at least tall enough in minecraft to hit the ceiling.
Tell me how these should be done, and I can make something that will build plenty of *.tml files on demand. Hell, we could make the cellular automata be defined by a set of eight rule numbers instead of just eight on/off switches. I.E. if the cube below has 4 solid blocks surrounding it, look at the fourth instruction of the cellular automata; if it says '8', then use the rule8= definition fill this cube.
Whether any of this will end up in the *.java files is up to Formivore. Maybe I'm talking too much.
Minecraft terrain generation uses a noise function for feeding distortion and placement procedures (possibly an alternating pair of noise functions). They are not the same as cellular automata. The an identical 'world seed' can be used to recreate an identical world because the random numbers are only pseudorandom.
YES!!!!!!!!!
Edit: There doesn't seem to be anything in the chests (at least in the battle basement). Have I done something wrong?
p.s. Amazing update.
RE-EDIT: I didn't delete the old settings files, so it had nothing to read for the chests contents. Problem fixed.
Yeah but Minecraft physics such as water, redstone, pistons etc. are much more in the spirit of cellular automata - i.e. they update based on their local environment and simple rules. This is part of why they are so fun to play with, they are easy to understand and respond robustly to tinkering. Since all the moving parts (well not the Entities) are automata-like you could say Minecraft is one big CA.
Haha I understand this, but my philosophy is that while procedural generation is cool, procedural generation + curation can also be cool. I dunno, it kind of depends or the proportion and variety of good structures. If something is awesome I see no reason not to save it for posterity.
You've tickled my nerd bone and I would like to try to build an in-game generator once I have some time this weekend. I'm pretty sure I understand your explanation, and your right it would be very easy to code up. Like many things figuring out input formats and interface will be more work than the core algorithm :dry.gif: .
If you could provide a library of good rules and good seeds that would be very valuable and would be enough for me to get started.
Probably you will need a library of good seeds, or maybe some rules are so good that any seed will work? There can just be a randomized height limit that will kill generation after a certain number of steps.
This was kind of what I was thinking when I mentioned different materials. But it could be that this will tend to produce too finely mixed materials instead clumps of the same material that look good. But if anyone wants to experiment...
This is rigth. But the ugly shapes can be "curated" by the correct choice of rules. We could preselect 50-200 rules and the shapes will be more or less useful/pleasant. Is not a perfect system but is, I think, better than static aesthetic of premade shapes.
Mozai
Of course. The program not use decimal but binary. This number is only for human use. For curate the pool of rules. I explain the code for rules because Formivore ask about it.
Mozai
Sorry but no and sorry for my lack hability to explain all this in right way. Each layer of altitud is (y=y-1). The upper layer is the oldest. The structure grow down and when is finish the program up it to floor level. Why is this? Because many good rules expand the shape. This examples are building down to up:The structure at left was built with a container to limit the grow but the shape is always "cubic". The other shape expand to infinity and is nice at this high but ugly if the high is too much. We can use very containers to have a nice pool of shapes but at the end all look very similar...
Mozai
Right!!! But the rules to an determinated shape are two, one to die and another to live. So, 001100000 is only half set of rules. If 001100000 is the code to live the block is solid but if is to die the new block is air.
The seed is very, very, very important. And the "container" and the high of the shape too. The seed can be pure random but the shapes are ugly. I try diffrent seed types and I choose a few. The random seed could have bilateral or cuadrilateral symetry. Cuadrilateral is the better choice to a building, I think.
The first seed type is good only to the natural or seminatural shapes.
The container is a max space in the CA. Is a arbitrary square. The cells in their border only depend of the inner space and the shape is contained in this way. I thought about a crazy possibility. The container could be change in time. A cone container or a spherical could be shape the structure in a very cool way. If we use this technique to much, all cities could be have the same style from a distance viewer :sad.gif:
The high is an arbitrary number. If we calculate many buildings, the high of an shape could be calculated with a average high plus a variability. Both arbitrary. By example: 50 layers +-10.
I thought about that possibility but never put into practice. Cellular multi automatas.
Each layer change the rules to build the next layer. The possibilities make me itch the skull from the inside. The style of shapes could be very strange, awesome and very diverse.
Another possibility is to use only a few number of rules, two or four (by example) set of rules. And each layer use one set to made the next layer. First set to second layer, Second set to third layer, Third set to fourth layer and First set again to fifth layer and so.
123123123123...
or
123412341234...
or
111231112311...
The complexity emerges from simple things if we turn enough the crank of the machine. :smile.gif:
I agree, but a curation can be made procedural. The dead shapes, very empty, could be deleted after calculated. The very big (piramidal) shapes can be deleted too. The floating blocks, a strong danger, could be deleted from a shape.
I found many rules strong and cool. Each random seed (symetrical) generate a nice structure. There are not difficult to find.
Formivore
My seeds are generated by hand. I recommend to you write a short script to make it and only click a button or a dial. I only choose the rules by dial two decimal numbers. You can try this sets:
130-138
170-77
110-74
170-165
170-165
170-165
170-170
169-138
170-134
184-180
164-160 !
The first numbers are the live rules. The second are the die rules. But could be not work in the same way if the algorithm you write is a little diffrent.
Formivore
A library of good seeds will not work very well because the crucial piece are the rules. The type seed symmetry yes, it is very important. But is not difficult to made a rule generator and a seed generator with two or three types of symetry. Lineal symmetry (like a ship helix or a Julia fractal set) not work very well because the player must be a top and seeing to bottom to see the balance or the shape could be seen like completly random.
The geometrical seeds can be added to the pool of possibilities. In the images of shapes I upload previously, many use a single row of one to ten blocks live. This seed type can produce many gable roofs. You can see very well in this example:
All these shapes use simple seeds. A row of blocks. They can be seen in the upper layer.
Circles, squares, crosses, asterisks, stars, diagonals, equis. All these could be generate cool shapes. Even we can use two seed at the same time. A cross and circle. A square with diagonals. With many diffrent sizes per type the combinatory grow to the clouds.
On the other hand, I like the simmetrical random seed style too.
:smile.gif: