Storyteller Application

Mon, 03 Oct 2022 06:39:49 GMT

Name Value
Identifier storyteller-application
Name Storyteller Application
Type Topic
Creation timestamp Mon, 03 Oct 2022 06:39:49 GMT
Modification timestamp Wed, 28 Feb 2024 12:49:16 GMT

For storytelling purposes, an application allowing for a user to navigate between a collection of narrative events. Each event has an accompanying 3D environment with participants and items that can be interacted with. Interactions include displaying more information about the selected object, superimposing the selected object over the user's view of the real world (that is, Augmented Reality or AR), or visually outlining all of the objects in a 3D environment that have been tagged with a specific tag.

The semantic model developed for this purpose is loosely based on something that journalists will be very familiar with: the Five Ws. What that means is that the semantic model describes what is happening, when and where the event is taking place, who the event's participants are and why the event is taking place (which, in turn, is basically a collection of related prior events).

Events are recursive meaning that they can be described in terms of other events (that is, sub-events) making it possible to represent events in a very fine-grained manner. What's more, sub-events are to events, what events are to a narrative; they keep moving the narrative forward, each at their own level.

In addition, two types of connection between events are currently supported: the events-centric temporal connection and the spatial connection. The temporal connection establishes a cause-effect relationship between events while the spatial connection is used to establish a more physical from-to relationship.

2D PoC


  • aiotopicdb with Contextualise
  • Angular (v17+)
  • Phaser.js


  • Angular app with an isometric map component
  • Isometric tileset and accompanying (8x8) map
    • Animated tiles
    • Static tiles
    • The ability for a "player" to move on the map/grid
      • Nice to have: the player's visual representation should indicate the direction that it is traveling in
    • The ability to add tiles to the map/grid and remove them, as well
  • Tiles data structure including a topic identifier
  • Clicking on a tile retrieves the accompanying topic identifier which in turn is used to fetch information about the tile (i.e., a topic fetched from an aiotopicdb endpoint) and present it to the user
    • Map clicks (on tiles) must become an RxJS stream (of events)

Back to top