14. Asset Classification And Production Architecture
- Template
- Reference
- Status
- Canon
1. Content
How Project Schwarzwald classifies, specifies and consumes its assets: the Fundamental Asset Library, the two classification dimensions, the Godot asset management plugin, the responsibilities of Blender and Godot, and contract-driven production.
Status: adopted asset production philosophy.
1.1 Fundamental Asset Library
Project Schwarzwald adopts a Fundamental Asset Library as the foundation of its environment production pipeline.
Each major environment, such as the Patagonia Mansion, must have a predefined inventory of fundamental assets. This inventory represents the minimum complete set of assets required to construct, populate, and ship that environment at its intended artistic quality.
Completing the fundamental inventory must be sufficient to finish the environment without requiring additional assets.
This does not mean the inventory is immutable. New assets may be introduced during development when they improve environmental variety, authenticity, or artistic quality. However, once the fundamental inventory is complete, these additions should be considered enhancements rather than prerequisites.
The objective is to replace subjective judgments about asset completeness with explicit, measurable production requirements.
1.2 Asset Classification
Every asset is classified along two independent dimensions.
1.2.1 Asset Category
Modular Assets
Architectural components used to construct environments, including walls, floors, ceilings, doors, windows, staircases, structural details, and decorative architectural elements.
Prop Assets
Objects used to furnish, populate, and characterize environments, including furniture, lighting fixtures, books, paintings, electronic devices, machinery, decorations, and interactive objects.
Character Assets
Characters and other autonomous entities requiring character-specific representations, potentially including skeletons, animations, and behavioral systems.
1.2.2 Asset Consumption Type
Static Assets
Assets designed to be consumed in a predefined visual configuration. Their geometry, arrangement, and visual identity are established beforehand.
A book with a specific cover, title, and appearance is an example of a static asset.
Static does not necessarily mean immovable or non-interactive.
Dynamic Assets
Assets designed to produce multiple visual configurations through parameters, procedural composition, or geometry generation.
A dynamic bookshelf, for example, may generate different arrangements of books, including upright books, horizontal stacks, open books, inclined books, empty spaces, and decorative objects.
Dynamic assets are not limited to superficial changes such as colors, textures, or scale. They may support substantial structural and compositional variation.
Dynamic does not necessarily mean animated or physically moving.
1.3 Godot Asset Management Plugin
All assets must be consumed through a centralized Godot plugin governed by explicit contracts.
The plugin serves as the standardized interface between the asset library and the game.
Each asset declares its category, consumption type, resource dependencies, and relevant configuration.
For static assets, the plugin loads the predefined representation.
For dynamic assets, the plugin invokes the corresponding generator or implementation responsible for interpreting parameters and constructing the final representation.
The plugin should not contain asset-specific procedural rules. Instead, it provides the common infrastructure through which individual asset implementations are discovered, validated, instantiated, and configured.
1.4 Blender and Godot Responsibilities
Blender is primarily responsible for authoring source geometry and reusable components.
For dynamic assets, Blender may provide individual geometric elements, alternative configurations, rigged components, or other resources required by the procedural system.
Godot is responsible for consuming those resources and assembling or generating the final asset representation according to its contract.
Dynamic implementations may use component instantiation, procedural arrangement, material configuration, animation, or direct mesh generation.
The intended result is a production system capable of creating substantial environmental diversity without requiring a separately authored 3D model for every possible configuration.
1.5 Contract-Driven Production
Every asset must have an explicit specification defining its intended function, required resources, implementation requirements, configurable parameters where applicable, and acceptance criteria.
Assets should be automatically validated against their contracts before being accepted into the Fundamental Asset Library.
The system must distinguish between an asset that merely exists and an asset that is sufficiently implemented to satisfy its production requirements.
Core principle: The Fundamental Asset Library defines what must exist; asset contracts define what each asset must provide; the Godot plugin defines how those assets are consumed.