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

separate game driver, basic controlling logic and strategy #18

Open
Windfisch opened this issue Oct 14, 2018 · 1 comment
Open

separate game driver, basic controlling logic and strategy #18

Windfisch opened this issue Oct 14, 2018 · 1 comment

Comments

@Windfisch
Copy link
Owner

FactorioIO should be a pure callback-driven game driver.

The "basic" logic like Inventory and position tracking, map building, resource patch management and action management (including path planning) should be moved up a layer into one or more separate modules.
E.g. actions should auto-extrapolate the inventory, lag hiding should be performed here.

The scheduler resides another layer up, using actions for crafting, walking and adding "item claims".
Problem: in order to perform item claims, either the basic logic + lua mod need to know about these attributions -> they depend on "Task", or the scheduler needs to maintain these claims separately from the actual inventory -> difficult to avoid race conditions: the inventory update and the claim must be done in the same tick, before (or both after) executing the strategy tick()s

The strategy managers read from the world map and submit tasks to the scheduler

@Windfisch
Copy link
Owner Author

Windfisch commented Oct 20, 2018

beb75e9 and 090617d work towards some separation.

to do: clear subdirectories for the modules, and enforce that separation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant