[Game] Fractured [0.01] [WIP]
- 12Me21
- Member
- Posts: 873
- Joined: Tue Mar 05, 2013 00:36
- GitHub: 12Me21
- Location: (Ignore all of my posts before 2018)
Re: [Game] Fractured [0.01] [WIP]
There should be some lava near the split (larger amount of lava caves than usual, and higher up), to make it riskier to mine there
Re: [Game] Fractured [0.01] [WIP]
I wanted it to be big enough to fall across the fracture.jojoa1997 wrote:it is WAY bigger than what I was thinking.
WHICH brings up a point on why I might want to still do this procedurally. With current code, the server admin (or single player) can pick the fractures width, and the tower can be automatically adjusted to match. Using schematics, that might be more difficult. But not impossible. I could generate a bunch of different sized levels for the tower as schematics, and then put them together procedurally depending on the width of the fracture. Hmmm, interesting.
I've got a question on that. With the new biome api, can biomes be made compatible with both mapgen v7 and mapgen v5?jojoa1997 wrote:Once this headache is fixed I wanted to start working on biomes a bit. Where you thinking of any specific biomes?
Biomes in the east should be more normal, pastoral, tame. fields, prairies and wooded lands, pine covered mountains, probably snow biomes. With deserts probably existing, but rare.
Biomes in the west should be ruined, wild, or odd. Lava biomes, burnt, desert, dry dirt, clay, but also various kinds of jungles, and odd things like mushroom, something like ethereal's crystal biome, that kind of thing.
I'm really open to lots of ideas on biomes. I don't see any disadvantage to having LOTS of different kinds of biomes, and making some of them very rare.
I completely agree.12Me21 wrote:There should be some lava near the split (larger amount of lava caves than usual, and higher up), to make it riskier to mine there
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Game] Fractured [0.01] [WIP]
This post is how I learned much about perlin noise:Kilarin wrote:that would be greatly appreciated.HeroOfTheWinds wrote:I can easily write the code in about 10 minutes, too.
IF you had time to EXPLAIN how the perlin noise code works, that would be even better. But I know that may be too much time. :)
Octaves, persists, spread, scale?
viewtopic.php?f=9&t=9439#p143874
To summarize a few unmentioned points:
perlin noise generates a 2D or 3D "map" of values, between the ranges determined by octaves and persist. (See above post.) By checking these values at each coordinate, one is able to do special operations when it is within a certain range of values. So, for example, if you want to hollow out random areas in a contiguous way, you can check when it's at one or both ends of the spectrum:
Code: Select all
if nvals_myperlin[index_x_y_z] > 0.8 then
data[vi] = c_air
end
scale determines how large areas of a particular value are going to be. A relatively small scale means that values will shift rapidly over short distances, while a huge scale could end up having tens or hundreds of nodes in a row with the same perlin value. You can also "stretch" or "squish" certain axes of the scale to make the noise seem more stretched in some direction or another. (imagine a cumulus cloud compared to a stratus cloud). Really, noise is a lot like clouds...
A lot more can just be found by experimenting. The most frustrating part of mapgen development is spending hours tweaking perlin noise parameters and test conditions until you get the result "just right".
I see your point about dynamically scaling the tower... don't do schematics then. It's more trouble than it's worth, and someone will always push it past the point where you stopped making bigger schems. (They have size limits too...)
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Game] Fractured [0.01] [WIP]
Thank you VERY much Hero, that should help!
Wow, the ruination code is pretty simple! this should be great.
Now, I have realized I need to do something odd. It would help if I knew the ground level on both sides of the canyon before building ruined tower. But the fracture can be very wide, and almost certainly is not all loaded in one chunk.
Is there any way I can force a series of chunks to load along a specific axis, and then AFTER they are loaded, determine the ground level and build my structure?
If that is too complicated, I can do it simpler, but if I know the ground level on both sides, I could actually construct the tower so that is is leaning from one side to the other, which I think might be cool.
Again, thank you everyone for all of your help! I couldn't be getting anywhere on this project without the assistance.
Wow, the ruination code is pretty simple! this should be great.
Now, I have realized I need to do something odd. It would help if I knew the ground level on both sides of the canyon before building ruined tower. But the fracture can be very wide, and almost certainly is not all loaded in one chunk.
Is there any way I can force a series of chunks to load along a specific axis, and then AFTER they are loaded, determine the ground level and build my structure?
If that is too complicated, I can do it simpler, but if I know the ground level on both sides, I could actually construct the tower so that is is leaning from one side to the other, which I think might be cool.
Again, thank you everyone for all of your help! I couldn't be getting anywhere on this project without the assistance.
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Game] Fractured [0.01] [WIP]
No problem.
Hmm... That is a problem I wish I could say "yes" to, but sadly, no, you can't force gen chunks. Besides, it is a headache to make slanting structures in mapgen. Since you're only using 2 axes, it isn't a problem, but with 3, the math involved is crazy. In any case, your best alternative is to merely simulate the tower being buried in the ground on either side. You can also tell it not to overwrite non-air nodes. Alternately, make a crater around each end, to simulate the impact of the fall. :3
Also, I may have a more effective algorithm for ore thinning that keeps it much thinner up to a point, then grows quickly before capping out at a maximum (100%). However, I need to know how far you think people should travel before ore starts becoming abundant. if you want it, let me know.
Hmm... That is a problem I wish I could say "yes" to, but sadly, no, you can't force gen chunks. Besides, it is a headache to make slanting structures in mapgen. Since you're only using 2 axes, it isn't a problem, but with 3, the math involved is crazy. In any case, your best alternative is to merely simulate the tower being buried in the ground on either side. You can also tell it not to overwrite non-air nodes. Alternately, make a crater around each end, to simulate the impact of the fall. :3
Also, I may have a more effective algorithm for ore thinning that keeps it much thinner up to a point, then grows quickly before capping out at a maximum (100%). However, I need to know how far you think people should travel before ore starts becoming abundant. if you want it, let me know.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Game] Fractured [0.01] [WIP]
Oh well.HeroOftheWinds wrote:That is a problem I wish I could say "yes" to, but sadly, no, you can't force gen chunks.
Actually, for this particular problem I thought I had figured out a very simple solution. but no need to work on it if I can't preload the ground level. So, back to simple. :)HeroOfTheWinds wrote:, but with 3, the math involved is crazy.
I was using a simple linear distribution, and I suspect that a linear distribution will turn out best in play testing, but only suspect it. a non-linear distribution is certainly worth trying, so pass it on and we'll see what it looks like!HeroOfTheWinds wrote: I may have a more effective algorithm for ore thinning that keeps it much thinner up to a point, then grows quickly before capping out at a maximum (100%). However, I need to know how far you think people should travel before ore starts becoming abundant. if you want it, let me know.
OreThinning could always have multiple options available and let the player/server admin pick. Choice is GOOD. :)
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Game] Fractured [0.01] [WIP]
Alright, I made a pull request, and explained the code both there and inside the file. Basically, it's a distribution using the natural exponential function, making a nice smooth curve that keeps ore thin by the world's center but quickly populates more after a certain point. Makes it a lot easier to tell that thinning is going on.
I also took paramat's advice and moved it back to incrementing vi rather than calculating area:index on every pass.
You mentioned the water border problem, so I patched that too.
I also took paramat's advice and moved it back to incrementing vi rather than calculating area:index on every pass.
You mentioned the water border problem, so I patched that too.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Game] Fractured [0.01] [WIP]
We can use every small increment in speed we can get. thank you.HeroOfTheWinds wrote:I also took paramat's advice and moved it back to incrementing vi rather than calculating area:index on every pass.
It was kinda pretty, but unless they fix the water bug, I guess we need to keep the leaks out. so thank you again!HeroOfTheWinds wrote:You mentioned the water border problem, so I patched that too.
Which is too fast for my taste, ore distribution is near maximum at about 2000 nodes out from spawn. BUT, I can see where other people might really prefer a faster increase. So what I've done is turned the ore thinning adjustment into a function. For right now there is my linear function and your exponential function, but we can add more if people come up with other algorithms they like. The player or server admin just selects the function they want in the init.lua:HeroOfTheWinds wrote:it's a distribution using the natural exponential function, making a nice smooth curve that keeps ore thin by the world's center but quickly populates more after a certain point.
Code: Select all
--thins linearly over the whole range to maxdist
function orethin_adj_linear(dist)
return dist/orethin_maxdist
end
--algorithm by HeroOfTheWinds that heavily thins for the
--first 1000 nodes before rapidly becoming abundant.
function orethin_adj_exponental(dist)
return (orethin_maxdist/(1+(orethin_maxdist-1)* math.exp(-.0075*dist))) / orethin_maxdist
end
--chose the algorithm for ore thinning (comment out all others)
local orethin_adj_algorithm=orethin_adj_linear
--local orethin_adj_algorithm=orethin_adj_exponental
New code is available in github...
https://github.com/Kilarin/fractured/archive/master.zip
Re: [Game] Fractured [0.01] [WIP]
world stone tower is NOT ready, by any means. but I committed my work so far because I could probably use some help fine-tuning the perlin noise damage.
https://github.com/Kilarin/fractured
some pics:
I'm hoping for results more like the first and 3rd, damaged but intact. but still getting occasional results like pic #2, where huge swaths of the tower are missing. That may be an inevitable result of using random noise, and it may not really be a problem.
https://github.com/Kilarin/fractured
some pics:
I'm hoping for results more like the first and 3rd, damaged but intact. but still getting occasional results like pic #2, where huge swaths of the tower are missing. That may be an inevitable result of using random noise, and it may not really be a problem.
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Game] Fractured [0.01] [WIP]
I was about to post, your tower damage noise needs a much smaller 'spread', the spread is the rough size of the largest holes. if you want the holes to be elongated along the x direction then the spread x value should be larger than the y, z values, or the opposite for holes squashed in the x direction. I would start with all 3 values equal.
Re: [Game] Fractured [0.01] [WIP]
Then I was working in the right direction! right now I'm using:paramat wrote:your tower damage noise needs a much smaller 'spread',
Code: Select all
-- 3D noise for tower damage
local np_dmg = {
offset = 0,
scale = 1,
spread = {x=15, y=5, z=5},
seed = 133742, --a LEET answer to life, the universe, and everything
octaves = 3,
persist = 0.67
}
local wst_dmg_lvl=0.7
Question on the seed, if I'm using the same seed every time, why am I not getting the same noise every time? Should I seed it with the world's seed?
Eventually I need to add a transitional material, some kind of damaged node that would appear around the edges of the holes/cracks. And, of course, I need to be generating the remains of stairs and stairways... lots of work to be done, but thanks to all of your help its coming along!
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Game] Fractured [0.01] [WIP]
The reason you aren't getting the same noise every time is because the seed gets "added" to the world's seed. Hence, it will be the same if you keep BOTH seeds the same, but changing one affects the other.
I'm trying to toy with a few ideas... One thing I noticed is that your tower size isn't directly related to the gap's width. Consider making the gap width in fracrift global, then referencing it from worldstonetower.
I'm trying to toy with a few ideas... One thing I noticed is that your tower size isn't directly related to the gap's width. Consider making the gap width in fracrift global, then referencing it from worldstonetower.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
- paramat
- Developer
- Posts: 3700
- Joined: Sun Oct 28, 2012 00:05
- GitHub: paramat
- IRC: paramat
- Location: UK
Re: [Game] Fractured [0.01] [WIP]
Yeah most seeds in MT are actually 'seeddiffs' added to the world seed.
Where wst_trans_lvl is a little lower than wst_dmg_lvl. Perhaps around 0.5 to 0.6.
Ideally you should have c_ before any node name to show they are content ids.
Code: Select all
if math.abs(nvals_dmg[nixyz]) > wst_dmg_lvl then
data[vi] = c_air
elseif math.abs(nvals_dmg[nixyz]) > wst_trans_lvl then
data[vi] = wst_material_wall_trans
else
data[vi] = wst_material_wall
end
Ideally you should have c_ before any node name to show they are content ids.
Re: [Game] Fractured [0.01] [WIP]
Ideas MOST welcome!HeroOfTheWinds wrote:I'm trying to toy with a few ideas
Oh, absolutely! Just hadn't stopped to do that until I figured out better how to actually MAKE the tower.HeroOfTheWinds wrote: Consider making the gap width in fracrift global,
that makes sense, gotta learn the standards. :)paramat wrote:Ideally you should have c_ before any node name to show they are content ids.
Thank you both very much for th education!
- HeroOfTheWinds
- Member
- Posts: 470
- Joined: Wed Apr 23, 2014 23:16
- GitHub: HeroOfTheWinds
- IRC: WindHero
- Location: Hawaii
Re: [Game] Fractured [0.01] [WIP]
I just made a commit (and pull request) that automatically scales the tower based on the fracture's width, as set in facturerift's init.lua. Here's an example of how it looks with width set to 180:
I also cleaned up some of the content references to use the c_ prefix.
I also cleaned up some of the content references to use the c_ prefix.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
Re: [Game] Fractured [0.01] [WIP]
Merged. And thank you all again so very much for the help and the education! I'm learning a LOT!
- 12Me21
- Member
- Posts: 873
- Joined: Tue Mar 05, 2013 00:36
- GitHub: 12Me21
- Location: (Ignore all of my posts before 2018)
Re: [Game] Fractured [0.01] [WIP]
Why is the tower sideways? If it fell, then why is the base on one side of the fracture?
Re: [Game] Fractured [0.01] [WIP]
Because it fell!12Me21 wrote:Why is the tower sideways?
Because if it had fallen INTO the fracture, which is bottomless, it would be pretty useless. So I went with the rather less probably idea that it was knocked to one side when the world split.If it fell, then why is the base on one side of the fracture?
I am considering moving it down so that it will look like it was stuck part way down and angled up, to the other side. but that will:
a: be less useful for people wanting to get across
b: quite probably will look funny since trying to build cylinders on an angle is possible, but funky in a voxel based world.
but, despite those issues, I'll probably be trying it sometime in the future here.
Re: [Game] Fractured [0.01] [WIP]
What about simulating an explosion like TNT but way bigger. Side problems could be solved that way.
Coding;
1X coding
3X debugging
12X tweaking to be just right
1X coding
3X debugging
12X tweaking to be just right
- 12Me21
- Member
- Posts: 873
- Joined: Tue Mar 05, 2013 00:36
- GitHub: 12Me21
- Location: (Ignore all of my posts before 2018)
Re: [Game] Fractured [0.01] [WIP]
Maybe make the bottom part of the tower (inside the fracture) still standing, and have small pieces of the rest scattered around the blast area, like it was destroyed in an explosion.Kilarin wrote:Because it fell!12Me21 wrote:Why is the tower sideways?
Because if it had fallen INTO the fracture, which is bottomless, it would be pretty useless. So I went with the rather less probably idea that it was knocked to one side when the world split.If it fell, then why is the base on one side of the fracture?
I am considering moving it down so that it will look like it was stuck part way down and angled up, to the other side. but that will:
a: be less useful for people wanting to get across
b: quite probably will look funny since trying to build cylinders on an angle is possible, but funky in a voxel based world.
but, despite those issues, I'll probably be trying it sometime in the future here.
-
- Member
- Posts: 30
- Joined: Mon Aug 25, 2014 17:42
- GitHub: Baggypants
Re: [Game] Fractured [0.01] [WIP]
Nah, easier to change the story, make the world stone fall out of a window and cause the fracture next the tower causing it to topple. Princesses are always mooning about on balconies anyway.Kilarin wrote:Because it fell!12Me21 wrote:Why is the tower sideways?
Because if it had fallen INTO the fracture, which is bottomless, it would be pretty useless. So I went with the rather less probably idea that it was knocked to one side when the world split.If it fell, then why is the base on one side of the fracture?
I am considering moving it down so that it will look like it was stuck part way down and angled up, to the other side. but that will:
a: be less useful for people wanting to get across
b: quite probably will look funny since trying to build cylinders on an angle is possible, but funky in a voxel based world.
but, despite those issues, I'll probably be trying it sometime in the future here.
Re: [Game] Fractured [0.01] [WIP]
Thank you 12ME21 and Baggypants. Some interesting suggestions which I will consider!
Slowly but surely making progress.
https://github.com/Kilarin/fractured/archive/master.zip
New version committed with the following changes:
BlastRadius changed, now levels down to 0 and gradualy steps up or down to meet environment. The result is a much more crater like blast area.
Areas by shadowninja and markers by Sokomine added.
viewtopic.php?id=7239
viewtopic.php?f=11&t=8175
AND, areas will not protect in west! Turned out to be SUPER easy to change that. Unlike no pvp in west, that is HARD. But, there is hope. The roadmap for Mintest version 0.5 includes a way to detect who punched something, I have high hopes for that.
I like the markers mod, but have some changes in mind for it. I want players to be able just mark two corners of an area. And I don't want players to have to put the markers in an exact rectangle. The mod should create an exact rectangle out of the extremes from the markers placed.
I also added my mods: compassgps, bridgetool, explorertoolsall. I will be adding a LOT more mods than this later, of course, just stuck those in because I know I want them and they were handy. :)
viewtopic.php?f=11&t=9373
viewtopic.php?f=11&t=9126
viewtopic.php?f=11&t=9050
I'm experiancing some VERY slow map generation times. Going to have to work on code efficency.
Slowly but surely making progress.
https://github.com/Kilarin/fractured/archive/master.zip
New version committed with the following changes:
BlastRadius changed, now levels down to 0 and gradualy steps up or down to meet environment. The result is a much more crater like blast area.
Areas by shadowninja and markers by Sokomine added.
viewtopic.php?id=7239
viewtopic.php?f=11&t=8175
AND, areas will not protect in west! Turned out to be SUPER easy to change that. Unlike no pvp in west, that is HARD. But, there is hope. The roadmap for Mintest version 0.5 includes a way to detect who punched something, I have high hopes for that.
I like the markers mod, but have some changes in mind for it. I want players to be able just mark two corners of an area. And I don't want players to have to put the markers in an exact rectangle. The mod should create an exact rectangle out of the extremes from the markers placed.
I also added my mods: compassgps, bridgetool, explorertoolsall. I will be adding a LOT more mods than this later, of course, just stuck those in because I know I want them and they were handy. :)
viewtopic.php?f=11&t=9373
viewtopic.php?f=11&t=9126
viewtopic.php?f=11&t=9050
I'm experiancing some VERY slow map generation times. Going to have to work on code efficency.
Code: Select all
[fracrift_ure_gen] chunk minp (-32 48 128)
[fracrift_ure_gen] 1290 ms
[wst_gen] chunk minp (-32 48 128)
[wst_gen] 1189 ms
[newspawn_gen] chunk minp (-32 128 48)
[newspawn_gen] 185 ms
[blast_gen] chunk minp (-32 128 48)
[blast_gen] 208 ms
[wst_gen] chunk minp (-32 128 48)
[wst_gen] 1037 ms
[blast_gen] chunk minp (-32 128 -112)
[blast_gen] 277 ms
- 12Me21
- Member
- Posts: 873
- Joined: Tue Mar 05, 2013 00:36
- GitHub: 12Me21
- Location: (Ignore all of my posts before 2018)
Re: [Game] Fractured [0.01] [WIP]
Be careful with the markers mod. If you place all 4 markers in on top of each other, it will crash the game. It might have the same problem, with 2 markers, but then it would be easier to do.
- Krock
- Developer
- Posts: 4650
- Joined: Thu Oct 03, 2013 07:48
- GitHub: SmallJoker
- Location: Switzerland
- Contact:
Re: [Game] Fractured [0.01] [WIP]
The result of those complex structures is mostly a longer generation time but it makes the world amazing.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>
Who is online
Users browsing this forum: No registered users and 4 guests