mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
1.3 KiB
1.3 KiB
The extension of THE_ENGINE.md
The game has elements that are:
- Actors
- Controller
- AI
- JInput (Provided by LWJGL)
- Factioning
- Scheduler
- Physics solver (simple, AABB-oriented)
- TODO: sprite assembler (character--avatar--maker)
- Controller
- Imagefont
- Font drawer
- Hangul character assembler (aka JOHAB)
- Font drawer
- Sprite animator (really simple one)
- De/serialiser
- Concurrency helper (really simple one)
- Tiles
- Tile property database
- Items
- Item property database
- TODO: Material system
- Item property database
- Map drawer
- Map camera
- Map drawer
- Lightmap renderer
- Map generator
- Utilises Joise Modular Noise Generator
- Additional noise filters
- Real estate
- The registry (a book that records the current owner of tiles on the map. Owner can be a single NPC or faction)
- Utility
- Internationalisation
- Language pack
The elements are connected like:
- Actors
- Controller ← AI, Player Input
- AI ← Factioning, Scheduler
- class "Actor"
- class "ActorWithBody"
with properties like (AIControlled, Factionable, Luminous, Visible, etc.)
- class "NPCIntelligentBase"
- (NPCs that has AI and can be interacted)
- (fixtures, player)
- class "NPCIntelligentBase"
- (any of the invisible actors)
- class "ActorWithBody"
with properties like (AIControlled, Factionable, Luminous, Visible, etc.)