Page 1 of 2

[MOD 0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 8:02 am
by Strontium
Toxic Jungle

Info:
  • Name: toxic-jungle
  • Latest Release: v0.0.2, March 31, 2016
  • Factorio Version: 0.12.x
  • Download:
    toxic-jungle_0.0.2.zip
    (2.05 KiB) Downloaded 1398 times
  • License: None. Just don't call it yours.
  • Tags: Challenge

screenshot
This mod places trees wherever there is nothing blocking them, creating for an interesting challenge. Inspired by this thread on the Factorio subreddit.

For this to be any fun, it's recommend to use this settings:
Enemy bases: very low frequency, very large size, regular richness
All resources: very high frequency, medium size, regular richness

New in 0.0.2:
You can control tree density by changing the "tree_chance" variable in control.lua
Default tree density set to 0.6
Performance tweaks thanks to Afforess

Re: [0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 8:09 am
by seronis
Slightly disappointed. Came here hoping for a wind glider and Ohm npcs.

Re: [0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 6:42 pm
by Murlocking
Does it work on old maps?

And if it doesn't, can you think of anyway to have the mod retro-gen (via commands)?
I don't think it should be that much trouble, you can probably take an example at Bob's Ores, he has a command integrated that allows him to retrogen the ores after a map has been created!

I really like the idea and the challenge behind this mod!

Also help with the pollution if you plan your base correctly :)

Re: [0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 6:48 pm
by Ratzap
I know people who will take one look at this and whimper ;) Mind you, together with explosive termites this would be a great fireworks show.

Might give it a try sometime.

Re: [0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 7:24 pm
by Strontium
Murlocking wrote:Does it work on old maps?

And if it doesn't, can you think of anyway to have the mod retro-gen (via commands)?
I don't think it should be that much trouble, you can probably take an example at Bob's Ores, he has a command integrated that allows him to retrogen the ores after a map has been created!

I really like the idea and the challenge behind this mod!

Also help with the pollution if you plan your base correctly :)
You can add this to old maps, and it will start working on new chunks as you generate them.

Retrogen would be very laggy and take a long time, judging by the amount of lag it already adds to the world generation. I'll try it anyways, though.

Re: [0.12.x] Toxic Jungle

Posted: Sun Mar 27, 2016 8:21 pm
by Murlocking
Strontium wrote:
Murlocking wrote:Does it work on old maps?

And if it doesn't, can you think of anyway to have the mod retro-gen (via commands)?
I don't think it should be that much trouble, you can probably take an example at Bob's Ores, he has a command integrated that allows him to retrogen the ores after a map has been created!

I really like the idea and the challenge behind this mod!

Also help with the pollution if you plan your base correctly :)
You can add this to old maps, and it will start working on new chunks as you generate them.

Retrogen would be very laggy and take a long time, judging by the amount of lag it already adds to the world generation. I'll try it anyways, though.
I don't mind about lags during world generation :)
I played Minecraft for 6 years, haha!

Thanks for the quick reply!

Re: [0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 1:48 am
by seronis
If you want to retro gen forrest look at the wiki page for console commands. There is an example that gives code you can copy/paste that will create a field of ore deposits. You should be able to alter the entity spawned with trees to get the retro gen effect you want.

Re: [0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 1:43 pm
by Murlocking
seronis wrote:If you want to retro gen forrest look at the wiki page for console commands. There is an example that gives code you can copy/paste that will create a field of ore deposits. You should be able to alter the entity spawned with trees to get the retro gen effect you want.
That would only spawn one kind of trees tho and would probably destroy my base since trees have a collision box and are entities while ores are tiles and have no collision box.

Re: [MOD 0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 1:48 pm
by seronis
Any retroactive forest generation is gonna lock in your base though, so thats not really an issue. And if you want different trees then just do that. Grab a random number in the range of the number of trees and use that to choose a tree for placement.

Re: [MOD 0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 2:07 pm
by Murlocking
seronis wrote:Any retroactive forest generation is gonna lock in your base though, so thats not really an issue. And if you want different trees then just do that. Grab a random number in the range of the number of trees and use that to choose a tree for placement.
You can easily omit an area centered around the player with a script.
Via command it might be more complex.

I'll still try it and see if it replace any of my factories or belts..
I never spawned anything else than ores so not totally sure about it..

Re: [MOD 0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 6:13 pm
by Ratzap
I started a game with this and your settings and it actually comes across as a good challenge. The one thing that most players take for granted simply isn't available: space.

Re: [MOD 0.12.x] Toxic Jungle

Posted: Mon Mar 28, 2016 9:24 pm
by Afforess
I'd comment on Github, but there doesn't seem to be one. This mod can be improved slightly to provide a bit faster wgen:

Code: Select all

function generate_trees(event)
  local surface = event.surface
  -- bottom left of the chunk
  minx = event.area.left_top.x
  miny = event.area.left_top.y
  
  -- bottom right of the chunk
  maxx = event.area.right_bottom.x
  maxy = event.area.right_bottom.y

  -- iterate left to right
  for x = minx, maxx do
  
    -- iterate up to down
    for y = miny, maxy do
      
      -- chose random tree type
      tree_type = trees[math.random(1, #trees)]
      
      -- spawn tree
      if surface.can_place_entity{name = tree_type, position = {x, y}} then
        surface.create_entity{name = tree_type, position = {x, y}}
      end
    end
  end
end
Just my 2¢

Hardcoding this to game.get_surface(1) is bad for two reasons:
  • Looking up a variable in a loop instead of storing it in a variable outside a loop is bad for performance
  • Ignoring the surface from the event means this will break any games with multiple surfaces

Re: [MOD 0.12.x] Toxic Jungle

Posted: Tue Mar 29, 2016 2:11 pm
by Florian1024
Incredibly fun with Eco_tree mod :lol:

Re: [MOD 0.12.x] Toxic Jungle

Posted: Thu Mar 31, 2016 2:41 pm
by donkeystealing
How does this and your settings work with RSO?

Re: [MOD 0.12.x] Toxic Jungle

Posted: Thu Mar 31, 2016 5:42 pm
by Ratzap
donkeystealing wrote:How does this and your settings work with RSO?
Not very well I would imagine unless you like pain. This is the radar view from my game using his exact settings

Image

RSO would move all the ore patches outside the start area miles away, out past the ring of biters into even more biters. FARL would clear the trees as it goes but manually laying tracks would be horrific. Just clearing that base area (with the help of 200ish grenades) and burning wood for 12 play hours left me with 22,000 raw wood. RSO with this would be a really bad idea unless you tinker the RSO settings to put stuff closer, in which case there's not a lot of point using it.

Re: [MOD 0.12.x] Toxic Jungle

Posted: Thu Mar 31, 2016 6:01 pm
by orzelek
You can always get explosive termites mod. It defeats the point of this one a bit tho ;)

Re: [MOD 0.12.x] Toxic Jungle

Posted: Thu Mar 31, 2016 9:01 pm
by Strontium
I've released 0.0.2, which adds a density config to control.lua and some performance tweaks. More info in OP. The retrogen stuff will still come some day.
Afforess wrote:I'd comment on Github, but there doesn't seem to be one. This mod can be improved slightly to provide a bit faster wgen:

Code: Select all

function generate_trees(event)
  local surface = event.surface
  -- bottom left of the chunk
  minx = event.area.left_top.x
  miny = event.area.left_top.y
  
  -- bottom right of the chunk
  maxx = event.area.right_bottom.x
  maxy = event.area.right_bottom.y

  -- iterate left to right
  for x = minx, maxx do
  
    -- iterate up to down
    for y = miny, maxy do
      
      -- chose random tree type
      tree_type = trees[math.random(1, #trees)]
      
      -- spawn tree
      if surface.can_place_entity{name = tree_type, position = {x, y}} then
        surface.create_entity{name = tree_type, position = {x, y}}
      end
    end
  end
end
Just my 2¢

Hardcoding this to game.get_surface(1) is bad for two reasons:
  • Looking up a variable in a loop instead of storing it in a variable outside a loop is bad for performance
  • Ignoring the surface from the event means this will break any games with multiple surfaces
Thank you :)

Re: [MOD 0.12.x] Toxic Jungle

Posted: Tue Apr 05, 2016 9:02 pm
by Factorio2016
Need a visualization of the paths that cut through. :)
Can increase the strength of the axes? :)

P. S. the Idea is interesting, but only as a challenge for the player when he got tired of all the other mods.
Need a lot of time and a lot to cut down trees. :(

Idea: add to the original game the biome with such forests. :) To diversify the monotony.

Re: [MOD 0.12.x] Toxic Jungle

Posted: Sat Apr 09, 2016 10:43 am
by ritonlajoie
Hi guys

I'm trying this beautiful mod.
I wonder, it seems the trees everywhere won't let bitters attack me. Is there a way to change this ?
Cutting trees is nice, but if having trees everywhere around me = never getting attacked, I wonder how...
I tried changing the 'chance' setting, but it's not helping :p

Re: [MOD 0.12.x] Toxic Jungle

Posted: Mon Apr 11, 2016 6:29 pm
by TieSoul
Oh wow, this mod looks absolutely horrifying. I hate it.



I'll try it soon, nice mod.