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

Decoupling of subsystems #624

Closed
Tomatower opened this issue Oct 3, 2016 · 3 comments
Closed

Decoupling of subsystems #624

Tomatower opened this issue Oct 3, 2016 · 3 comments
Labels
area: network Has interaction with the network (Internet) area: renderer Concerns our graphics renderer area: simulation Involved in the game mechanics and simulation lang: c++ Done in C++ code to-discuss Idea or suggestion that needs some discussion before implementation

Comments

@Tomatower
Copy link
Contributor

Tomatower commented Oct 3, 2016

Set up the GameState as a dump data store.

The core loop consists of:

  • simulation
  • input events
  • presentation (renderer, sound, gui)
  • network

They all work on the GameState (read/write).

The GameState may carry some information for the subsystem (e.g. Unit objects have some member struct from another subsystem or have a forward-declarated pointer etc), but all the subsystem methods should stay in the subsystems.

@TheJJ TheJJ added lang: c++ Done in C++ code to-discuss Idea or suggestion that needs some discussion before implementation area: network Has interaction with the network (Internet) labels Oct 4, 2016
@TheJJ
Copy link
Member

TheJJ commented Jan 10, 2017

@Vtec234 and I were talking about this in IRC, so I'd continue the discussion in here how we split up the networking, simulation, renderer, input etc.
Related: #287 #286

@TheJJ TheJJ changed the title Better subsystem/gamestate seperation Decoupling of subsystems Jan 10, 2017
@TheJJ
Copy link
Member

TheJJ commented Jan 27, 2017

I added a general architecture draft here: https://github.com/SFTtech/openage/blob/master/doc/architecture.md so please update it with more ideas.

@TheJJ TheJJ added this to the Architecture restructuring milestone May 13, 2017
@Vtec234 Vtec234 mentioned this issue Jun 30, 2018
@TheJJ TheJJ added area: simulation Involved in the game mechanics and simulation area: network Has interaction with the network (Internet) area: renderer Concerns our graphics renderer and removed area: network Has interaction with the network (Internet) labels Dec 8, 2019
@heinezen
Copy link
Member

heinezen commented Sep 8, 2023

This was implemented in #1497 and documented in #1525

@heinezen heinezen closed this as completed Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: network Has interaction with the network (Internet) area: renderer Concerns our graphics renderer area: simulation Involved in the game mechanics and simulation lang: c++ Done in C++ code to-discuss Idea or suggestion that needs some discussion before implementation
Projects
None yet
Development

No branches or pull requests

3 participants