Bugs Rule Everywhere Around Me (B.R.E.A.M.)


At night, bugs can hatch out of any patch of unlit dirt. Defend against attacks from all sides.

Tweaks
24 days ago
1.1 - 2.0
587
Combat Enemies
Owner:
StephenB
Source:
https://github.com/StephenBarnes/BREAM
Homepage:
N/A
License:
MIT
Created:
7 months ago
Latest Version:
2.1.1 (24 days ago)
Factorio version:
1.1 - 2.0
Downloaded by:
587 users

This mod spawns bugs in polluted chunks, if there's any place to put them. Bugs will come at your factory from all sides, even if there are no nests inside your pollution cloud. You'll have to wrap your factory with walls, turrets, and lights. The post-artillery game no longer feels like peaceful mode. And if you leave big empty spaces inside your factory, it will not be yours for very long.

If using default settings, biters won't attack railways and rail signals, so you could build your base as a set of well-defended, walled outposts, connected with railroads. For an extra challenge, you can set power poles to "attack on sight", and then try to generate electricity locally in every outpost.

With default settings, BREAM is harder than vanilla, but probably easier than deathworld. Groups of 1-4 bugs will frequently probe your defenses from all sides, and sometimes a larger swarm of 10+ bugs will attack. There are settings to change the difficulty. To make it easier, you can double the "pollution consumption multiplier" setting, which will halve the size of every swarm.

Works with or without Space Age. By default, it spawns planet-appropriate enemies on Nauvis and Gleba. Compatible with Behemoth Enemies which adds behemoth pentapods to Gleba, and compatible with some mods that add new enemy types to Nauvis: Armoured Biters, Toxic Biters, Explosive Biters, and Frost Biters.

I strongly recommend playing with Diurnal Dynamics to make the nights darker and longer, if you're using the option to only get attacks at night. I recommend setting the "peak darkness percent" to 100, evening to 0.35, morning to 0.65, and duration multiplier to 4.

Alternative mod: Endless Enemies by TeabagNation spawns enemies on natural tiles at night, but unlike BREAM the spawns are independent of how much pollution you're creating, instead occurring at time intervals depending on evolution. It also has powerful config options for spawn behavior, including spawning any enemies on any planet.


The conditions for where enemies can spawn are configurable, but by default:

  • There must be some amount of pollution in the chunk, which is partially consumed to create the bugs. The chance of spawning is higher in more polluted chunks.
  • They only spawn at night, presumably because they sleep all day. I don't know, I'm not a bug scientist.
  • They won't spawn close to any lamps, if the lamps are powered. They will attack your lamps on sight.
  • They won't spawn within some distance (default 5) of any buildings, transport belts, or other entities except trees and rocks. So place your buildings closer together to be safe.
  • There is an option to make bugs never spawn on paved tiles (bricks and concrete), but this is disabled by default.
  • They won't spawn close to the player.
  • They won't spawn anywhere they'd be within 100 tiles of 10 other enemies, to prevent overcrowding.
  • They won't spawn on water.

This mod does not alter nest-based spawning. So you can use the usual map settings to turn off enemy nests completely, or turn off enemy expansion, and this mod will spawn bugs independently of that. I've added some settings to change the health and regen of spawners, to help balance your game.

Performance: The default settings haven't had noticeable performance impact in my testing. You might get lag if you change the settings to spawn more bugs onto more chunks.

Balancing: If you've tried the mod and you have opinions about what settings to use, please post in discussion and I'll adjust the defaults.

Mod compatibility

  • Works with or without Space Age.
  • Compatible with Behemoth Enemies, Armoured Biters, Toxic Biters, Explosive Biters, and Frost Biters. The behemoth pentapods will only spawn on Gleba, while all the biter variants will only spawn on Nauvis, by default. The biter variation spawns do not depend on terrain, so e.g. frost biters can spawn anywhere, not only on cold terrain.
  • Other mods that add new enemies probably won't crash, but their new enemies will not appear in swarms spawned by BREAM. You can try to add compatibility for them here.
  • Rampant is not compatible. Rampant adds new enemy types and new AI. For the new enemy types, I haven't added support yet, so this mod will not spawn them. The AI also might be incompatible - when testing with Rampant I saw many of the enemies spawned by BREAM just standing completely still, so that might be some kind of error.

Things to fix/add

Feel free to suggest new features in the discussions tab. Pull requests are also welcome.

  • Add a setting to also sometimes create spawners, instead of just enemy swarms.
  • Add an option to multiply the power costs of all lamps (including steam/burner) by a configurable number, so it's not feasible to cover your whole pollution cloud with lights.
  • The mod tries to spawn bugs in "attack mode", but sometimes they can't find anything nearby to attack, so they'll just sort of wander around, until you come close enough to aggro them. So maybe add an option to only spawn when there's something to attack nearby. Or maybe BREAM should keep track of the bugs it spawns, and convert them back into pollution if they're too lazy to attack anything.
  • Change this mod so that it can actually soak up pollution from a chunk over time. Keep track of a list of chunks where you're gradually soaking up pollution, then when you've accumulated enough pollution, use it to make one big swarm.
  • Currently this mod includes settings to make lamps, railways, etc. immune to bugs. This functionality should rather be factored out into a separate mod. That mod should also have a shortcut key to look through all entities on all surfaces and re-apply the destructibility rules, in case options are changed partway through a game.

Why would you want BREAM-style spawning?

The original intention of this mod was to change Factorio combat to be more in line with the rest of the game. Factorio is not a twin-stick shooter or a chore simulator, it's a game about logistics and automation, so combat should be about logistics and automation. Once defenses are set up, there should be no need for regular chores (like clearing out nests that have expanded too close) and no opportunity to do chores to make the logistical challenge easier (like driving out to the edges of your pollution cloud to kill nests). BREAM-style spawning solves those issues. Vanilla has some tools that solve this (like artillery turrets and spidertrons) but they only become available in the late game.

On top of the rote manual work, vanilla-style spawning is unsatisfying in several ways. It feels cheesy to fight bases by carrying around 150 turrets in your pocket. It's fun to set up thorough defences all around your base, with a belt to automatically feed ammo into turrets, but in vanilla that's a waste of time because you know what direction the enemies will come from; with BREAM, you'll no longer know. Many people like playing with high water coverage so they have reason to use mods like Cargo Ships, but with vanilla-style enemy spawning that exacerbates all these issues because the water shields you from enemies, so you can often leave whole sides of your factory undefended, or clear all bases off your starting island and be completely safe.