Boundless Wiki

I’m was about to write article about mobs and tools, but next update will change a lot of it with skills, so I’m waiting for to release, to re-test stuff before publishing int the wiki.

4 Likes

I’m all for helping to contribute! :slight_smile: :gift::boundless:

5 Likes

@luke-turbulenz Many articles will be made with information got by testing stuff around, but what kinda information can the dev team provide to fill up the wikia? For exemple, can you guys provide shots of the blocks with diferent color types (without ingame ambient light and other interference)?

2 Likes

Fire questions our way by all means and let us know if we need to review an article. Images can be taken by players in the game but the 2D images, well, boundlesscrafting.com is already doing an excellent job when it comes to getting images of items, etc from the game.

The wiki would benefit from articles about features in the game and how they work. For example, how do warps work and how do beacons work, etc.

6 Likes

Well, I’m don’t know if you are allowed to give us these information, but… Here I go:

  • How mob spawn/despawn work?
  • Which blocks can mobs spawn?
  • There’s a mob cap?
  • What’s the relation between mob agro/deagro and walking speed and player distance?
  • What’s the default walking speed?
  • How does world regen “timer” work?
  • How does mineral distribution work with world regen?
  • ARE WORLDS FLAT?

I’ve been testing a lot to know all that stuff, but I still without “verified” values. Actually it’s pretty fun to do some science, but maybe the gods of this universe can show us some answers.

2 Likes
  • Mobs spawn on world surface outside of beacon. Here is not special rules for this. They despawn after some time nobody near.
  • Here isn’t special blocks for mob spawn.
  • When you come closer, passive mobs can be provocated. Agressive mobs (Spitters and Cuttletrunks) will attack you anyway if they can see you.
  • Slow.
  • Many peoples talking about 8 hours of inactivity, but I don’t sure about it. Blocks regenerate all time but not so fast.
  • It’s interesting question. When rocks/glaciers regenerate, they have a chance to spawn resources.

I really appreciate you answered but they are not precise information.

  • What’s considered the surface of the world? Just the highest block? Because mobs can spawn in blocks that players placed. Mobs seems to not spawn on/under/in water too.
  • Sure, but I need values, I tried to track them down, but them I realise it changes with player speed. In “normal” speed agressive mobs seems to agro at 15 blocks distance and deagro at 30 blocks. And seems high values do not apply to deagro mobs.
  • I dig blocks near my “away from civilization” plot in Alturnik 8 hrs later it had not regenerated, waited more 12 hrs and still nothing… It regenerated after 2 days or something like that. It was near my plot, so maybe plot distance does influence word regen.

I was expecting something like “Mobs spawn each 15 min, X to Y blocks away from the player and aways above sea level. They do not spawn on leaves, rocks and minerals”.

That’s why I’m not sure if devs will be able to share this kind of information.

1 Like

At the moment, this kind of information is also still very much a work-in-progress and probably will be liable to change with each balance pass.

2 Likes

Don’t you know living creatures don’t spawn? They breed. You need to find their lair, find out their mating behaviors andyou will see. :wink:

EDIT: and sometime different species crossbreed - like spitter and cuttletrunk - do you know what is born of such an unholy union?
Titans :scream:

5 Likes

Kill it with lava!

6 Likes

I agree what we need some answers. Unfortunately we lost so important now chain link as @Faelan. We need somebody who can ask problematic question on a brunch, because James and @luke-turbulenz are very busy by building the game most beautiful way.

But I insist we not need in precise amounts. For wiki we must have only understanding of general laws lines. I mean IRL you cannot just say “Dear Lord, please tell me a rule how molecular connection works”

3 Likes

That was my point in my previous posts, you gotta start somewhere, it does not have to be pixel perfect. It’s easy to correct once we get precise info. I was looking into game files yesterday, I think there are some values there for those distances, haven’t had much time to research.

2 Likes

I couldn’t find any information about that. There’s just user settings, scripts used to run npcs in the trailer and values for world gen in the world edit.

One thing I do know, is that creatures are currently set to spawn at a rate of 7 creatures to 1 player entity - this could change though as more fine tuning is carried out;

