Page 2 of 3

PostPosted: Thu Mar 13, 2014 20:13
by paramat
Gael de Sailly, my 'noise23' example mapgen mod shows how to use the fast 2D perlin noise maps, i have managed to get my head around perlin maps now so if you get stuck i can help out.

PostPosted: Sat Mar 15, 2014 02:13
by paramat
... but then, seeing as your computer time is limited i might convert this to perlin maps myself.

PostPosted: Sat Mar 15, 2014 03:58
by Inocudom
paramat wrote:... but then, seeing as your computer time is limited i might convert this to perlin maps myself.

I think he would very much appreciate that, paramat.

PostPosted: Mon Mar 17, 2014 13:56
by Gael de Sailly
I've tried to convert the ores and trees from set_node() to voxelmanip, but it was not faster. I use the function find_nodes_in_area() to find the places in which ores can be placed, and also for the third step of the mapgen (trees) to find the grass blocks on which trees can grow. And for the grass blocks which are selected to support a tree, it chooses the tree which grows on it according to numerous criteria, including water proximity, for which I use minetest.find_node_near().
So I have to write voxelmanip to the map 3 times :
  • After the base map generation, because ores uses find_nodes_in_area()
  • After the ore generation, because for the water proximity trees uses find_node_near() to detect the sea, and also the mud or water holes, which are generated as ores.
  • And finally after the trees.
I have not thought about perlin maps yet. I use 17 noises in my mapgen. 8 in the function get_elevation() and 9 in the register_on_generated(). I think the slowers are N1 to N4 of the register_on_generated(). They are calculated for each node in 3D to define caves contrary to the others which are calculated for each node in 2D. I will think about minimizing the number of noises and rework the mapgen and especially the function get_elevation().

PostPosted: Mon Mar 17, 2014 15:51
by Inocudom
You could present this mod to Freeminer too, a fork of Minetest:
http://freeminer.org/

PostPosted: Mon Mar 17, 2014 23:15
by paramat
Okay so i converted the main mapgen loop to use perlin maps, much faster now, but still slow, i'll see what i can do about the get elevation function, im going to try a few other improvements.

PostPosted: Tue Mar 18, 2014 00:15
by paramat
Image

PostPosted: Tue Mar 18, 2014 04:14
by paramat
http://www.mediafire.com/download/lyyiw47ou3219w7/forestpm2.zip
Converted everything i could to use perlin maps, so the initial mapgen loop only takes 2-3 seconds per chunk, but the oregen and treegen is still slow, perhaps due to number of trees and complexity of the code, so in total 10 seconds to a minute per chunk.

PostPosted: Tue Mar 18, 2014 16:42
by Krock
paramat wrote:Converted everything i could to use perlin maps, so the initial mapgen loop only takes 2-3 seconds per chunk, but the oregen and treegen is still slow, perhaps due to number of trees and complexity of the code, so in total 10 seconds to a minute per chunk.

Yes, your generation made it faster, but the speed is still at 30s per chunk.
I hope this can get even faster because I like this mod :)

PostPosted: Tue Mar 18, 2014 22:14
by paramat
Okay so ive looked through the rest of the code, i found an abm on water source with chance 3, i changed that to 64. Other than that there's nothing else i can do to speed it up. As far as i can see it is slow due to the complexity of the code, and the use of 'find nodes in area' and 'find node near', these get very slow with even a medium radius, having each tree check for water proximity is awesome but slow :)
Also, i found an abm on group:tree with interval 10 chance 1, not sure what this did, possibly removing floating trees? That might cause a lot of processing i'm going to try disabling that.

PostPosted: Wed Mar 19, 2014 16:14
by Gael de Sailly
Thank you for your contribution, paramat.

paramat wrote:I found an abm on water source

I had forgotten this one ! My code is very untidy. There are remnents of my old codes, and experimental programs like it I have forgotten to delete. You can remove it. I've deleted most of these stuffs when I published my mod, but I retains the original, with all of these codes, disabled or not. I'm going to clean it.
paramat wrote:I found an abm on group:tree with interval 10 chance 1, not sure what this did, possibly removing floating trees?

Yes, it removes floating trees. But it is not very important.

In the near future, I will publish a new version, in which vegetals change their appearance according to the season.

PostPosted: Thu Mar 20, 2014 19:24
by celeron55
Gael de Sailly wrote:So I have to write voxelmanip to the map 3 times :
  • After the base map generation, because ores uses find_nodes_in_area()
  • After the ore generation, because for the water proximity trees uses find_node_near() to detect the sea, and also the mud or water holes, which are generated as ores.
  • And finally after the trees.


Hmm... it should be very well possible to implement a fast find_nodes_in_area and find_node_near to VoxelManipulator. If someone can do a prototype and test its performance for eg. this mod, that would be useful.

PostPosted: Fri Mar 21, 2014 12:02
by Gael de Sailly
Yes, it's a good idea. It will make my mod very faster.

PostPosted: Fri Mar 21, 2014 15:21
by Inocudom
celeron55 wrote:
Gael de Sailly wrote:So I have to write voxelmanip to the map 3 times :
  • After the base map generation, because ores uses find_nodes_in_area()
  • After the ore generation, because for the water proximity trees uses find_node_near() to detect the sea, and also the mud or water holes, which are generated as ores.
  • And finally after the trees.


Hmm... it should be very well possible to implement a fast find_nodes_in_area and find_node_near to VoxelManipulator. If someone can do a prototype and test its performance for eg. this mod, that would be useful.

Celeron55, it is so wonderful to see you giving helpful advice for this mod.

