- Game Master: Wants to generate a ready-to-use space hulk for his gaming group.
- Advanced Game Master: Wants to customize the generated space hulk by adding a background story, a name and fitting to fit it to the needs of the gaming group.
- Maintainer: Wants to build up a database of good space hulks & provide the best UX with the solution.
flowchart TD
GM[Game Master] --uses--> GENERATE
GENERATE --extends to--o GENERATE_WITH_DESCRIPTION
subgraph GENERATE[Use Case: Generate Space Hulk]
Generate([Generate space hulk])
Generate -.contains.-> GenerateEvents([Generate events])
Generate -.contains.-> GenerateLayout([Generate layout])
end
subgraph GENERATE_WITH_DESCRIPTION[Use Case: Generate Space Hulk With Description]
GenerateWithDescription([Generate with description])
GenerateWithDescription -.contains.-> GenerateName([Generate name])
GenerateWithDescription -.contains.-> GenerateDescription([Generate background])
end
flowchart TD
GM[Game Master] --uses--> REVIEW
subgraph REVIEW[Use Case: Review Space Hulk]
Review([Review space hulk])
Review -.contains.->ReviewText([Review text])
Review -.contains.->ReviewGraphics([Review layout])
end
flowchart TD
GM[Game Master] --uses--> EXPORT
subgraph EXPORT[Use Case: Export Space Hulk]
Export([Export space hulk])
Export -.contains.-> CreateFile([Create file])
end
flowchart TD
GM[Game Master] --extends to--o AdvGM[Advanced Game Master] --uses--> MODIFY
subgraph MODIFY[Use Case: Modify Space Hulk]
Modify([Modiy space hulk])
Modify -.contains.-> ModifyEvents([Modify events])
Modify -.contains.-> ModifyLayout([Modify layout])
Modify -.contains.-> ModifyName([Modify name])
Modify -.contains.-> ModifyDescription([Modify background])
end
flowchart TD
GM[Game Master] --extends to--o AdvGM[Advanced Game Master] --uses--> IO
subgraph IO[Use Case: Store & Load Space Hulk]
Store([Store with id])
Load([Load with id])
end
Idea: Store "good" space hulks that have been exported by the users and either reuse them or, if the db is big enough, train an AI model to generate descriptions & names based on the existing ones.
flowchart TD
GM[Game Master] --uses--> GENERATE_WITH_DESCRIPTION
GENERATE_WITH_DESCRIPTION --extends to--o GENERATE_FROM_EXISTING --uses--> IO
subgraph IO[Use Case: Store/Load Space Hulk]
end
subgraph GENERATE_WITH_DESCRIPTION[Use Case: Generate Space Hulk With Description]
end
subgraph GENERATE_FROM_EXISTING[Use Case: Generate Space Hulk From Existing Data]
GenerateFromExisting([Generate from existing data])
end
flowchart TD
Maintainer --uses--> LOG_UX
subgraph LOG_UX[Use Case: Log User Actions for UX Optimization]
LogUX([Log user actions])
LogUX -.contains.-> LogGenerate([Log space hulk re-/generation])
LogUX -.contains.-> LogExport([Log space hulk export])
end