Files
Terrarum/GAME_SYSTEM.md
Song Minjae e3f0970a03 Copyright update 2017
Former-commit-id: 8c662c7cb637ae4565e95e661b0e627d9bfd7e5a
Former-commit-id: 4a5279b47f7c8f4fadb62ee6843b3848f803f433
2017-01-01 00:04:43 +09:00

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)