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

Implement systems #1684

Open
3 of 21 tasks
heinezen opened this issue Aug 25, 2024 · 4 comments
Open
3 of 21 tasks

Implement systems #1684

heinezen opened this issue Aug 25, 2024 · 4 comments
Labels
area: simulation Involved in the game mechanics and simulation big stuff High-impact changes, mainly foundation work lang: c++ Done in C++ code nice new thing ☺ A new feature that was not there before overview Overview of a collection of tasks

Comments

@heinezen
Copy link
Member

heinezen commented Aug 25, 2024

Overview of the necessary gameplay systems that we need to implement:

  • Move
  • Idle
  • Activity
  • Create
  • Research
  • Trade
  • Exchange Resources
  • Transform
  • Gather
  • Restock
  • Drop resources
  • Herd
  • Despawn
  • Apply effect
  • Shoot projectile
  • Transfer storage
  • Collect storage
  • Remove storage
  • Enter container
  • Exit container
  • Send back to task
@heinezen heinezen added nice new thing ☺ A new feature that was not there before lang: c++ Done in C++ code area: simulation Involved in the game mechanics and simulation big stuff High-impact changes, mainly foundation work overview Overview of a collection of tasks labels Aug 25, 2024
@heinezen heinezen moved this from 📋 Backlog to 🏗 In progress in openage game simulation Aug 25, 2024
@jere8184
Copy link
Contributor

jere8184 commented Nov 8, 2024

Can I start trying to implement some of these systems?

@heinezen
Copy link
Member Author

@jere8184 You can but it would involve basically reading all the documentation and then also designing these systems from the ground up, which is not very easy. Just so you know.

I think the easiest systems might be the enter container/exit container systems.

@jere8184
Copy link
Contributor

will the container also be a GameEntity? If so I'm guessing it will need some type of component indicating it is enterable and what type of GameEntity It is able to store?

@heinezen
Copy link
Member Author

heinezen commented Dec 1, 2024

@jere8184 Yes, one game entity has a "container" component, the other game entity has an "enter container" component and then the latter should be able to enter the former.

What type of entities can be stored has to be read from the modpack data via the nyan API, i.e. the component should reference the associated API object (e.g. ability.type.Storage for the container definition). When the container is entered, the system function would figure out if the entering game entity (A) can be stored in the entered game entity's (B) container by reading the container definition of B from the modpack data via the nyan API. If that succeeds, the system would then put A into B.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: simulation Involved in the game mechanics and simulation big stuff High-impact changes, mainly foundation work lang: c++ Done in C++ code nice new thing ☺ A new feature that was not there before overview Overview of a collection of tasks
Projects
Status: 🏗 In progress
Development

No branches or pull requests

2 participants