Internal development notes, very slightly cleaned up and commented a week later.
TL;DR: first batch of pre-made camps is being used, civ objects report their alignment, reputation can block construction.
- add pre-made civ camps to build (without baked gfx for now, still using debug folders)
Last week the surface generator implemented the ability to spawn civ camps and was tested with a few human camps. Now the initial work for the all the civ camps is done and they have been added to the planet surface generator. Here's some examples of the result:
- reputation model: add reputation amts required for different permissions (stages are solid but desc is just an idea) at war: civ wants to attack the station hostile: player is KOS and their planet structures are attacked neutral friendly: civ will visit the station as tourists allied: civ allows to extract resources in their vicinity on planets - add component for (some) camp entities to declare their civ hardcoded testing for now - add civ alignment and tentative hp to existing V2 and V3 objects use TSV (V2: carlos, V3: max) - properly "plant" camp buildings when doing random camps, instead of leaving them in editor mode impassable solution for floors make it even more visible the current object collection is unbundled and temporary - tsv reader in scheme promote some string tools in dynbuild.scm to system.scm fifth row is schema, data follows missing rows are ok missing cells are ok (yield missing keys in hashtables) reads into a list of hashtables - establish rules-like vars for planet objects in the default env to stop hardcoding cross-mod stuff - more optional metadata for objects remove hardcoded civ alignment and use from tsv metas use anim-duration instead of heuristic when available both for v2 and v3 objects - try randomize object animations so they dont sync on planet load
The reputation system is slowly taking shape and is now being taking into account for player constructions on planet surfaces. Enhancing the current debug/development system for adding new objects to V3, a "hints" file has been implemented, which can easily and in bulk describe special attributes for objects. For now it describes the civ aligment of objects, and their animation speed when required. It also has tentative support for
It has to be said that this object model for entities is completely optional. The engine does not impose any model, it just expects an entity and a collection of components. V3 will make use of a few different object models, and it is possible for mods to ignore all of them and use their own if desired.
- disallow construction near enemy objects - need better ui to communicate building restrictions allow can-build? to return string instead of bool (so === #t is valid, otherwise error) continuous display of text string in building cursor when not valid
Here's a first effect of the reputation system in action. The game won't allow the player to build objets too close to enemy objects on planet surfaces:
And even if they are built far away, they are still subject to the effects of attrition for being on an hostile planet. This will be fleshed out next week.