mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-20 06:32:56 +00:00
99ca6be8919668db901b18bf1799a87f33c09701
19 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e78996a4f6 |
AI Controller MC Yielding (#87094)
## About The Pull Request AI controllers do not respect their tick limits, behaving as if they need to process all controllers in one tick. This means every time the idle subsystem runs we process 500 controllers at once. This is bad, and induces overtime for free, which sucks. I can't think of a reason we would need to do all this work at once. |
||
|
|
d94676a411 |
ai controllers that fail to make a plan no longer process until theyre able to plan again (#86600)
## About The Pull Request ai controllers that fail planning no longer process until theyre able to plan again. this makes it so /process is called less thus you'll have less AI competing against one another for cpu. also converts idle behaviors into singletons ## Why It's Good For The Game AIs that dont have a plan dont do anything during processing so its better to just make them sit out the cycle instead of draining cpu ## Changelog 🆑 /🆑 |
||
|
|
e0b9be737f |
some ai planning subsystem optimization (#86564)
## About The Pull Request reduces the cost of the planning subsystem. instead of calculating able_to_plan on every fire for every mob, we only calculate it when a mob queues/dequeues a behavior. also converts behavior lists into lists rather than lazylists to reduce the amount of checks we do on process. these are the differences after ran on tracy.  ## Why It's Good For The Game reduces the cost of ai planning subsystem ## Changelog 🆑 /🆑 |
||
|
|
bb70889f6e |
TG Upstream Part 1
3591 individual conflicts Update build.js Update install_node.sh Update byond.js oh my fucking god hat slow huh holy shit we all fall down 2 more I missed 2900 individual conflicts 2700 Individual conflicts replaces yarn file with tg version, bumping us down to 2200-ish Down to 2000 individual conflicts 140 down mmm aaaaaaaaaaaaaaaaaaa not yt 575 soon 900 individual conflicts 600 individual conflicts, 121 file conflicts im not okay 160 across 19 files 29 in 4 files 0 conflicts, compiletime fix time some minor incap stuff missed ticks weird dupe definition stuff missed ticks 2 incap fixes undefs and pie fix Radio update and some extra minor stuff returns a single override no more dupe definitions, 175 compiletime errors Unticked file fix sound and emote stuff honk and more radio stuff |
||
|
|
4c4930c71d | Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit | ||
|
|
97e8c044ed |
[MIRROR] idle basic mobs can plan again (#29351)
* idle basic mobs can plan again * ready --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> |
||
|
|
4273fc9dd9 |
idle basic mobs can plan again (#85348)
## About The Pull Request idled basic mobs now instead of completely shutting off, will be delegated to a much lower priority subsystem to do their planning. ## Why It's Good For The Game Mobs can now perform their functions without needing players to be nearby in a way that doesnt starve other subsystems. this allows animals such as goldgrubs to eat ores, lobstrosities to fish, seedlings to tend plants (and many others) without needing any players nearby ## Changelog 🆑 fix: idle basic mobs will now plan behaviors rather than completely shut down /🆑 |
||
|
|
08d9f59838 |
[NO GBP] Slime AI fixes + prerequisites (newest mirror: makes slimes not idle) (#27470)
* Reworks targeting behavior to fall back onto proximity monitors. Refactors ai cooldowns a bit (#82640) ## About The Pull Request Nother bit ripped out of #79498 [Implements a get_cooldown() proc to get around dumb manual overrides and empower me to optimize the findtarget logic]( |
||
|
|
2429a2821a |
[MIRROR] Fixes AI lag by re-adding idle mode to all AI that was lost with the simple mob to basic mob conversion. (#27296)
Fixes AI lag by re-adding idle mode to all AI that was lost with the simple mob to basic mob conversion. Co-authored-by: Iamgoofball <iamgoofball@gmail.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> |
||
|
|
20c0599ce6 |
Some more mirrors again (#27366)
* Ports additional Felinid ears from Orbstation (#82066) Adds 5 new ear options from Orbstation, originally PRed in lizardqueenlexi/orbstation#360. Sprites by @Or-Fi-S. Big:  Coeurl (FFXIV Miqo'te style):  Fold:  Lynx:  Round:  Also makes it so the code guarantees that custom ears on a felinid actually count as felinid ears and not human ones, as the code wasn't checking properly when preferences were applied. There's probably a cleaner, more permanent way to do this and a refactor is needed somewhere down the line (man that sprite accessories file is getting long huh) but I'll leave that to a more competent coder. More customization options are good also Cobby said I could  🆑 add: Added 5 new Felinid ear options, ported from Orbstation! (Sprites by Or-Fi-S) /🆑 --------- Co-authored-by: _0Steven <jaydondegenerschool@gmail.com> * Standardizes object deconstruction throughout the codebase. (#82280) When it comes to deconstructing an object we have `proc/deconstruct()` & `NO_DECONSTRUCT` Lets talk about the flag first. **Problems with `NO_DECONSTRUCTION`** I know what the comment says on what it should do |
||
|
|
f01035fb27 |
ai controllers use cell trackers to know when to idle (#82691)
## About The Pull Request this makes ai controllers use cell trackers and signals to determine when to idle ## Why It's Good For The Game might be better than looping over all clients for every controller ## Changelog 🆑 code: The way mobs idle has been refactored, please report any issues with non-reactive mobs /🆑 |
||
|
|
e0d335b442 | Fixes AI lag by re-adding idle mode to all AI that was lost with the simple mob to basic mob conversion. (#82539) | ||
|
|
a15a1b88ed |
Basic mobs now use z-level turnoff instead of simple (#82469)
## About The Pull Request On one compile of MetaStation, I saw that there's 45 basic mobs on the station, 256 on lavaland (the number growing from tendrils), and 59 in all other z levels combined. While we do expect Lavaland to be visited every round, at least it won't be running during the times when no one is there, but even more importantly, space exploration is something not done every round, so we don't have any reason to waste our resources on AIs that will never be interacted with. Simple animals had an easy solution to this: If no one is on the Z level, their AI turns off If someone is on the Z level, they are idle unless needed. The last simple animals that exists right now are bots, megafauna, geese, gondolas, and some minor ones like mimic, zombie, dark wizard, soulscythe, etc. Point is, we're very much nearly done going through all simple animals, so this code is being wasted just to ensure things like cleanbots won't work if no one is on the z level, something I doubt happens often, so I took their code and made it work for basic mobs instead. I could've done both but I thought it would look very bad, and maybe this is a good incentivize to get more basic mob conversions. There's one major change here and it's that we're missing the "Idle" mode, some basic mobs like the Lavaland village seems to be made with intent that they'll be running even if players aren't around, so this sets up a future PR that makes idle AI easier to add, and I want to make sure those cases are taken into account. ## Why It's Good For The Game We don't need to always be processing these basic mobs, and sets us in the future to hopefully also implement idle AIs. ## Changelog 🆑 balance: Basic mob AIs with no mobs on the Z level now stop. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
345b2e4732 | [MIRROR] Allows datum AI to create new plans while a plan is still executing [MDB IGNORE] (#17835) | ||
|
|
1b8bd51ec2 |
Allows datum AI to create new plans while a plan is still executing (#71596)
## About The Pull Request In some cases, you need to perform behaviors that can occur ontop of different behaviors. E.g. "I need to continiously spit out foam while moving to a point". If these behaviors are put separetely, it is difficult to determine that the behavior for spitting out foam needs to end. And in the current code, aslong as it has not ended, the plan will never end. So once the AI reaches the point it would stand still at the end and spit out foam unendingly. To work around this I've made it so behaviors can be set to allow planning while they run if they have the AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION flag. If all remaining behaviors on a controller have this flag, a new plan is made. If this plan is the exact same as the plan that was currently being performed, nothing happens. But if the plan is different, the current one is ended and the new plan is executed. This means situations like this are handled gracefully now. This will be required for basic bots. ## Why It's Good For The Game More graceful handling of "continous" behaviors! :) ## Changelog 🆑 Capybara Holly refactor: Allows datum AI to create new plans while a plan is still executing /🆑 Co-authored-by: Capybara <Capybara@CapybaraMailingServices.com> |
||
|
|
a00cad0164 |
[MIRROR] Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) [MDB IGNORE] (#16248)
* Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) * [PR for MIRROR PR] Changes for 16248 (#16277) * Merge skyrat changes, update SR SS's, and remove lobby_eye * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/modules/autotransfer/code/autotransfer.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * restore lobby_cam for now Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> Co-authored-by: Tastyfish <crazychris32@gmail.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
4733643f39 |
Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) (#69775)
* cleanup SS API, give SSlua a proper way to error out * New SS_INIT_ system |
||
|
|
bdc2b2d3c9 |
[MIRROR] Revives PR #58579; Sligh refactor to AI datums that allows for basic support of subtrees (#7214)
* Revives PR #58579; Sligh refactor to AI datums that allows for basic support of subtrees (#60249) Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> Co-authored-by: coiax <yellowbounder@ gmail.com> Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com> Co-authored-by: Rohesie <rohesie@ gmail.com> Co-authored-by: Matthew J. <12817816+ZephyrTFA@ users.noreply.github.com> Co-authored-by: AnturK <AnturK@ users.noreply.github.com> Co-authored-by: Jonathan Rubenstein <jrubcop@ gmail.com> Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com> Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com> Co-authored-by: Fikou <piotrbryla@ onet.pl> Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com> * Revives PR #58579; Sligh refactor to AI datums that allows for basic support of subtrees Co-authored-by: ma44 <guyonleagueoflegends@gmail.com> Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> Co-authored-by: coiax <yellowbounder@ gmail.com> Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com> Co-authored-by: Rohesie <rohesie@ gmail.com> Co-authored-by: Matthew J. <12817816+ZephyrTFA@ users.noreply.github.com> Co-authored-by: AnturK <AnturK@ users.noreply.github.com> Co-authored-by: Jonathan Rubenstein <jrubcop@ gmail.com> Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com> Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com> Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com> Co-authored-by: Fikou <piotrbryla@ onet.pl> Co-authored-by: Emmanuel S. <emmanuelssr@ gmail.com> |
||
|
|
7b5e83e1e9 |
Revives PR #58579; Sligh refactor to AI datums that allows for basic support of subtrees (#60249)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: coiax <yellowbounder@gmail.com> Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Rohesie <rohesie@gmail.com> Co-authored-by: Matthew J. <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: AnturK <AnturK@users.noreply.github.com> Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com> Co-authored-by: Kylerace <kylerlumpkin1@gmail.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com> Co-authored-by: Fikou <piotrbryla@onet.pl> Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com> |