1 Like

This is most likely info you need about distance at which creatures get aggressive etc.

D:\SteamLibrary\steamapps\common\Boundless\assets\archetypes\aiarchetypes.json formatted:

	{
		"testTarget": {
			"race": 7,
			"targetRange": 15,
			"targetBreakRange": 20,
			"states": [{
				"id": 1,
				"next": 1,
				"transitions": []
			}]
		},
		"wildstock": {
			"race": 0,
			"targetRange": 6,
			"targetBreakRange": 30,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 10,
			"deadState": {
				"id": 35,
				"timeUntilDropsAvailable": 0.5
			},
			"states": [{
				"id": 2,
				"transitions": [17, 3],
				"wanderTime": 2,
				"waitTime": 6,
				"disableJumping": false,
				"effects": ["livestock_breathe", "livestock_call"]
			}, {
				"id": 3,
				"next": 2,
				"transitions": [17, 10, 2]
			}, {
				"id": 10,
				"next": 13,
				"transitions": [17],
				"chargeRange": 7,
				"prepareTime": 1,
				"effect": "livestock_attack"
			}, {
				"id": 13,
				"next": 12,
				"transitions": [17, 14],
				"chargeSpeed": 6,
				"chargeDistance": 11
			}, {
				"id": 14,
				"next": 3,
				"transitions": [17],
				"meleeRange": 3.75,
				"startupTime": 0.2,
				"recoveryTime": 2,
				"damageStruct": {
					"knockBack": 10,
					"knockUp": 10
				}
			}, {
				"id": 12,
				"next": 3,
				"transitions": [17],
				"recoveryTime": 2
			}, {
				"id": 16,
				"next": 3,
				"transitions": [17, 16],
				"highHealthTime": 0.866,
				"lowHealthTime": 1.033,
				"highHealthEffect": "livestock_spotted_target",
				"lowHealthEffect": "livestock_pain"
			}, {
				"id": 17,
				"next": 3
			}]
		},
		"wildstockAttack": {
			"race": 0,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "CHARGE_ATTACK_RECOVER",
					"count": 100
				}]
			}]
		},
		"wildstockIdle": {
			"race": 0,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "IDLE",
					"count": 100
				}]
			}]
		},
		"wildstockGraze": {
			"race": 0,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "MELEE_ATTACK",
					"count": 100
				}]
			}]
		},
		"wildstockCall": {
			"race": 0,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": true,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "MELEE_ATTACK",
					"count": 5
				}, {
					"creatureActionState": "TEST_ANIMATION_2"
				}]
			}]
		},
		"wildstockServerAnimationTest": {
			"race": 0,
			"targetRange": 6,
			"targetBreakRange": 10,
			"states": [{
				"id": 25,
				"next": 23,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "TEST_ANIMATION_1"
				}]
			}, {
				"id": 23,
				"next": 25,
				"transitions": [],
				"pauseBeforeReset": 1,
				"pauseAfterReset": 1
			}]
		},
		"roadrunner": {
			"race": 2,
			"targetRange": 40,
			"targetBreakRange": 45,
			"states": [{
				"id": 2,
				"transitions": [17, 7],
				"wanderTime": 2,
				"waitTime": 6,
				"disableJumping": false
			}, {
				"id": 7,
				"next": 22,
				"transitions": [17, 22],
				"secondsBeforeFastFlee": 1.5
			}, {
				"id": 22,
				"next": 2,
				"transitions": [17, 7],
				"wearyTime": 2,
				"disableJumping": false,
				"running": true
			}, {
				"id": 16,
				"next": 7,
				"transitions": [17, 16],
				"highHealthTime": 0.866,
				"lowHealthTime": 1.033
			}, {
				"id": 17,
				"next": 7
			}]
		},
		"roadrunnerRun": {
			"race": 2,
			"targetRange": 0.5,
			"targetBreakRange": 30,
			"states": [{
				"id": 2,
				"transitions": [17, 7],
				"wanderTime": 0,
				"waitTime": 6.5,
				"disableJumping": false
			}, {
				"id": 7,
				"next": 22,
				"transitions": [17, 22],
				"secondsBeforeFastFlee": 1.7,
				"fastFleeSpeed": 18
			}, {
				"id": 22,
				"next": 2,
				"transitions": [17, 7],
				"wearyTime": 2,
				"disableJumping": false,
				"running": true
			}, {
				"id": 16,
				"next": 7,
				"transitions": [17, 16],
				"highHealthTime": 0.866,
				"lowHealthTime": 1.033
			}, {
				"id": 17,
				"next": 7
			}]
		},
		"hopper": {
			"race": 3,
			"targetRange": 15,
			"targetBreakRange": 20,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 12,
			"states": [{
				"id": 26,
				"transitions": [27, "HidePassive"],
				"waitTimeMin": 3,
				"waitTimeMax": 7,
				"pauseTime": 1,
				"maxJumps": 12
			}, {
				"name": "HidePassive",
				"id": 29,
				"transitions": [],
				"next": 26,
				"hideHealthScale": 0.2,
				"hostile": false
			}, {
				"name": "HideHostile",
				"id": 29,
				"transitions": [],
				"next": 28,
				"hideHealthScale": 0.2,
				"hostile": true
			}, {
				"id": 27,
				"transitions": [26, "HidePassive"],
				"next": 28
			}, {
				"id": 28,
				"transitions": [26, "HideHostile"],
				"next": 26,
				"waitTimeMin": 0.3,
				"waitTimeMax": 0.5,
				"pauseTime": 0.1,
				"maxJumps": 5,
				"hostileEffect": "hopper_steam",
				"explodeEffect": "explosion_default_hit",
				"explodeTriggerDistance": 2.5,
				"explodeReachY": 1.7
			}]
		},
		"hopperHop": {
			"race": 3,
			"targetRange": 0.5,
			"targetBreakRange": 20,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 12,
			"states": [{
				"id": 29,
				"transitions": [26],
				"next": 26,
				"hideHealthScale": 0.2,
				"hostile": false
			}, {
				"id": 26,
				"transitions": [27, 29],
				"waitTimeMin": 3,
				"waitTimeMax": 7,
				"pauseTime": 1,
				"maxJumps": 3
			}, {
				"id": 27,
				"transitions": [26],
				"next": 28
			}, {
				"id": 28,
				"transitions": [26],
				"next": 26,
				"waitTimeMin": 0.3,
				"waitTimeMax": 0.5,
				"pauseTime": 0.1,
				"maxJumps": 5,
				"explodeEffect": "explosion_default_hit",
				"explodeTriggerDistance": 2.5,
				"explodeReachY": 1.7
			}]
		},
		"hopperIdle": {
			"race": 3,
			"targetRange": 15,
			"targetBreakRange": 20,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 12,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "IDLE"
				}]
			}]
		},
		"spitter": {
			"race": 1,
			"targetRange": 15,
			"targetBreakRange": 30,
			"strafeToFaceTarget": true,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 2,
				"transitions": [17, 3, 19],
				"wanderTime": 3.5,
				"waitTime": 6,
				"running": true,
				"steering": true,
				"disableJumping": false
			}, {
				"id": 3,
				"next": 2,
				"transitions": [17, 4, 2]
			}, {
				"id": 4,
				"transitions": [17, 8, 2],
				"next": 3,
				"maxRange": 9.5
			}, {
				"id": 8,
				"next": 5,
				"transitions": [17],
				"attackRange": 10,
				"projectileSpeed": 20,
				"startupTime": 0.2,
				"recoveryTime": 1
			}, {
				"id": 5,
				"next": 6,
				"transitions": [17],
				"dodgeTime": 1,
				"dodgeSpeed": 2.5
			}, {
				"id": 6,
				"next": 3,
				"transitions": [17],
				"recoveryTime": 1
			}, {
				"id": 19,
				"next": 20,
				"transitions": [17],
				"startupTime": 1.6
			}, {
				"id": 20,
				"next": 21,
				"transitions": [17],
				"reloadTime": 2.033
			}, {
				"id": 21,
				"next": 3,
				"transitions": [17],
				"recoveryTime": 0.6
			}, {
				"id": 16,
				"next": 3,
				"transitions": [17, 16],
				"highHealthTime": 0.833,
				"lowHealthTime": 2.5
			}, {
				"id": 17,
				"next": 3
			}]
		},
		"spitterIdle": {
			"race": 1,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "IDLE"
				}]
			}]
		},
		"spitterIdleBreathe": {
			"race": 1,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "TEST_ANIMATION_2"
				}]
			}]
		},
		"spitterFeed": {
			"race": 1,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "RELOAD_IN"
				}, {
					"creatureActionState": "RELOAD_LOOP",
					"count": 5
				}, {
					"creatureActionState": "RELOAD_OUT"
				}]
			}]
		},
		"cuttletrunk": {
			"race": 6,
			"targetRange": 20,
			"targetBreakRange": 35,
			"strafeToFaceTarget": true,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 20,
			"deadState": {
				"id": 31
			},
			"states": [{
				"id": 15,
				"next": "Movement"
			}, {
				"name": "StartPullAttack",
				"id": 37,
				"states": [36],
				"next": "PullAttackIn"
			}, {
				"name": "PullAttackIn",
				"id": 25,
				"next": 36,
				"sequence": [{
					"creatureActionState": "DRAG_IN"
				}]
			}, {
				"id": 36,
				"next": "PullAttackOut"
			}, {
				"name": "PullAttackOut",
				"id": 25,
				"next": "Combat",
				"sequence": [{
					"creatureActionState": "DRAG_OUT"
				}]
			}, {
				"name": "Movement",
				"id": 32,
				"next": 1,
				"transitions": [],
				"selection": [{
					"id": 30,
					"chance": 0.75
				}, {
					"id": 1,
					"chance": 0.25
				}],
				"reselectionBias": 0.75
			}, {
				"name": "Combat",
				"id": 32,
				"transitions": [],
				"next": "Movement",
				"selection": [{
					"id": "StartPullAttack",
					"chance": 0.05
				}, {
					"id": 8,
					"chance": 0.25
				}, {
					"id": 5,
					"chance": 0.2
				}, {
					"id": 33,
					"chance": 0.6
				}, {
					"id": 34,
					"chance": 0.3
				}],
				"reselectionBias": 0.6
			}, {
				"id": 1,
				"next": "Movement",
				"transitions": ["Combat"],
				"durationMin": 2,
				"durationMax": 5
			}, {
				"id": 30,
				"next": "Movement",
				"transitions": ["Combat"],
				"wanderTimeMin": 1.5,
				"wanderTimeMax": 4.5,
				"running": true,
				"steering": true,
				"targetAltitudeMin": 6,
				"targetAltitudeMax": 9
			}, {
				"id": 3,
				"next": "Movement",
				"transitions": [4, "Movement"],
				"chaseRangeMin": 15,
				"targetAltitude": 6
			}, {
				"id": 4,
				"transitions": ["Combat", 3, "Movement"],
				"next": 3,
				"maxRange": 15
			}, {
				"id": 33,
				"next": "Combat",
				"transitions": [3],
				"targetAltitudeMin": 5,
				"targetAltitudeMax": 7
			}, {
				"id": 34,
				"next": "Combat",
				"transitions": [3],
				"altitude": 6,
				"speed": 16,
				"relativeTo": "position",
				"minFlankAngle": -45,
				"maxFlankAngle": 45,
				"flankDistance": 10,
				"minTimeBetweenFlanks": 6,
				"recoveryTime": 1
			}, {
				"id": 8,
				"next": "Combat",
				"transitions": [],
				"attackRange": 20,
				"projectileSpeed": 20,
				"startupTime": 0.2,
				"recoveryTime": 1
			}, {
				"id": 5,
				"next": 6,
				"transitions": [],
				"dodgeTime": 1,
				"dodgeSpeed": 2.5
			}, {
				"id": 6,
				"next": "Combat",
				"transitions": [3],
				"recoveryTime": 0.5
			}, {
				"id": 16,
				"next": 3,
				"transitions": [16],
				"highHealthTime": 0.833,
				"lowHealthTime": 2.5
			}]
		},
		"cuttletrunkDragTest": {
			"race": 6,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": true,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 15,
				"next": 25
			}, {
				"id": 25,
				"next": 15,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "DRAG_IN"
				}, {
					"creatureActionState": "DRAG_LOOP",
					"count": 10
				}, {
					"creatureActionState": "DRAG_OUT"
				}]
			}]
		},
		"cuttletrunkIdle": {
			"race": 6,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 15,
				"next": 25
			}, {
				"id": 25,
				"next": 15,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "IDLE"
				}]
			}]
		},
		"cuttletrunkFigureEight": {
			"race": 6,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 15,
				"next": 25
			}, {
				"id": 25,
				"next": 15,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "TEST_ANIMATION_1"
				}]
			}]
		},
		"cuttletrunkMoveForward": {
			"race": 6,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"wanderToPlayerWeighting": 1,
			"states": [{
				"id": 15,
				"next": 25
			}, {
				"id": 25,
				"next": 15,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "TEST_ANIMATION_2"
				}]
			}]
		},
		"hunter": {
			"race": 5,
			"targetRange": 30,
			"targetBreakRange": 50,
			"wanderToPlayerWeighting": 0.4,
			"wanderToPlayerMinDistance": 10,
			"states": [{
				"id": 3,
				"transitions": [17],
				"next": 3,
				"animRate": 3
			}, {
				"id": 16,
				"next": 3,
				"transitions": [17, 16],
				"highHealthTime": 0.866,
				"lowHealthTime": 1.033,
				"highHealthEffect": "livestock_spotted_target",
				"lowHealthEffect": "livestock_pain"
			}, {
				"id": 17,
				"next": 3
			}]
		},
		"hunter_static": {
			"race": 5,
			"states": [{
				"id": 1,
				"next": 1,
				"transitions": [17]
			}, {
				"id": 17,
				"next": 3
			}]
		},
		"groundBasher": {
			"race": 4,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": true,
			"states": [{
				"id": 2,
				"transitions": [17, 3],
				"wanderTime": 2,
				"waitTime": 6,
				"disableJumping": false
			}, {
				"id": 3,
				"next": 2,
				"transitions": [17, 9, 2]
			}, {
				"id": 9,
				"next": 3,
				"meleeRange": 3,
				"damageStruct": {
					"knockBack": 10,
					"knockUp": 10
				},
				"prepareTime": 1.5,
				"recoveryTime": 2
			}, {
				"id": 16,
				"next": 3,
				"transitions": [17, 16],
				"highHealthTime": 0.866,
				"lowHealthTime": 1.033,
				"highHealthEffect": "livestock_spotted_target",
				"lowHealthEffect": "livestock_pain"
			}, {
				"id": 17,
				"next": 3
			}]
		},
		"groundBasherStaticMelee": {
			"race": 4,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": true,
			"states": [{
				"id": 25,
				"next": 1,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "HITSTUN_HIGH_HEALTH"
				}, {
					"creatureActionState": "RAGE"
				}, {
					"creatureActionState": "MELEE_ATTACK"
				}]
			}, {
				"id": 1,
				"next": 25,
				"transitions": []
			}]
		},
		"groundBasherIdle": {
			"race": 4,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "IDLE"
				}]
			}]
		},
		"groundBasherIdleBreathe": {
			"race": 4,
			"targetRange": 15,
			"targetBreakRange": 20,
			"strafeToFaceTarget": false,
			"states": [{
				"id": 25,
				"next": 25,
				"transitions": [],
				"sequence": [{
					"creatureActionState": "TEST_ANIMATION_1"
				}]
			}]
		}
	}

In other files in same directory there are some spawning configs. I’m not sure if this is actually used in game, but I guess it is since it’s still in game directory :smiley:

3 Likes

Started to write which recipe skill gives which items, etc. Will add when ready

2 Likes

Thanks Spoygg. I totally skiped this file

1 Like

Ok, I dont need to work with this anymore. :smile:

3 Likes

Can someone search in the game files for the skill point requirements (or the multiplier) for skills in each tree? Pretty please? :blush:

2 Likes

@Kawwak What exactly do you mean?