PostPosted: Thu Apr 03, 2014 19:21
by Gael de Sailly
FOREST 1.2 NOW !
The changes are the flowers apportionment and their seasonnal disappearance and appearance.

PostPosted: Thu Apr 03, 2014 21:12
by Inocudom
I sincerely hope that there is a server out there that will kindly host this mapgen, because it really does deserve it.

PostPosted: Sat Apr 05, 2014 17:08
by Inocudom
I think it might be a good idea to change the name of this mod. People are pretty much ignoring it, considering how much attention the bacon mod is getting.

PostPosted: Sun Apr 06, 2014 01:03
by paramat
Don't worry Inocudom, i don't think it is being ignored, it is an impressive mapgen.

Gael de Sailly, i am impressed with your spawn player function that calculates elevation and searches for a good spawn point, this inspired me to do a similar thing in my singlenode version of watershed mapgen, i ended up using the voxelmanip and perlinmaps to generate elevation maps of multiple chunks looking for a good spawnpoint on low land.

PostPosted: Mon Apr 07, 2014 14:36
by philipbenr
Inocudom wrote:I think it might be a good idea to change the name of this mod. People are pretty much ignoring it, considering how much attention the bacon mod is getting.


I think that a lot of mods get attention, but the kinda shall I say stupid (not to be offensive, but really) mods get more attention and posts because it is bizarre. These still get attention. Whenever I see a new post, I almost always click on it :P

PostPosted: Mon Apr 07, 2014 15:07
by rubenwardy
I actually glanced over this mod's title a few times, skipping it. I wish I hadn't, it looks amazing!

PostPosted: Mon Apr 07, 2014 15:27
by Linxx
with this mod the map looks more alive and natural really good :)

PostPosted: Mon Apr 07, 2014 15:31
by rubenwardy
How about

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
[Mod] Forest and related mapgen [forest]


or something like that.

PostPosted: Mon Apr 07, 2014 19:20
by paramat
Tried out the latest version last night, this mapgen has seasons that run in real time, the flowers, snow and ice change through the year. There is a 'clock block' that when placed and pointed at displays time and date on the screen.
Gael de Sailly, what are the 'sand way' 'gravel way' etc. nodes? Mysterious ...

PostPosted: Mon Apr 07, 2014 19:22
by hoodedice
paramat wrote:-snip-


Does it?!

Mod testing scheduled tonight!

PostPosted: Mon Apr 07, 2014 21:34
by Topywo
rubenwardy wrote:I actually glanced over this mod's title a few times, skipping it. I wish I hadn't, it looks amazing!


I tried it out after reading this. It's indeed a beautiful mod.

PostPosted: Tue Apr 08, 2014 14:02
by Gael de Sailly
paramat wrote:Gael de Sailly, what are the 'sand way' 'gravel way' etc. nodes? Mysterious ...

These nodes have raillike drawtype. When you put them on the ground, they connect automatically, like rails. They are decorative and can also help the player to find his way. Try to make a path with sand or gravel ways (the small heaps, in inventory), I think it's very beautiful in forests and... give a pastoral look that I like.

Re: [Mod] Forest

PostPosted: Wed May 21, 2014 05:03
by Inocudom
This fatal error appeared:
01:01:16: ERROR[ConnectionSend]: con(1524/2)RunTimeouts(): Peer 1 has timed out. (source=peer->timeout_counter)
01:01:16: ERROR[main]: ServerError: attempt to index a nil value
01:01:16: ERROR[main]: stack traceback:
01:01:16: ERROR[main]: [C]: in function 'set_node'
01:01:16: ERROR[main]: ...netest-0.4.9-x64-dev20140517\bin\..\mods\forest\init.lua:124: in function <...netest-0.4.9-x64-dev20140517\bin\..\mods\forest\init.lua:107>

Re: [Mod] Forest

PostPosted: Sun May 25, 2014 04:21
by Inocudom
Please consider having this mod support mods that add additional plants and ores to worlds. Below are four great mods that add plants:
https://forum.minetest.net/viewtopic.php?f=9&t=7207-undergrowth modpack
https://forum.minetest.net/viewtopic.php?f=9&t=7143-dryplants modpack
https://forum.minetest.net/viewtopic.php?f=11&t=6921-ferns mod
https://forum.minetest.net/viewtopic.php?f=11&t=3898-plantlife modpack
Doing this task could make your forest mod more customizable and more popular in the end.

To anyone that reads this, how could custom mapgens be capable of such a thing? What would have to be done?

Re: [Mod] Forest

PostPosted: Sun Jun 08, 2014 20:44
by Inocudom
Well, it looks like Gael de Sailly might not be coming back for... Quite some time.

Bas080, Sokomine, and MirceaKitsune, what do you think of this mod? I recommend giving paramat's version of it a try:
http://www.mediafire.com/download/lyyiw47ou3219w7/forestpm2.zip

Re: [Mod] Forest

PostPosted: Mon Jun 09, 2014 00:19
by Sokomine
Inocudom wrote:Bas080, Sokomine, and MirceaKitsune, what do you think of this mod? I recommend giving paramat's version of it a try:
http://www.mediafire.com/download/lyyiw ... estpm2.zip

I can't download from Mediafire as that site is broken. It does require Javascript for something that does not need Javascript.

It would be really nice to have the trees and forrests from this mod/mapgen together with mods like undergrowth etc. - they'd fit together very well. As for the spawning of the trees, perhaps less complex code might also do. Plantslib comes with some code that also spawns saplings for moretree trees (which then grow into those giants).