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

Engine docs update #1525

Merged
merged 49 commits into from Sep 5, 2023
Merged

Engine docs update #1525

merged 49 commits into from Sep 5, 2023

Conversation

heinezen
Copy link
Member

@heinezen heinezen commented Jul 29, 2023

Updates the engine docs for the next release and does some minor refactoring.

  • New
    • Curves
    • Event System
    • Time management
    • Game Simulation
      • Activity
      • Components
      • Systems
    • How-to for running the engine
    • How-to for optimizing code
  • Updated
    • README
    • openage nyan API interface
    • How-to for converting game assets
    • Development workflow
    • Contributing guide
    • Testing guide
    • Release guide
    • Project structure
    • Code architecture
  • Removed
    • nyan examples (there's a lot of them in the nyan repo)
    • milestones (it's not like they had any significance for a long time)
    • terrain code docs (obsolete with new renderer)
    • pathfinding (unused and reimplementation will likely be very different)

@heinezen heinezen added the documentation Involves the project documentation label Jul 29, 2023
@heinezen heinezen marked this pull request as draft July 30, 2023 11:17
@heinezen heinezen marked this pull request as ready for review August 5, 2023 15:24
@heinezen heinezen mentioned this pull request Aug 8, 2023
@heinezen heinezen added the kevin-rebuild-pl0x instruct kevin to rebuild this pull request label Aug 10, 2023
@SFTbot SFTbot removed the kevin-rebuild-pl0x instruct kevin to rebuild this pull request label Aug 10, 2023
README.md Outdated Show resolved Hide resolved
doc/code/architecture.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
doc/code/architecture.md Outdated Show resolved Hide resolved
doc/code/curves.md Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
@heinezen heinezen mentioned this pull request Sep 2, 2023
9 tasks
Copy link
Member

@TheJJ TheJJ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

basically ready

doc/code/event_system.md Show resolved Hide resolved
doc/code/event_system.md Outdated Show resolved Hide resolved
Comment on lines +160 to +163
Value types on continuous curves need to implement methods for the `operator*(..)` and
`operator-(..)` operations to support linear interpolation. In particular, `operator*(..)`
must support multiplication with `time::time_t` and `operator-(..)` must support
substraction for values of the same type.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good first issue :)


A *system* in openage is basically a function that operates on game entity
components. They are explicitely separated from game entity and component objects
to allow for more flexible implementation. In practice, systems are implemented as static
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not static, rather 'top level'? or "without a class, since we don't store any state in the system - the state is stored in the component, the system modifies the components"? but that's kinda covered in the next section.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are literally static methods in a C++ sense. That's what I wanted to get across. Conceptually, "top level" wouldn't fit either.

doc/code/optimization.md Outdated Show resolved Hide resolved
doc/code/testing.md Show resolved Hide resolved
doc/ideas/ai.md Show resolved Hide resolved
doc/ideas/ai.md Outdated Show resolved Hide resolved
libopenage/datastructure/tests.cpp Show resolved Hide resolved
libopenage/engine/engine.h Show resolved Hide resolved
@TheJJ TheJJ merged commit 28b4b5a into SFTtech:master Sep 5, 2023
8 of 13 checks passed
@heinezen heinezen deleted the gamestate-docs branch October 15, 2023 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Involves the project documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants