Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finalize outstanding Sector topics before merge of v2 to develop #3144

Closed
8 tasks
Cervator opened this issue Nov 18, 2017 · 0 comments
Closed
8 tasks

Finalize outstanding Sector topics before merge of v2 to develop #3144

Cervator opened this issue Nov 18, 2017 · 0 comments
Assignees
Labels
Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.

Comments

@Cervator
Copy link
Member

Cervator commented Nov 18, 2017

Akin to #3143, the other large piece of v2.0.0 as it stands right now is @Vizaxo's item on Sectors, which also introduces zones and tweaks at entity scope. While a lot of that item is foundation work for future enhancements like multi-world and truly independent entity + world pools that won't really matter to the current API level there are some outstanding issues and changes that might cause trouble or require follow-ups in the near term that could trigger API violations.

The new behavior tree system (see #3143) came with a bunch of PRs for affected modules so merging everything together should leave nothing broken. But far fewer modules use BT in the first place so being sure everything is fixed is easier than what Sectors and especially the entity scope change may affect. For instance the magic dome in Light & Shadow uses EntityRef.setAlwaysRelevant (in MagicDomeSystem) which changes with Sectors. It does look like that part has been updated and should work now, but I don't think we've gone looking exhaustively for examples.

My v2 test workspace for GSOC didn't really grow to cover a lot of modules beyond what was actively worked for that project, so if nothing else we should try the v2 branch with a lot more modules that may be affected. All the world generator and world plugin modules in particular. Beyond that I'll list some other potential things to review.

  • Try the v2 branch with a variety of world modules or content that uses entities creatively (like the L&S dome or the inspectionTool.prefab from Core) - maybe L&S would be an especially interesting test when combined with BTs and its changes to L&S making the creatures functional again (what happens when they unload or try to pathfind into unloaded chunks? Would they interact any with the dome?)
  • How does the v2 branch interact with https://github.com/Terasology/ModuleTestingEnvironment when sector scope or zones get involved? Can we write some interesting tests?
  • On the related work with DynamicCities there is a reference to Expose growth and planning logic as Events and EventReceivers Terasology/DynamicCities#29 which has a proposed PR feat: expose settlement events Terasology/DynamicCities#31 - is this something we can also merge or does it clash at all (or have hooks we should add as part of) the Sector merge?
  • Clear out the project board of any remaining TODOs and figure out which if any should be done before v2 is finalized
  • A nice extra that could involve collaboration with @arpan98 and/or @nihal111 would be the "deer herd" example using a sector scope entity. That's probably a new thing to do after this issue but at the same time a second example might help us ensure the current architecture won't need to change and break API soon after merge
  • Consider if we can close out the discussion in [Discussion] Sectors Implemenation/API #2976 and if needed turn that into new issues for the future (v3 if needed)
  • Do we have enough related docs and tutorial stuff?
  • Have we tested it enough in multiplayer, like a session with DynamicCities? Could be a candidate for the play test on Dec 2nd

Much like the other big issue like this one (#3143) it may be no action is needed on this before the v2 merge, but we at least should get another round of review in on it so we can be more confident. So marking blocker for the v2 release yet in a mild fashion as it could be a non-issue.

Some reference material:

@Cervator Cervator added API Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Blocker Issue reporting or PR addressing a critical problem that blocks other efforts Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. labels Nov 18, 2017
@Cervator Cervator added this to the v2.0.0 milestone Nov 18, 2017
@Cervator Cervator removed this from the v2.0.0 milestone May 16, 2020
@Cervator Cervator removed the Blocker Issue reporting or PR addressing a critical problem that blocks other efforts label Sep 19, 2020
@skaldarnar skaldarnar removed the Api label May 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.
Projects
None yet
Development

No branches or pull requests

5 participants