mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
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)_
|
|
- Imagefont
|
|
- Font drawer
|
|
- Hangul character assembler (aka JOHAB)
|
|
- Sprite animator (really simple one)
|
|
- De/serialiser
|
|
- Concurrency helper (really simple one)
|
|
- Tiles
|
|
- Tile property database
|
|
- Items
|
|
- Item property database
|
|
- _TODO: Material system_
|
|
- 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)
|
|
- (any of the invisible actors)
|
|
|
|
|